一、SpringCloud简介:
Gitee地址 SpringCloud就是为了完成微服务开发的,其中有很多组件需要学习
初识SpringCloud
(1)、微服务框架
微服务是系统架构上的一种设计风格,它的主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间一般通过HTTP的RestFul API进行通信写作。
被拆分成的每一个小型服务都围绕着系统中的某一项或些耦合度较高的业务功能进行构建,并且每个服务都维护着白身的数据存储、业务开发自动化测试案例以及独立部署机制。
由于有了轻量级的通信协作基础,所以这些微服务可以使用不同的语言来编写。
(2)、走进SpringCloud
什么是SpringCloud?
- Spring Cloud 是一系列框架的有序集合。
- Spring Cloud 并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来。
- 通过 Spring Boot 风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。
- 它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、 断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。
SpringCloud的命名方式有点奇特为啥呢?
Spring Cloud 版本命名方式采用了伦敦地铁站的名称,同时根据字母表的顺序来对应版本时间顺序,•最早的Release版本:Angel,第二个Release版本:Brixton,然后是Camden、Dalston、Edgware,Finchley,Greenwich,Hoxton。
(3)、SpringCloud与Dubbo对比
- Spring Cloud 与 Dubbo 都是实现微服务有效的工具。
- Dubbo 只是实现了服务治理,而 Spring Cloud 子项目分别覆盖了微服务架构下的众多部件。
- Dubbo 使用 RPC 通讯协议,Spring Cloud 使用 RESTful 完成通信,Dubbo 效率略高于 Spring Cloud。RPC协议(socker)比较偏底层,比HTTP要底层一下,所以速度快。
总结:
- 微服务就是将项目的各个模块拆分为可独立运行、部署、测试的架构设计风格。
- Spring 公司将其他公司中微服务架构常用的组件整合起来,并使用 SpringBoot 简化其开发、配置。称为 Spring Cloud
- Spring Cloud 与 Dubbo都是实现微服务有效的工具。Dubbo 性能更好,而 Spring Cloud 功能更全面。
二、Eureka
Eureka服务治理Eureka的全部配置
三、Consul
Consul服务治理
四、Naco
Naco服务治理
五、Ribbon
Ribbon客户端负载均衡
六、Feign
Feign远程调用
七、Hystrix
Hystrix熔断器
八、Gateway
Gateway API网关
九、config
config分布式配置中心
十、bus
bus消息总线
十一、stream
stream消息驱动
十二、Sleuth+Zipkin
Sleuth+Zipkin链路跟踪