微服务架构的特点_微服务架构适用场景

电子说

1.3w人已加入

描述

  微服务架构的特点

  微服务架构是一项在云中部署应用和服务的新技术。

  架构特征如下:

  1)组件以服务形式来提供

  微服务是面向服务的

  2)围绕业务功能进行组织

  微服务更倾向于围绕业务功能对服务结构进行划分、拆解。这样的服务是针对业务领域有着完整实现的软件,

  它包含使用接口、持久存储以及对应的交互。因此团队应该是跨职能的,包含完整的开发技术--用户体验、数据库和项目管理。

  3)产品不是项目

  传统的开发模式致力于提供一些被认为是完整的软件,一旦开发完成,软件将移交给维护或实施部门,然后开发组就可以解散了。

  而微服务要求开发团队对软件产品的整个生命周期负责。这要求开发者每天都要关注软件产品的运行情况,并与用户联系的更紧密,

  同时承担一些售后服务支持。越小的服务粒度越容易促进用户与服务提供商之间的关系。

  4)强化终端与弱化通道

  微服务的应用致力于松耦合和高内聚,它们更喜欢简单的REST风格,而不是复杂的协议(例如BPEL或集中式框架)。要么采用轻量级

  消息总线(如RabbitMQ)来发布消息。

  5)分散治理

  跟传统的集中式管理有很大区别,微服务把整体式框架中的组件分拆成不同的服务,在构建时将会有更多的选择。

  6)分散数据管理

  当整体式的应用使用单一逻辑数据库对数据进行持久化时,企业通常会选择在应用的范围内使用一个数据库。微服务让每个服务管理

  自己的数据库。

  7)基础设施自动化

  云计算特别是AWS的发展减少了构建、发布和运维微服务的复杂性。微服务的团队更加依赖于基础设施的自动化,毕竟发布工作相当无趣。

  8)容错性设计

  任务服务都可能因为供应商的不可靠而出现故障,微服务应为每个应用的服务和数据中心提供日常的故障检测和修复。

  9)改进设计

  由于设计会不断更改,微服务所提供的服务应该能够替换,而不是长久的发展。

  微服务架构适用场景

  随着互联网的高速发展,微服务现在已经成了热门话题,我们今天就来聊聊微服务架构的使用场景,在之前,我们先讲讲单体架构,单体架构就是我们最传统的项目前端代码和后端代码耦合在一起。

  单体架构的适用场景

  业务场景简单,功能不复杂,研发人员较少。

  公司处于创业初期:为了生存,需要的是快速开发出功能,然后到市场上试错。

  性能要求及其苛刻:一些对性能要求比较高的系统,例如股票软件。

  需求比较稳定的系统也不适合做成微服务,例如:公司内部OA,考勤系统等。

  微服务的使用场景

  需求层面:

  公司发展到一定规模,需求变化频繁,并且研发团队达到10人左右

  性能层面:

  对响应时间要求不苛刻的系统,比如:电商系统

  数据一致性层面:

  尽量避免分布式事务问题,对数据一致性不太高可保证最终一致性

  微服务的目的

  项目快速迭代

  项目持续交付
责任编辑:YYX

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分