一.Spring Cloud Eureka和Zookeeper的区别?

CAP定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。
CAP原则的精髓之处就是要么AP,要么AC,要么CP,但是不存在CAP。
Zk注重数据的一致性
Eureka不是很注重数据的一致性
A服务的可用性(若zk集群里面的master挂了怎么办)
在zk里面,若主机挂了,则zk集群整体不在对外提供服务,需要选一个新的出来(120s)才能继续对外服务
eureka注重服务的可用性,当Eureka集群中只要有一台活着,它就能对外提供服务
Zookeeper 注重数据的一致性,CP
Eureka 注重服务的可用性 AP
二.Spring Cloud Eureka快速入门

2.1搭建Eureka-Server

2.2选择依赖


2.3修改配置文件
server:
port: 8080
spring:
application:
name: eureka-server
2.4添加注解

2.5启动测试
注册中心搭建完毕(Eureka-Server 不仅提供让别人注册的功能,它也能 注册到别人里面)

观察源码发现,eureka默认的配置会向8761 的注册中心注册自己。

三.搭建Eureka-Client
3.1 创建客户端a

3.2选择依赖

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
3.3修改配置文件
server:
port: 8080
spring:
application:
name: eureka-client-a
eureka:
client:
serviceUrl: # 不要使用service-url,它有小的bug
defaultZone: http://localhost:8761/eureka/ # 向那个注册中心注册自己
3.4启动项目(发现有个Client-a已经在Eureka服务端注册成功)

创建客户端Client-b
修改配置文件端口号
server:
port: 8090
spring:
application:
name: eureka-client-b
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/
四.启动Eureka-server,Client-a,Client’-b
在eureka 里面怎么区分不同的服务,通过spring.application.name 来区分的
修改server.port ,启动三个eureka-client-a

4.1注册中心状态认识

在源码调试时,将会出现这些状态
UP: 服务是上线的
DOWN:服务是下线的
UN_KONW: 服务的状态未知
四.服务的拉取和服务的注册
服务的拉取和注册都是默认开启的,我们可以选择关闭

五.常用的配置文件的设置
1.要注册到哪个注册中心里面
eureka:
client:
serviceUrl:
defaultZone:http://localhost:8761/eureka/
2.服务实例的id
eureka:
instance: 服务的名称
instance-id: ${spring.application.name}:${server.port}
3.使用ip地址而不是主机名称
eureka:
instance: 服务的名称
instance-id: ${spring.application.name}:${server.port}
prefer-ip-address:true
4.单机版的注册中心(eureka-server)服务的拉取和注册
eureka: 该项目向那个注册中心注册自己
client:
register-with-eureka:false 是否把自己注册到eureka上面
fetch-register:false 是否从erreka上面拉取服务列表
304



被折叠的 条评论
为什么被折叠?



