2019年第一篇blog打算從微服務開始,正所謂本身立下的flag趴着也要寫完^^.因此從今天開始打算會持續寫Spring-Cloud相關文章.java
由於單體用用存在一些問題,總結概括以下:spring
- Eureka:在英文詞典中意爲"找到了,發現了", 顧名思義,他在Spring-Cloud中承擔的角色是服務的註冊與發現
- Spring Cloud Eureka 是基於Netflix Eureka作的二次封裝
- Spring Cloud Eureka 組件由兩部分組成 Eureka-Server, Eureka-Client
- Eureka-Server:服務註冊中心
- Eureka-Client:服務註冊和服務調用
打開idea,選擇建立Spring項目 bootstrap
選擇Maven座標:gav 架構
選擇項目類型爲Eureka-Server app
建立完項目以後,查看Pom中Spring-Cloud與Boot版本:ide
<!-- spring-boot版本 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<!-- spring-cloud版本 -->
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Greenwich.RC1</spring-cloud.version>
</properties>
複製代碼
@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaServerApplication.class, args);
}
}
複製代碼
- 因爲Spring-Cloud中bootstrap.yml/properties(這裏採用yml)是項目的啓動加載配置文件,因此咱們先將配置文件重命名爲bootstrap.yml
eureka:
client:
service-url:
defaultZone: http://localhost:8762/eureka/,http://localhost:8763/eureka/
register-with-eureka: false
spring:
application:
name: eureka-server
server:
port: 8761
複製代碼
Eureka-Server2的配置文件以下:spring-boot
spring:
application:
name: eureka-server2
server:
port: 8762
eureka:
client:
service-url:
defaultZone: http://localhost:8761/eureka/,http://localhost:8763/eureka/
register-with-eureka: false
複製代碼
Eureka-Server3的配置文件以下:微服務
spring:
application:
name: eureka-server3
server:
port: 8763
eureka:
client:
register-with-eureka: false
service-url:
defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/
複製代碼
配置說明:url
- spring.application.name: 是服務的名稱
- server.port: 表明服務的端口
- eureka.client.register-with-eureka=false 表示讓Eureka-Server本身不須要註冊到本身
- 由上面三個Eureka-Server的配置咱們能夠看到,在註冊Eureka-Server集羣中,咱們只須要將不一樣的Eureka-Server相互註冊,就能夠實現Eureka-Server的高可用
到這裏,咱們集羣式的Eureka-Server已經搭建好了, 咱們下一節來搭建Eureka-Client來發現服務.好了,預知後事如何, 請聽下回分解!idea