- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
深度剖析微服务架构的九大特征.pdf
●文 /图 米沃奇
微服务架构这个术语在过去几年渐成热门,它 门类、功能和命名空间。出于某种原因,你能够在开
把一种特定的软件应用的设计方法描述为能够独立 发者的电脑上运行和测试应用,使用部署管道来确
部署的服务的套件。尽管缺乏对这一架构类型的准确 保各种修改被正确地测试并部署到生产中。借助负载
定义,但是在业务能力、自动化部署、智能端点、语言 均衡器,你能够通过运行更多实例来横向扩展这一巨
和数据的去中心化控制等方面,已经形成了某些普遍 型应用。
特征。 一 体化应用获得了成功,但是渐渐地,随着更
微服务,另一个在软件架构领域津津乐道的新 多的应用被部署到云平台,人们的挫败感渐增。更新
词。尽管我们本能上倾向于对它不屑一顾,然而这一 周期被紧紧绑定——即便是应用中一个很小部分的
专业术语描述了一种目前越来越吸引人的软件系统 改变,也需要整个应用的重构和部署。随着时间推
的风格。我们已经看到近年来有许多项 目使用了此类 移,保持一个良好的模块化架构也 日益困难,牵一发
型,结果很鼓舞人心,这也就成为他们构建企业级应 而动全身。一旦要进行扩展,就必须整体扩展,而不
用时候的首选。然而,当前并没有很多信息来描述什 能仅仅扩展其中到一部分模块,也就需要更多的资
画画
么是微服务,以及如何使用它。 源 。
简而言之,微服务架构把一个应用作为一套微 cl=lI帅阴cr咖栅codu圃_—JlIL--_u
服务来开发,这些微服务能运行 自己的进程,采用 细哺脚 ∞oj 雠 H一=l1 一 一 。
画
HTTPResourceAPI这样的轻量级机制进行通信。这
dc 5坤幽 咖 c Ⅲ
些微服务围绕着业务能力构建,能够通过完全自动化 B m 删 蚍 增 mmc“
的部署体系独立部署。这些服务仅有最低限度的中心
化管理,用不同的编程语言写成,使用不同的数据存
储技术。 画画
要说明微服务,与一体化应用做比较能有助于
理解:一体化应用是被当作一个单元来构建的。企
业级应用的构建通常包括三部分:客户端用户界面 一画 圃
(由HTML页面和运行在用户机器上的浏览器里的 这种情况最后进化为微服务架构:把应用作为
javaseript构成)、数据库(由各种表格构成,这些表格 一 组服务来构建。这些服务能够独立部署和扩展,每
被插入到一个通用的关系数据库管理系统里),以及 个服务提供一个坚实的模型边界,甚至可以用不同的
服务器端应用。服务器端应用处理 HTTP请求,执行 程序语言来写这些服务。当然他们也能被不同的团队
域名逻辑、从数据库提取并更新数据,以及选择并填 来管理。我们无意鼓吹微服务是新事物或者具有创
充要被发送到浏览器的HTML视图。这个服务器端 新性,它植根于Unix的设计主旨。不过我们相信并没
应用就是个庞然大物——逻辑单一、可执行。系统有 有很多人思考过微服务架构;如果许多软件开发使用
任何修改,都需要重新构建并部署新版本的服务器端 了微服务,那它们的境况就会更好。
应用。 我们不能给微服务架构下准确的定义,但是我 妻
文档评论(0)