服务化的核心就是将传统的一站式应用根据业务拆分成一个一个的服务,而微服务在这个基础上要更彻底地去耦合,并且强调DevOps和快速演化。
下面介绍下重点介绍下springcloud组成
Spring Cloud共集成了19个子项目,里面都包含一个或者多个第三方的组件或者框架!
下面介绍下我们常用的系统架构
对于微服务的治理而言,核心就是服务的注册和发现。在Spring Cloud 中提供了多种服务注册与发现组件:Eureka,Consul,Zookeeper。官方推荐使用Eureka
Ribbon是Netflix发布的开源项目,主要功能是为REST客户端实现负载均衡。
Spring Cloud为Feign增加了对Spring MVC注解的支持,还整合了Ribbon和Eureka来提供均衡负载的HTTP客户端实现。Feign也用到ribbon,当你使用@ FeignClient,ribbon自动被应用。 原理:
Spring Cloud Sleuth为Spring Cloud实现分布式跟踪解决方案。其兼容了Zipkin, HTrace和log-based追踪 利用Spring Cloud Sleuth来和Zipkin进行集成。Spring Cloud Sleuth是对Zipkin的一个封装,对于Span、Trace等信息的生成、接入HTTP Request,以及向Zipkin Server发送采集信息等全部自动完成。zipkin的存储方式有多种,默认是保存在内存中,但是其不能持久保存,容器重启等一些其他情况可能导致数据的丢失 Spring Cloud Sleuth 提供了两种追踪信息收集的方式,一种是通过 http 的方式,一种是通过 异步消息 的方式