引入jar包
在利用spring initializer创建项目时,勾选上Eureka Server即可完成相关导入
配置
在resource资源路径下,创建application.yml
server:
port: 7900
spring:
application:
name: eureka
eureka:
client:
service-url:
defaultZone: http://localhost:7900/eureka
register-with-eureka: false
fetch-registry: false
添加注解
@EnableEurekaServer
@SpringBootApplication
public class CloudEurekaApplication {
public static void main(String[] args) {
SpringApplication.run(CloudEurekaApplication.class, args);
}
}
启动
验证
localhost:7900
常见错误
配置eureka Server很简单,一般是不会出错的,如果出错了,那么百分之99是因为springboot的版本跟springcloud的版本对应不上,然后出现各种莫须有的问题
在搭建的过程中我也出现了各种问题,随后找到了一个可以适配的版本
springboot version
<version>2.3.8.RELEASE</version>
spring cloud version
<spring-cloud.version>Hoxton.SR10</spring-cloud.version>
搭建多台eureka(集群)
这里在上面的例子上进行操作,我们可以修改配置文件,利用spring.proflies进行区分
分别为7900,7901,7902,各个eureka不用互相注册,多台eureka的spring.application.name必须相同
,之前也踩过这种坑(当时是两天eureka,互相注册,就因为spring.application.name不相同,死活注册不上去),利用eureka.instance.hostname进行各个节点的区分即可。另外需要关注的一点就是 defaultZone必须写上三台主机,如果是两台的话,就互相注册即可。这里大家可以参考官网的,当然我也是借鉴的spring-cloud-Netflix eureka server集群搭建
spring:
application:
name: eureka
eureka:
client:
service-url:
defaultZone: http://localhost:7900/eureka,http://localhost:7901/eureka,http://localhost:7902/eureka
register-with-eureka: false
fetch-registry: false
---
spring:
profiles: 7900
server:
port: 7900
eureka:
instance:
hostname: eureka-7901
---
spring:
profiles: 7901
server:
port: 7901
eureka:
instance:
hostname: eureka-7901
---
spring:
profiles: 7902
server:
port: 7902
eureka:
instance:
hostname: eureka-7902
这里还需要注意,spring.profiles不要选错了。
如果选择了第一个,将会导致配置不生效,而且yml也不像java,通过import还能看出导入的是什么,这里选错直接玄学,所以还是得细心点。
启动
这里复制三份,修改Name和Active profiles即可。
如果三台可以正常启动,那就证明搭建完成,后面观察注册上来的服务是否能在三台eureka上注册即可
7900
7901
7902