真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Springcloud中如何進行服務(wù)注冊與發(fā)現(xiàn)Eureka

Spring cloud中如何進行服務(wù)注冊與發(fā)現(xiàn)Eureka,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名與空間、網(wǎng)頁空間、營銷軟件、網(wǎng)站建設(shè)、穆棱網(wǎng)站維護、網(wǎng)站推廣。

Spring Cloud簡介

Spring Cloud是一個基于Spring Boot實現(xiàn)的云應(yīng)用開發(fā)工具,它為基于JVM的云應(yīng)用開發(fā)中涉及的配置管理、服務(wù)發(fā)現(xiàn)、斷路器、智能路由、微代理、控制總線、全局鎖、決策競選、分布式會話和集群狀態(tài)管理等操作提供了一種簡單的開發(fā)方式。

Spring Cloud包含了多個子項目(針對分布式系統(tǒng)中涉及的多個不同開源產(chǎn)品),比如:Spring Cloud Config、Spring Cloud Netflix、Spring Cloud0 CloudFoundry、Spring Cloud AWS、Spring Cloud Security、Spring Cloud Commons、Spring Cloud Zookeeper、Spring Cloud CLI等項目。

Spring Cloud Eureka

首先,我們來嘗試使用Spring Cloud Eureka來實現(xiàn)服務(wù)治理。

Spring Cloud Eureka是Spring Cloud Netflix項目下的服務(wù)治理模塊。而Spring Cloud Netflix項目是Spring Cloud的子項目之一,主要內(nèi)容是對Netflix公司一系列開源產(chǎn)品的包裝,它為Spring Boot應(yīng)用提供了自配置的Netflix OSS整合。通過一些簡單的注解,開發(fā)者就可以快速的在應(yīng)用中配置一下常用模塊并構(gòu)建龐大的分布式系統(tǒng)。它主要提供的模塊包括:服務(wù)發(fā)現(xiàn)(Eureka),斷路器(Hystrix),智能路由(Zuul),客戶端負載均衡(Ribbon)等。

下面,就來具體看看如何使用Spring Cloud Eureka實現(xiàn)服務(wù)治理。

創(chuàng)建“服務(wù)注冊中心”

創(chuàng)建一個基礎(chǔ)的Spring Boot工程,命名為eureka-server,并在pom.xml中引入需要的依賴內(nèi)容:

org.springframework.bootspring-boot-starter-parent1.5.4.RELEASEorg.springframework.cloudspring-cloud-starter-eureka-server   org.springframework.cloud   spring-cloud-dependencies   Dalston.SR1   pom   import

通過@EnableEurekaServer注解啟動一個服務(wù)注冊中心提供給其他應(yīng)用進行對話。這一步非常的簡單,只需要在一個普通的Spring Boot應(yīng)用中添加這個注解就能開啟此功能,比如下面的例子:

@EnableEurekaServer@SpringBootApplicationpublic class Application {public static void main(String[] args) {new SpringApplicationBuilder(Application.class).web(true).run(args);
    }
}

在默認設(shè)置下,該服務(wù)注冊中心也會將自己作為客戶端來嘗試注冊它自己,所以我們需要禁用它的客戶端注冊行為,只需要在application.properties配置文件中增加如下信息:

spring.application.name=eureka-serverserver.port=1001eureka.instance.hostname=localhosteureka.client.register-with-eureka=falseeureka.client.fetch-registry=false

為了與后續(xù)要進行注冊的服務(wù)區(qū)分,這里將服務(wù)注冊中心的端口通過server.port屬性設(shè)置為1001。啟動工程后,訪問:http://localhost:1001/,可以看到下面的頁面,其中還沒有發(fā)現(xiàn)任何服務(wù)。

Spring cloud中如何進行服務(wù)注冊與發(fā)現(xiàn)Eureka

創(chuàng)建“服務(wù)提供方”

下面我們創(chuàng)建提供服務(wù)的客戶端,并向服務(wù)注冊中心注冊自己。本文我們主要介紹服務(wù)的注冊與發(fā)現(xiàn),所以我們不妨在服務(wù)提供方中嘗試著提供一個接口來獲取當前所有的服務(wù)信息。

首先,創(chuàng)建一個基本的Spring Boot應(yīng)用。命名為eureka-client,在pom.xml中,加入如下配置:

 org.springframework.bootspring-boot-starter-parent1.5.4.RELEASE org.springframework.cloudspring-cloud-starter-eurekaorg.springframework.bootspring-boot-starter-web   org.springframework.cloud   spring-cloud-dependencies   Dalston.SR1   pom   import

其次,實現(xiàn)/dc請求處理接口,通過DiscoveryClient對象,在日志中打印出服務(wù)實例的相關(guān)內(nèi)容。

@RestControllerpublic class DcController {@AutowiredDiscoveryClient discoveryClient;@GetMapping("/dc")public String dc() {
        String services = "Services: " + discoveryClient.getServices();
        System.out.println(services);return services;
    }

}

最后在應(yīng)用主類中通過加上@EnableDiscoveryClient注解,該注解能激活Eureka中的DiscoveryClient實現(xiàn),這樣才能實現(xiàn)Controller中對服務(wù)信息的輸出。

@EnableDiscoveryClient@SpringBootApplicationpublic class Application {public static void main(String[] args) {new SpringApplicationBuilder(
            ComputeServiceApplication.class).web(true).run(args);
    }
}

我們在完成了服務(wù)內(nèi)容的實現(xiàn)之后,再繼續(xù)對application.properties做一些配置工作,具體如下

spring.application.name=eureka-clientserver.port=2001eureka.client.serviceUrl.defaultZone=http://localhost:1001/eureka/

通過spring.application.name屬性,我們可以指定微服務(wù)的名稱后續(xù)在調(diào)用的時候只需要使用該名稱就可以進行服務(wù)的訪問。eureka.client.serviceUrl.defaultZone屬性對應(yīng)服務(wù)注冊中心的配置內(nèi)容,指定服務(wù)注冊中心的位置。為了在本機上測試區(qū)分服務(wù)提供方和服務(wù)注冊中心,使用server.port屬性設(shè)置不同的端口。

啟動該工程后,再次訪問:http://localhost:1001/??梢匀缦聢D內(nèi)容,我們定義的服務(wù)被成功注冊了。Spring cloud中如何進行服務(wù)注冊與發(fā)現(xiàn)Eureka

當然,我們也可以通過直接訪問eureka-client服務(wù)提供的/dc接口來獲取當前的服務(wù)清單,只需要訪問:http://localhost:2001/dc,我們可以得到如下輸出返回:

Services: [eureka-client]

其中,方括號中的eureka-client就是通過Spring Cloud定義的DiscoveryClient接口在eureka的實現(xiàn)中獲取到的所有服務(wù)清單。由于Spring Cloud在服務(wù)發(fā)現(xiàn)這一層做了非常好的抽象,所以,對于上面的程序,我們可以無縫的從eureka的服務(wù)治理體系切換到consul的服務(wù)治理體系中區(qū)。

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。


網(wǎng)站欄目:Springcloud中如何進行服務(wù)注冊與發(fā)現(xiàn)Eureka
分享URL:http://weahome.cn/article/jhgsos.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部