springboot 集成 eureka
按之前的方法将 Eureka集群 搭建好后,我们需要在业务代码工程中进行集成,总的来说在springboot 中集成 eureka 可以说非常简单,依然是三部曲:
pom 依赖的添加
eureka 客户端注解的开启
配置文件配置 eureka-server 的地址及相关参数
一、pom 添加依赖 本文示例使用 springboot 2.1.18 RELEASE 版本,因为版本不同配置参数可能会不一样
org.springframework.cloud
spring-cloud-starter-netflix-eureka-server
二、开启 Eureka 客户端 在启动类上新增注解 @EnableFeignClients
@EnableEurekaClient
@SpringBootApplication
public class ShanhyService2Application {
public static void main(String[] args) {
SpringApplication.run(ShanhyService2Application.class, args);
}
}
三、配置文件 如果你使用同一个电脑跑3个实例模拟集群,那么你需要按如下要求配置hosts,并且设置 eureka.instance.prefer-ip-address=false
hosts 文件内容如下:
127.0.0.1 eureka1
127.0.0.1 eureka2
127.0.0.1 eureka3
配置文件主要内容参数如下示例:
spring.application.name=eureka-server
# 服务端口号
server.port=8080
# 如果zone使用hostname方式,则这个hostname也必须明确指定保持一致。如果zone使用IP地址方式,则这个hostname按如下配置自动读取IP(总得来说就是此处的hostname必须要和zone里面的保持一致)
eureka.instance.hostname=${EUREKA_HOSTNAME:${spring.cloud.client.ip-address}}
# Eureka Server 地址
#k8s集群部署,如果自定义了namespace使用这个配置,下面namespace替换为自己定义的namespace;如果没有自定义使用的是默认的namespace,则需要去掉下面的 .namespace 段。
#defaultZone: http://eureka-server-0.eureka-server.namespace:9007/eureka/,http://eureka-server-1.eureka-server.namespace:9007/eureka/,http://eureka-server-2.eureka-server.namespace:9007/eureka/,
#本地部署手工填写多个实例节点IP和端口并用逗号分隔
eureka.client.serviceUrl.defaultZone=${EUREKA_ZONE:http://127.0.0.1:${server.port}/eureka/}
# eureka实例ID
eureka.instance.instance-id=${spring.application.name}:${spring.cloud.client.ip-address}:${spring.application.instance_id:${server.port}}
# 是否检索服务(获取eureka服务列表)
eureka.client.fetch-registry=${EUREKA_FETCH:true}
#修改缓存清单的更新时间,默认值为30
eureka.client.registry-fetch-interval-seconds=30
# 是否向服务注册中心注册自己(如果仅作为调用者,不提供服务,可以为false)
eureka.client.register-with-eureka=${EUREKA_REGISTER:true}
# 将IP注册到eureka中,如果为false默认使用hostname主机名注册(这个是重点,不然你可能会遇到坑)注意本机集群使用false,多机器使用true比较合适
eureka.instance.prefer-ip-address=false
其中几个变量是为了可以从外部通过参数或环境变量传入动态值预留的,下面是在同一个机器上启动3个实例集群的命令示例:
java -jar -DEUREKA_ZONE=-DEUREKA_HOSTNAME=eureka1 eureka-server-1.0.0-SNAPSHOT-exec.jar --server.port=8761 --eureka.instance.prefer-ip-address=false
java -jar -DEUREKA_ZONE=-DEUREKA_HOSTNAME=eureka2 eureka-server-1.0.0-SNAPSHOT-exec.jar --server.port=8762 --eureka.instance.prefer-ip-address=false
java -jar -DEUREKA_ZONE=-DEUREKA_HOSTNAME=eureka3 eureka-server-1.0.0-SNAPSHOT-exec.jar --server.port=8763 --eureka.instance.prefer-ip-address=false
至此启动服务,打开 eureka UI控制台上看到注册的服务信息了。
(END)
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~