目录
3、创建三个Eureka服务端(端口8761、8762、8763)
1、Eureka的概念
1.1 服务的注册
当eureka客户端启动时,会向eureka服务端发送自己的元数据(原始数据)。eureka服 务端会在自己的内部保留这些数据(内存)。
元数据:ip、端口、健康的状态监测等。
1.2 服务的续约
eureka客户端除了向eureka服务端注册自己成功,还会定时的向eureke服务端汇报自己 的心跳。
1.3 服务的下线(主动下线)
当eureka客户端关闭时,会先eureka服务端报告自己关机了。
1.4 服务的剔除(被动下线、主动剔除)
当eureka客户端在指定的时间内没有向eureka服务端发送心跳,那么eureka服务端就会 认为此节点已经死掉,会把它剔除,也不会放流量和请求到此节点。
2、集群原理图
集群的方案:中心化集群、主从模式集群、去中心化集群。
去中心化集群:通过CRC16算法,生成一个插槽,定时转发。高可用,没有主从的概念。Eureka会将数据进行广播和扩散。
3、创建三个Eureka服务端(端口8761、8762、8763)
4、三个服务端的配置
注:应用名称一致。
8761端口:
#集群
eureka:
client:
service-url: #默认注册8761
defaultZone: http://localhost:8762/eureka,http://localhost:8763/eureka
instance:
hostname: localhost
instance-id: ${eureka.instance.hostname}:${spring.application.name}:${server.port}
prefer-ip-address: true #以ip的形式显示信息
lease-renewal-interval-in-seconds: 5 #服务端实例的续约时间
8762端口:
server:
port: 8762
spring:
application:
name: eureka-server #集群应用名称不能改
eureka:
client:
service-url:
defaultZone: http://localhost:8761/eureka,http://localhost:8763/eureka
instance:
hostname: localhost
instance-id: ${eureka.instance.hostname}:${spring.application.name}:${server.port}
prefer-ip-address: true #以ip的形式显示信息
lease-renewal-interval-in-seconds: 5 #服务端实例的续约时间
8763端口:
server:
port: 8763
spring:
application:
name: eukera-server
#集群
eureka:
client:
service-url:
defaultZone: http://localhost:8761/eureka,http://localhost:8762/eureka
instance:
hostname: localhost
instance-id: ${eureka.instance.hostname}:${spring.application.name}:${server.port}
prefer-ip-address: true #以ip的形式显示信息
lease-renewal-interval-in-seconds: 5 #服务端实例的续约时间
4、测试(同一台电脑)
4.1 伪装
欺骗:伪装成三台电脑。
Win+R
4.2 修改eureka服务端配置
8761端口:
8762端口:
8763端口: