目录
2.3.2 springCloud和springBoot版本对应
1、概念
微服务通俗地讲:就是把传统的单体建构的业务系统打散为更加细粒的单位,每个单位都可以独立开发、部署、测试、运行以及独立的自治。
2、微服务示意图
2.3.1 springCloud常用组件表
服务注册和发现(eureka)
服务的负载均衡(ribbon)
服务的调用(openFeign)
服务的容错(hystrix)
服务的网关(gateway)
服务配置的统一管理(config-server)
服务消息总栈(bus)
服务安全组件(security)
服务监控(admin)
链路追踪(sleuth+zipkin)
2.3.2 springCloud和springBoot版本对应
网址:https://github.com/alibaba/spring-cloud-alibaba/wiki
注:以后的测试版本springCloud(Hoxton.SR12)和springBoot(2.3.12 RELEASE)
3、CAP原则
在一个分布式系统中:
一致性(Consistency):在集群中,数据是一致的。
可用性(Availability):当有一个节点挂掉,整个集群可以继续对外提供服务。
分区容错(Partition tolerance)(这个特性是不可避免的):不同分区下,会导致各个数 据库中数据短暂不一致。
这三个要素最多实现只能同时实现两点。
CP 数据是一致的,如果有个节点挂了,整个服务几分钟的时间不能提供服务。
AP 数据可能是不一致的。
eureka遵循的是AP。
zookeeper遵循的是CP。
4、分布式数据一致性协议(集群)
Paxos协议和raft协议
演示地址:http://thesecretlivesofdata.com/raft/
主从模式(哨兵机制,当主机挂掉时,剩下从机通过投票竞选主机)。
当主机写入数据时(日志复制):
1、当集群中的大部分节点都做出响应时(通知)。
2、从机写入1(确认)。