图 1:微服务的蜂窝表示 – 微服务访谈问题
成都创新互联-专业网站定制、快速模板网站建设、高性价比抚顺网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式抚顺网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖抚顺地区。费用合理售后完善,10多年实体公司更值得信赖。
请参考上图。这里,每个六边形形状代表单独的服务组件。与蜜蜂的工作类似,每个敏捷团队都使用可用的框架和所选的技术堆栈构建单独的服务组件。就像在蜂箱中一样,每个服务组件形成一个强大的微服务架构,以提供更好的可扩展性。此外,敏捷团队可以单独处理每个服务组件的问题,而对整个应用程序没有影响或影响最小。
优势 |
说明 |
独立开发 |
所有微服务都可以根据各自的功能轻松开发 |
独立部署 |
根据他们所提供的服务,可以在任何应用中单独部署 |
故障隔离 |
即使应用中的一个服务不起作用,系统仍然继续运行 |
混合技术栈 |
可以用不同的语言和技术来构建同一应用程序的不同服务 |
粒度缩放 |
各个组件可根据需要进行扩展,无需将所有组件融合到一起 |
以下是设计微服务的最佳实践:
图 6:设计微服务的最佳实践 – 微服务访谈问题
微服务架构具有以下组件:
微服务架构的优点 |
微服务架构的缺点 |
自由使用不同的技术 |
增加故障排除挑战 |
每个微服务都侧重于单一功能 |
由于远程呼叫而增加延迟 |
支持单个可部署单元 |
增加了配置和其他操作的工作量 |
允许经常发布软件 |
难以保持交易安全 |
确保每项服务的安全性 |
艰难地跨越各种便捷跟踪数据 |
多个服务是并行开发和部署的 |
难以在服务之间进行编码 |
开发一些较小的微服务听起来很容易,但开发它们时经常遇到的挑战如下。
SOA |
微服务 |
遵循“尽可能多的共享”架构方法 |
遵循“尽可能少分享”架构方法 |
重要性在于“业务功能”重用 |
重要性在于“有界背景”的概念 |
它们有共同的治理和标准 |
它们专注于人们的合作和其他选择的自由 |
使用企业服务总线(ESB)进行通信 |
简单的消息系统 |
它们支持多种消息协议 |
它们使用轻量级协议,如 HTTP/REST 等 |
多线程,有跟多的开销来处理 I/O |
单线程,通常使用 Event Loop 功能进行非 锁定 I/O 处理 |
最大化应用程序服务可重用性 |
专注于解耦 |
传统的关系数据库更常用 |
现代关系数据库更常用 |
系统的变化需要修改整体 |
系统的变化是创造一种新的服务 |
DevOps/Continuous Delivery 正在变得流 行,但还不是主流 |
专注于 DevOps/持续交付 |
您可以列出微服务的特征,如下所示:
图 7:微服务的特征 – 微服务访谈问题
图 8: DDD 原理 – 微服务面试问题
图 9:我们需要 DDD 的因素 – 微服务面试问题
如果您必须定义泛在语言(UL),那么它是特定域的开发人员和用户使用的通 用语言,通过该语言可以轻松解释域。无处不在的语言必须非常清晰,以便它将所有团队成员放在同一页面上,并以 机器可以理解的方式进行翻译。
模块内部元素所属的程度被认为是凝聚力。
组件之间依赖关系强度的度量被认为是耦合。一个好的设计总是被认为具有高内聚力和低耦合性。
Representational State Transfer(REST)/ RESTful Web服务是一种帮助计 算机系统通过 Internet 进行通信的架构风格。这使得微服务更容易理解和实 现。
微服务可以使用或不使用 RESTful API 实现,但使用 RESTful API 构建松散 耦合的微服务总是更容易。
在使用微服务时,由于有多个微服务协同工作,测试变得非常复杂。因此,测试分为不同的级别。
在底层,我们有面向技术的测试,如单元测试和性能测试。这些是完全自 动化的。
在中间层面,我们进行了诸如压力测试和可用性测试之类的探索性测试。
在顶层, 我们的验收测试数量很少。这些验收测试有助于利益相关者理解和验证软件功能。
当前文章:深入浅出带你了解微服务架构如何运作?
分享网址:http://www.mswzjz.cn/qtweb/news21/140571.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能