微服务组件

 

 

前言

微服务架构各组件功能和实现机制

 

一、注册中心(service registry)

  1. 微服务架构核心组件,起到服务节点的注册和状态维护的功能
  2. 通常采用心跳机制 最大程度保证其持有的服务节点列表都是可用的

二、负载均衡器(load balance)

  1. 服务发现

    1. 通过服务名在注册中心查询该服务拥有哪些可用节点,然后注册中心返回可用节点列表给服务调用者
  2. 服务调用

    1. 服务调用者内置负载均衡器,根据负载均衡策略,选择可用节点列表中的服务进行服务调用

三、服务通信(Communication)

采用轻量级通信协议,通常是 HTTP RESTFUL风格

  1. Feign 和 Restemplate 实现RestFul风格接口,并且进行封装约束

四、服务网关(Api Gateway)

服务网关是外部环境访问内部微服务的唯一途径

  1. 用户认证与授权
  2. 容错限流(针对ip访问,在高并发情况下,网关通过限流达到自我保护。在规定时间内,限制访问次数,超出次数抛出异常,进行限流。)
  3. 动态路由(@RefreshScope  热部署,刷新会销毁bean,重新生成bean)@RefreshScope详解
  4. A/B测试(在线对照试验)
  5. 灰度发布 (能够平滑过渡的一种发布方式。在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来)基于nacos和springcloud gateway实现灰度发布

五、服务网关(Config Management)

从服务中抽离,统一配置中心通过ui界面管理

六、集中式日志管理(Centralized Logging)

微服务架构默认是将应用日志分散保存在每个节点,

通过独立搭建的日志收集系统(ELK,EFK)定时抓取增量日志形成有效的统计报表,对决策提供给数据支撑

微服务组件_第1张图片

 

 七、分布式链路追踪(Distributed Tracing)

复杂业务流涉及多个微服务,需要记录完整业务逻辑设计的每个微服务运行状态,在通过可视化链路图展现,分析出错原因

八、服务保护(Service Protection)

在服务出现高延迟时可能导致线程池满载,严重时系统崩溃,需要引入服务保护组件实现高延迟服务的快速降级  (histrix)

 

总结

你可能感兴趣的:(SpringCloud,微服务,spring)