Eureka服務端和客戶端


    Eureka是Netflix開發的服務發現框架,SpringCloud將它集成在自己的子項目
spring-cloud-netflix中,實現SpringCloud的服務發現功能。Eureka包含兩個組件:
Eureka Server和Eureka Client。
     Eureka Server提供服務注冊服務,各個節點啟動后,會在Eureka Server中進行注
冊,這樣EurekaServer中的服務注冊表中將會存儲所有可用服務節點的信息,服務節點
的信息可以在界面中直觀的看到。
​     Eureka Client是一個java客戶端,用於簡化與Eureka Server的交互,客戶端同時也
就別一個內置的、使用輪詢(round-robin)負載算法的負載均衡器。在應用啟動后,將會
向Eureka Server發送心跳,默認周期為30秒,如果Eureka Server在多個心跳周期內沒有
接收到某個節點的心跳,Eureka Server將會從服務注冊表中把這個服務節點移除(默認90
秒)。
     Eureka Server之間通過復制的方式完成數據的同步,Eureka還提供了客戶端緩存機
制,即使所有的Eureka Server都掛掉,客戶端依然可以利用緩存中的信息消費其他服務
的API。綜上,Eureka通過心跳檢查、客戶端緩存等機制,確保了系統的高可用性、靈活
性和可伸縮性。

1.服務端

創建微服務服務端

父工程中管理依賴的版本

 <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Finchley.M9</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

 

微服務工程

<dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</artifactId>
        </dependency>
    </dependencies>
server:
  port: 6868 #服務端口號
eureka:
  client:
    register-with-eureka: false #是否將自己注冊到Eureka,不需要
    fetch-registry: false #是否從Eureka中獲取注冊信息
    service-url:
      defautZone: http://127.0.0.1:${server.port}/eureka/

 

@SpringBootApplication
@EnableEurekaServer
public class EurekaServer {
    public static void main(String[] args) {
        SpringApplication.run(EurekaServer.class);
    }
}

2.客戶端

客戶端依賴

啟動類上添加注解:

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

 

 

eureka:
  client:
    service-url:
      defaultZone: http://localhost:6868/eureka
      instance:
        prefer‐ip‐address: true #可以跨域訪問

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM