当前位置: 首页 > 科技观察

微服务和分布式有什么区别?有什么特点?

时间:2023-03-20 10:07:23 科技观察

微服务和分布式有什么区别?有什么特点?微服务设计是为了防止现有系统业务因为某个模块的升级和BUG而受到影响。微服务与分布式的细微差别在于,微服务的应用不一定分散在多台服务器上,也可以是同一台服务器。分布式属于微服务,将模块拆分成独立的服务单元,通过接口实现数据交互。分布式和微服务的架构非常相似,只是部署方式不同。什么是微服务?微服务架构是团队面对互联网产品爆发式增长的最佳选择。需要解决快速迭代、高可靠、高可用等问题,将高复杂度的产品拆分成更小的产品。模块,并遵循康威定律,每个模块由5-9个小团队维护,可以降低沟通成本,提高协作效率,更好的实现快速迭代和弹性扩展。微服务架构的改造引入了各种复杂性,如部署工作量增加、复杂链路的监控问题等。这是为了微服务而微服务,得不偿失。在实现的过程中,我们不能简单的使用某些微服务框架或组件一蹴而就,而是需要将业务、技术和运维有机结合起来,配合同步实现,过程中需要经历很多坑.能够成功。复杂的业务拆分不一定一步到位,因为复杂,不一定每个业务都拆分成一个组件,一个庞大的业务拆分成相对独立的庞大业务,但如果业务小而多,并且类型相似度也可以不着急拆分。以网易考拉为例,项目数量从最初的7个到后来的150+再到现在的400+,都是根据实际情况来确定的。中间态可能不是严格意义上的微服务架构,而是属于分布式服务架构——不过这个不是那么重要,重要的是满足业务发展阶段的需求。在医院急诊科,既有发热,也有胃痛。虽然分工不是那么精确,但也不能说是错的。什么是分布式?对于分布式架构,我们根据设计阶段的架构思想和运行阶段的不同结构,将其分为面向服务架构、分布式服务架构和微服务架构。1、面向服务的架构:从业务服务和服务总线(通常是WebService和ESB)的角度考虑系统架构和企业IT治理;2、分布式服务架构:基于去中心化的分布式服务框架和技术,考虑系统架构和服务治理;3.微服务架构:微服务架构可以看作是面向服务架构和分布式服务架构的扩展,使用更细粒度的服务和一套设计指南来考虑大规模复杂系统的架构设计。传统企业集成领域的EAI架构模型仍然是各个系统独立部署,但是系统之间的一些服务已经通过特定的技术打通了,所以我们可以把它看成是单体和分布式之间的一种过渡状态。分布式服务架构与微服务架构概念的区别与联系:分布式:分布式压力。微服务:去中心化的能力。分布式:不同的模块部署在不同的服务器上;功能:分布式,解决网站高并发带来的问题;集群:同一个服务;多台服务器部署同一个应用,形成集群;功能:通过负载均衡设备对外提供服务;SOA【组装服务/ESB企业服务总线】;将业务系统分解为多个组件,使每个组件能够独立提供离散、自治、可复用的服务能力;通过服务组合和编排实现上层业务流程;作用:简化维护,降低整体风险,灵活扩展;微服务【查找服务/微服务网关开放API】;架构设计理念,服务之间隔离(分布式也是隔离)、自治(分布式依赖整体组合)等特性(单一职责、边界、异步通信、独立部署)是分布式理念的严格贯彻;从SOA到微服务架构的演进过程;功能:各服务可独立应用,组合服务也可系统应用。