前言
看这篇文章之前,请阅读
https://blog.youkuaiyun.com/dtttyc/article/details/88807094
设置Eureka的info信息
设置info信息主要是查看,注册到Eureka的服务的具体信息是什么,在服务提供者配置
info:
app.name: atguigu-microserviceccloud
company.name: www.atguigu.com
build.artifactId: $project.artifactId$
build.version: $project.version$
Eureka自我保护机制
Eureka自我保护机制指的是当Eureka服务端发现没有服务的时候,或者检测不到心跳的时候微服务不健康,或者已经宕机,不会把该节点丢弃,反而会保存起来, 当下次恢复的时候可以继续使用, 提高了高可用机制
如果进制自我保护机制
Eureka.server.enable-self-preservation=fasle
Eureka服务自我发现
提供者把服务注册到Eureka服务端,当然得有服务消费和发现
//在springbootapplication ,启动方法上
@EnableDiscoveryClient // 服务发现
@Autowired
private DiscoveryClient client;
//List里面存储的就是所有的注册到Eureka的服务
List<String> list = client.getServices();
Eureka集群配置
集群保证的是高可用,当一台挂了之后,就可以切换到另一台
- 更改域名
eureka:
instance:
hostname: eureka7001.com
# hostname: localhost #eureka服务端的实例名称
- 更改为集群模式,各个节点都可以互相访问
service-url:
defaultZone: http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/
# defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ # 设置与Eureka server交互的地址查询和注册服务注册都需要这个地址
- 提供者更改,提供者也是可以访问集群的各个节点,如果有有一台挂了则切换到另一台
eureka:
client: #客户端注册进eureka服务端列表内
service-url:
defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/
Zookeeper与Eureka区别
区别就是: zookeeper使用的是CP, Eureka使用的是AP,Eureka在zookeeper的基础之上改良了zookeeper的确点
- zookeeper有选举机制,但是在选举的这段时间之内是不可以访问
- Eureka没有选举机制,如果一台挂了,切换到另一台, 注册和查询的时候也一样
- zookeeper可能导致整个注册服务瘫痪,但是Eureka不会.
什么是CAS?
- 一致性
- 高可用
- 容错性
Consistency 强一致性 Availability 高可用性 Partition tolerance 分区容错性
对于任何一个分布式系统都必须有的是容错性,因为数据传输的时候有网络延迟,阻塞,其他情况,所以我们必须容错性
对于CAS来说必须3者一定要符合两个条件.所以就是CP和AP