微服务原理图

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/m0_37822534/article/details/93463824

1.微服务架构的组件

  1. 服务注册中心(Service Registry):注册系统所有服务的地方。
  2. 服务注册:服务提供方(比如订单服务)将自己的地址注册到服务注册中心,让服务调用方能够方便地找到自己。
  3. 服务发现:服务调用方(客户端)从服务注册中心找到自己需要调用服务的地址。
  4. 服务网关(API Gateway):也称为API网关,是服务调用的唯一入口(用户访问从这里进),可以在这个组件中实现用户鉴权、动态路由、灰度发布、负载限流等功能。
  5. 负载均衡:服务提供方一般以多实例的形式提供服务,使用负载均衡能够让服务调用方法接到合适的节点(每个服务都是一个项目,比如我把那个订单服务做Nginx反向代理负载均衡,这里没有画上去)
  6. 服务容错:通过断路器(也称断容器)等一系列的服务保护机制,保护服务调用者在调用异常服务时能快速地返回结果,避免大量的同步等待。(这个在API Gateway到每个微服务的连接中设置)
  7. 分布式配置中心:将本地化的配置信息(properties、yml、yaml等) 注册到配置中心,实现程序包在开发、测试、生产环境的无差别性,方便程序包的迁移。
  8. 等等组件(以上基本够用)… 

部署运行过程:
  部署了一系列的微服务,每个微服务都会访问自己的数据库。这些微服务启动时,会将其信息注册到服务注册中心,在客户端发送请求时,请求首先被API网关拦截,API网关会读取请求数据,并从注册中心获取对应的服务信息,然后API网关会更具服务信息调研所需的微服务。

 微服务的技术选型

  1. 微服务实例的开发:常用Spring Boot
  2. 服务的注册与发现:Spring Cloud Eureka、Apache Zookeeper、Dubbo
  3. 负载均衡:Spring Cloud Ribbon、Dubbo
  4. 服务容错:Spring Cloud Hystrix
  5. API网关:Spring Cloud Zuul、Spring Reactor、Nettry或者NodeJS
  6. 分布式配置中心:Spring Cloud Config
  7. 调试:swagger
  8. 部署:Jenkins+Docker
     

猜你喜欢

转载自blog.csdn.net/m0_37822534/article/details/93463824
今日推荐