溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

spring cloud eureka之服務(wù)端

發(fā)布時間:2020-08-12 12:30:42 來源:網(wǎng)絡(luò) 閱讀:6132 作者:乾坤刀 欄目:軟件技術(shù)

一、依賴

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
            <version>2.0.0.RC1</version>
        </dependency>

二、啟動類增加注解

@SpringBootApplication
@EnableEurekaServer
public class ServiceRegisterCenterDemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(ServiceRegisterCenterDemoApplication.class, args);
    }
}

三、單機注冊中心配置

spring.application.name=service-register-center-demo
server.port=19001

eureka.instance.hostname=localhost
eureka.instance.app-group-name=test_group
eureka.instance.appname=register_center
eureka.instance.health-check-url-path=/health
eureka.instance.status-page-url-path=/status

eureka.client.enabled=true
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/

通過http://localhost:19001/ 可以訪問到該服務(wù)的情況,圖下:
spring cloud eureka之服務(wù)端

通過http://localhost:19001/actuator 查看健康檢查情況。

注意:

  • eureka.instance.appname對應(yīng)的是網(wǎng)頁面板中,instaces下的application name;
  • eureka.client.register-with-eureka=false表示不將本instance注冊到服務(wù)中心。反之,則會注冊??梢酝ㄟ^面板中的instances列表查看;
  • eureka.client.fetch-registry=false表示是否從注冊中心拉取服務(wù)列表;
  • 對于單機的注冊中心,是否沒有備份(復(fù)制)節(jié)點。在面板中,General Info下的registered-replicas、unavailable-replicas、available-replicas三項中都是空的。
  • 從中可以看出,注冊服務(wù)中心也可以是client,同樣可以將自身實例注冊到服務(wù)中心。

四、多個對等注冊中心配置
instance 1

spring.application.name=service-register-center-demo
server.port=19001

eureka.instance.hostname=peer1
eureka.instance.app-group-name=test_group
eureka.instance.appname=register_center1
eureka.instance.health-check-url-path=/health
eureka.instance.status-page-url-path=/status

#eureka.client.enabled=true
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.serviceUrl.defaultZone=http://peer2:19001/eureka/

instance 2

spring.application.name=service-register-center-1-demo
server.port=19002

eureka.instance.hostname=peer2
eureka.instance.app-group-name=test_group
eureka.instance.appname=register_center2
eureka.instance.health-check-url-path=/health
eureka.instance.status-page-url-path=/status

#eureka.client.enabled=true
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.serviceUrl.defaultZone=http://peer1:19002/eureka/

注意:

  • 對于單機配置多peer node,需要修改hosts文件;
  • 與單機配置不同的是,eureka.client.serviceUrl.defaultZone需要相互配置,并可以配置多個(逗號隔開)

五、配置參數(shù)說明

  • eureka.instance.hostname可以不設(shè)置。默認會是serviceUrl中的主機名,如:localhost
  • eureka.client.serviceUrl.defaultZone可以使用eureka.instance.hostname,也可以直接設(shè)置IP;
  • eureka.instance.appname表示instance名稱。同樣也可以不設(shè)置,則采用spring.application.name的值;
  • eureka.client.register-with-eureka=false表示不將本instance注冊到服務(wù)中心。反之,則會注冊??梢酝ㄟ^面板中的instances列表查看;
  • eureka.client.fetch-registry=false表示是否從注冊中心拉取服務(wù)列表;
向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI