1.搭建Eureka:
与nacos区别在于需要自己创建一个服务
- 新建spring模块: sp05-eureka
- 添加依赖
- yml
- 禁用自我保护模式
- 主机名:eureka1
- 单台服务器(集群的话是要互相注册互相拉的)
- 不向自己注册
- 不从自己拉取
- 启动类注解: @EnableEurekaServer 通过注解触发自动配置
pom文件里记得绑定到父类的springboot版本与springcloud的版本
注意:yml的文件编译语言UTF8否则注释的话会报错
四条运行机制:
- 注册 客户端主动连接服务器进行注册,会一次一次反复注册,直到注册成功为止
- 拉取 客户端每30秒拉取服务列表,会刷新更新本地缓存的注册表
- 心跳 30秒一发 客户端连续三次收不到心跳,就会删除其注册信息
- 自我保护模式 由于网络不稳定,网络中断,大量服务器出现心跳异常 15分钟内85%出现心跳异常会自动进入自我保护模式(就是心跳3次也没返回,也不删除)等待网络恢复,开发调试期间可以禁用保护模式,避免影响测试
客户端咋注册(客户端就是要注册到eureka的服务)
1.添加eureka-client
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
2.yml配置
- eureka.client.service-url.defaultZone(这个默认地址没有提示):http://eureka1:2001/eureka(浏览器访问不到的,host文件进行了指定)可以配置云端服务器
3.先启动eureka的服务,再启动其他的服务,启动eureka会自动生成一个8761端口的默认的集群服务器,咱们也没设置所以就是个虚的,不存在,所以会eureka服务会报错,当自己搭了个集群服务器,就不会再创建这个默认的集群服务器
2.高可用
一旦服务器宕机了咋整,要有一个备用机顶上
editConfiguration → 克隆itemservice → 修改端口号
这样就做到了同一个服务有两个实例化的方法,从而实现该服务的高可用