引入jar包
在利用spring initializer創(chuàng)建項目時趟妥,勾選上Eureka Server即可完成相關(guān)導(dǎo)入
配置
在resource資源路徑下坏晦,創(chuàng)建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);
}
}
啟動
驗(yàn)證
localhost:7900
常見錯誤
配置eureka Server很簡單畏吓,一般是不會出錯的培慌,如果出錯了凰狞,那么百分之99是因?yàn)閟pringboot的版本跟springcloud的版本對應(yīng)不上篇裁,然后出現(xiàn)各種莫須有的問題
在搭建的過程中我也出現(xiàn)了各種問題,隨后找到了一個可以適配的版本
springboot version
<version>2.3.8.RELEASE</version>
spring cloud version
<spring-cloud.version>Hoxton.SR10</spring-cloud.version>
搭建多臺eureka(集群)
這里在上面的例子上進(jìn)行操作赡若,我們可以修改配置文件达布,利用spring.proflies進(jìn)行區(qū)分
分別為7900,7901斩熊,7902往枣,各個eureka不用互相注冊,多臺eureka的spring.application.name必須相同
,之前也踩過這種坑(當(dāng)時是兩天eureka分冈,互相注冊圾另,就因?yàn)閟pring.application.name不相同,死活注冊不上去)雕沉,利用eureka.instance.hostname進(jìn)行各個節(jié)點(diǎn)的區(qū)分即可集乔。另外需要關(guān)注的一點(diǎn)就是 defaultZone必須寫上三臺主機(jī),如果是兩臺的話坡椒,就互相注冊即可扰路。這里大家可以參考官網(wǎng)的,當(dāng)然我也是借鑒的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不要選錯了汗唱。
如果選擇了第一個,將會導(dǎo)致配置不生效丈攒,而且yml也不像java哩罪,通過import還能看出導(dǎo)入的是什么,這里選錯直接玄學(xué)巡验,所以還是得細(xì)心點(diǎn)际插。
啟動
這里復(fù)制三份,修改Name和Active profiles即可显设。
如果三臺可以正常啟動框弛,那就證明搭建完成,后面觀察注冊上來的服務(wù)是否能在三臺eureka上注冊即可
7900
7901
7902