微服务所需组件(大部分是Spring Cloud,持续更新)

服务发现 | 服务治理 | 注册中心

将所有微服务注册到一个Server上,然后通过心跳进行服务健康监测。这样服务A调用服务B可以通过注册中心获取服务B的地址、端口调用

  • Eureka - Eureka 提供云端服务发现,一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移
  • Spring Cloud Zookeeper - Spring Cloud Zookeeper 操作Zookeeper的工具包,用于使用zookeeper方式的服务发现和配置管理
  • Consul - Consul 是一个服务发现与配置工具,与Docker容器可以无缝集成

服务调用

HTTP 客户端

  • restTemplate - Spring Web RestTemplate 是同步客户端执行HTTP请求,在底层HTTP客户端库上公开简单的模板方法API,类使于JDK HttpURLConnection、Feign等
  • Feign - Feign 使Java编写HTTP客户端更加简单

restTemplate和Feign都可以配合Ribbon提供负载均衡

负载均衡

  • Ribbon - Ribbon 提供云端负载均衡,有多种负载均衡策略可供选择

熔断器

  • Hystrix - Hystrix 旨在通过熔断机制控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。

路由网关

  • Gateway - Spring Cloud Gateway 旨在提供一种简单而有效的方式来路由到API,并为他们提供横切关注点
  • Zuul - Zuul 是在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架

路由网关接受所有的请求,,有着很高的负载,因此它通常是一个集群。所有的请求都hui先经过一层负载均衡被发到路由网关

配置管理

  • Spring Cloud Config - Spring Cloud Config 配置管理工具包,让你可以把配置放到远程服务器,集中化管理集群配置,目前支持本地存储、Git以及Subversion

事件、消息总线

  • Spring Cloud Bus - Spring Cloud Bus 事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与Spring Cloud Config联合实现热部署

问题定位 | 链路跟踪

  • Spring Cloud Sleuth - Spring Cloud Sleuth 日志收集工具包,封装了Dapper和log-based追踪以及Zipkin和HTrace操作,为SpringCloud应用实现了一种分布式追踪解决方案

相关推荐