Spring Cloud Eureka入門配置

一.Spring Cloud Eureka和Zookeeper的區別?
在這裏插入圖片描述
CAP定理,指的是在一個分佈式系統中,一致性(Consistency)、可用性(Availability)、分區容錯性(Partition tolerance)。CAP 原則指的是,這三個要素最多隻能同時實現兩點,不可能三者兼顧。
CAP原則的精髓之處就是要麼AP,要麼AC,要麼CP,但是不存在CAP。
Zk注重數據的一致性
Eureka不是很注重數據的一致性

A服務的可用性(若zk集羣裏面的master掛了怎麼辦)
在zk裏面,若主機掛了,則zk集羣整體不在對外提供服務,需要選一個新的出來(120s)才能繼續對外服務
eureka注重服務的可用性,當Eureka集羣中只要有一臺活着,它就能對外提供服務

Zookeeper 注重數據的一致性,CP
Eureka 注重服務的可用性 AP 

二.Spring Cloud Eureka快速入門
在這裏插入圖片描述
2.1搭建Eureka-Server
在這裏插入圖片描述
2.2選擇依賴
在這裏插入圖片描述
在這裏插入圖片描述
2.3修改配置文件

server:
  port: 8080
spring:
  application:
    name: eureka-server

2.4添加註解
在這裏插入圖片描述
2.5啓動測試
註冊中心搭建完畢(Eureka-Server 不僅提供讓別人註冊的功能,它也能 註冊到別人裏面)
在這裏插入圖片描述
觀察源碼發現,eureka默認的配置會向8761 的註冊中心註冊自己。
在這裏插入圖片描述
三.搭建Eureka-Client
3.1 創建客戶端a
在這裏插入圖片描述
3.2選擇依賴
在這裏插入圖片描述

	<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
		</dependency>

3.3修改配置文件

server:
  port: 8080
spring:
  application:
    name: eureka-client-a
eureka:
  client:
    serviceUrl: # 不要使用service-url,它有小的bug
     defaultZone: http://localhost:8761/eureka/ # 向那個註冊中心註冊自己

3.4啓動項目(發現有個Client-a已經在Eureka服務端註冊成功)
在這裏插入圖片描述
創建客戶端Client-b
修改配置文件端口號

server:
  port: 8090
spring:
  application:
    name: eureka-client-b
eureka:
  client:
    serviceUrl:
     defaultZone: http://localhost:8761/eureka/

四.啓動Eureka-server,Client-a,Client’-b
在eureka 裏面怎麼區分不同的服務,通過spring.application.name 來區分的
修改server.port ,啓動三個eureka-client-a
在這裏插入圖片描述
4.1註冊中心狀態認識
在這裏插入圖片描述
在源碼調試時,將會出現這些狀態
UP: 服務是上線的
DOWN:服務是下線的
UN_KONW: 服務的狀態未知

四.服務的拉取和服務的註冊
服務的拉取和註冊都是默認開啓的,我們可以選擇關閉
在這裏插入圖片描述
五.常用的配置文件的設置
1.要註冊到哪個註冊中心裏面

eureka:
   client:
      serviceUrl:
        defaultZone:http://localhost:8761/eureka/

2.服務實例的id

eureka:
	instance:       服務的名稱
		instance-id: ${spring.application.name}:${server.port}

3.使用ip地址而不是主機名稱

eureka:
	instance:       服務的名稱
		instance-id: ${spring.application.name}:${server.port}
		prefer-ip-address:true

4.單機版的註冊中心(eureka-server)服務的拉取和註冊

eureka:       	該項目向那個註冊中心註冊自己
	client:
		register-with-eureka:false   是否把自己註冊到eureka上面
		fetch-register:false         是否從erreka上面拉取服務列表
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章