微服务架构理解

1.微服务的定义

微服务是一种软件 架构风格 或 架构模式。

特征:

1.提倡将单一应用分割成若干小的独立服务,每个服务运行在自己独立的进程中,完全隔离能独立部署,可以使用不同的技术栈。
2.服务与服务之间使用 轻量级的信息通信机制进行沟通(通常是Rest api) 进行通信。
3.服务之间相互协调,相互配合,对外成为一个整体对用户提供最终价值服务。
微服务

优势:

1.服务与服务之间是独立的,完全解耦 ,有利于开发维护。
例如:每个开发团队仅仅只需关心自己所开发的模块,不必考虑别的模块使用的的技术栈,实现细节等。
2. 伸缩性强 可实现细粒度的扩展。
例如:针对系统的瓶颈进行横向扩展,对于电商系统瞬间的流量增大可以选择增加订单处理微服务的个数来提升整个系统的性能,而不需要关注地址管理,用户信息变更等模块。对于不同类型的服务比如IO密集型,计算密集型可以选择不同硬件的服务器进行部署。

劣势:

1.分布式固有的复杂性,运维要求高。
2.代码复用率降低,存在很多 重复劳动

微服务设计原则

1.单一责任原则
2.服务自治原则
3.轻量级通信机制

2.服务注册中心的理解

服务注册中心的作用

  • 1服务注册: 服务单元向服务注册中心登记自己提供的服务,将主机与端口号、版本号、通信协议等一些附加信息告知注册中心,注册中心按服务名分类组织服务清单。注册中心还需要以心跳的方式去监测清单中的服务是否可用,若不可用需要从服务清单中剔除,达到排除故障服务的效果。(维护一份可用服务清单)
  • 2.服务发现: 调用方需要向服务注册中心咨询服务,并获取所有服务的实例清单,以实现对具体服务实例的访问。服务间的调用不再通过指定具体的实例地址来实现,而是通过向服务名发起请求调用实现。
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_15724113/article/details/86511568