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

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

怎樣使用SpringCloud搭建服務(wù)注冊(cè)中心

怎樣使用Spring Cloud搭建服務(wù)注冊(cè)中心,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

成都創(chuàng)新互聯(lián)制作網(wǎng)站網(wǎng)頁(yè)找三站合一網(wǎng)站制作公司,專注于網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè),網(wǎng)站設(shè)計(jì),企業(yè)網(wǎng)站搭建,網(wǎng)站開(kāi)發(fā),建網(wǎng)站業(yè)務(wù),680元做網(wǎng)站,已為近千家服務(wù),成都創(chuàng)新互聯(lián)網(wǎng)站建設(shè)將一如既往的為我們的客戶提供最優(yōu)質(zhì)的網(wǎng)站建設(shè)、網(wǎng)絡(luò)營(yíng)銷推廣服務(wù)!

與dubbo不同的是,Spring Cloud是一個(gè)一站式分布式框架,Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智能路由,微代理,控制總線)。分布式系統(tǒng)的協(xié)調(diào)導(dǎo)致了樣板模式, 使用Spring Cloud開(kāi)發(fā)人員可以快速地支持實(shí)現(xiàn)這些模式的服務(wù)和應(yīng)用程序。他們將在任何分布式環(huán)境中運(yùn)行良好,包括開(kāi)發(fā)人員自己的筆記本電腦,裸機(jī)數(shù)據(jù)中心,以及Cloud Foundry等托管平臺(tái)。那么今天我希望通過(guò)一個(gè)簡(jiǎn)單的案例帶小伙伴們來(lái)了解下Spring Cloud。

OK,那么本文我主要想介紹下在Spring Cloud中使用Eureka搭建一個(gè)服務(wù)注冊(cè)中心,然后再向其中注冊(cè)服務(wù)。由于Spring Cloud是在Spring Boot的基礎(chǔ)上構(gòu)建分布式服務(wù)的,所以閱讀本文需要有一點(diǎn)Spring Boot的知識(shí)儲(chǔ)備。
OK,那么上面所提到的是閱讀本文所需要具備的基礎(chǔ)知識(shí),在此基礎(chǔ)之上我們來(lái)看看怎么樣利用Spring Cloud中的Eureka來(lái)搭建服務(wù)注冊(cè)中心。

首先我要說(shuō)的是Spring Cloud并不是一個(gè)東西,和Hadoop類似,Spring Cloud也包含了許多個(gè)子項(xiàng)目,我們今天要看的Eureka只是其中的一個(gè)子項(xiàng)目,Eureka的功能有點(diǎn)類似于我們之前寫(xiě)過(guò)的zookeeper,它是一個(gè)服務(wù)治理組件,包含了服務(wù)注冊(cè)中心、服務(wù)注冊(cè)與發(fā)現(xiàn)機(jī)制。其他的組件我們這里先不做介紹,后面的系列文章都會(huì)一一提及到。

OK,廢話說(shuō)了一籮筐,上代碼吧。 

創(chuàng)建服務(wù)注冊(cè)中心

創(chuàng)建一個(gè)普通的Spring Boot工程

首先我們需要?jiǎng)?chuàng)建一個(gè)普通的Spring Boot工程,命名為eureka-server,普通到什么程度呢?就是一個(gè)starter都不需要添加,創(chuàng)建成功之后就只引用了一個(gè)父starter。

添加Eureka依賴

工程創(chuàng)建成功之后,向pom.xml文件中添加eureka-server的依賴,目前eureka的穩(wěn)定版本是Dalston.SR3,添加完依賴之后,pom.xml文件如下所示:



    4.0.0

    org.sang
    eureka-server
    0.0.1-SNAPSHOT
    jar

    eureka-server
    Demo project for Spring Boot

    
        org.springframework.boot
        spring-boot-starter-parent
        1.5.6.RELEASE
         
    

    
        UTF-8
        UTF-8
        1.8
    

    
        
            org.springframework.boot
            spring-boot-starter
        

        
            org.springframework.cloud
            spring-cloud-starter-eureka-server
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    

    
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                Dalston.SR3
                pom
                import
            
        
    
    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    

那么這里依賴的添加我主要參考了Eureka官網(wǎng)的 http://projects.spring.io/spring-cloud/。

啟動(dòng)一個(gè)服務(wù)注冊(cè)中心

啟動(dòng)一個(gè)服務(wù)注冊(cè)中心的方式很簡(jiǎn)單,就是在Spring Boot的入口類上添加一個(gè)@EnableEurekaServer注解,如下:

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

配置服務(wù)注冊(cè)中心

最后我們?cè)僮鲆稽c(diǎn)簡(jiǎn)單的配置就可以了,配置就寫(xiě)在Spring Boot的配置文件application.properties中,寫(xiě)法如下:

server.port=1111
eureka.instance.hostname=localhost
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/

OK,那么關(guān)于這幾行注釋,我說(shuō)如下幾點(diǎn):

1.server.port=1111表示設(shè)置該服務(wù)注冊(cè)中心的端口號(hào)
2.eureka.instance.hostname=localhost表示設(shè)置該服務(wù)注冊(cè)中心的hostname
3.eureka.client.register-with-eureka=false,由于我們目前創(chuàng)建的應(yīng)用是一個(gè)服務(wù)注冊(cè)中心,而不是普通的應(yīng)用,默認(rèn)情況下,這個(gè)應(yīng)用會(huì)向注冊(cè)中心(也是它自己)注冊(cè)它自己,設(shè)置為false表示禁止這種默認(rèn)行為
4.eureka.client.fetch-registry=false,表示不去檢索其他的服務(wù),因?yàn)榉?wù)注冊(cè)中心本身的職責(zé)就是維護(hù)服務(wù)實(shí)例,它也不需要去檢索其他服務(wù)

測(cè)試

OK,做完這一切之后,我們就可以啟動(dòng)這一個(gè)Spring Boot 服務(wù),服務(wù)啟動(dòng)成功之后,在瀏覽器中輸入:http://localhost:1111就能夠看到如下頁(yè)面:

怎樣使用Spring Cloud搭建服務(wù)注冊(cè)中心  

OK,看到上面這個(gè)頁(yè)面之后,表示你的服務(wù)注冊(cè)中心已經(jīng)搭建好了。

小結(jié)

我們之前專門(mén)有一篇博客介紹如何在Linux上安裝zookeeper【Linux上安裝Zookeeper以及一些注意事項(xiàng)】,但是對(duì)于Eureka卻不存在這樣的問(wèn)題,因?yàn)镋ureka中的服務(wù)注冊(cè)中心實(shí)際上是一個(gè)Spring Boot工程,而Spring Boot工程我們知道可以直接打成一個(gè)jar包,然后java -jar命令就可以運(yùn)行,不管Windows還是Linux上,運(yùn)行方式都是一致的。

注冊(cè)服務(wù)提供者

OK,那么現(xiàn)在服務(wù)注冊(cè)中心有了之后,我們可以考慮向這個(gè)服務(wù)注冊(cè)中心注冊(cè)一個(gè)服務(wù)提供者了。

創(chuàng)建一個(gè)新的Spring Boot工程

還是創(chuàng)建一個(gè)Spring Boot工程,這次創(chuàng)建比之前創(chuàng)建多一個(gè)步驟,在創(chuàng)建的時(shí)候選中web的starter,我們來(lái)創(chuàng)建一個(gè)web工程,在IntelliJ IDEA中創(chuàng)建的時(shí)候選中web,如下:

怎樣使用Spring Cloud搭建服務(wù)注冊(cè)中心  

添加Eureka依賴

在創(chuàng)建好的工程中,我們需要添加Eureka依賴,添加方式如下:



    4.0.0
    org.sang
    provider
    0.0.1-SNAPSHOT
    jar
    provider
    Demo project for Spring Boot
    
        org.springframework.boot
        spring-boot-starter-parent
        1.5.6.RELEASE
         
    
    
        UTF-8
        UTF-8
        1.8
    
    
        
            org.springframework.boot
            spring-boot-starter-web
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
        
            org.springframework.cloud
            spring-cloud-starter-eureka
        
    
    
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                Dalston.SR3
                pom
                import
            
        
    
    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    

創(chuàng)建應(yīng)用的入口

這是一個(gè)web工程,所以我們添加一個(gè)Controller,在該Controller中提供一個(gè)訪問(wèn)入口,如下:

@RestController
public class HelloController {
    private final Logger logger = Logger.getLogger(getClass());
    @Autowired
    private DiscoveryClient client;

    @RequestMapping(value = "/hello", method = RequestMethod.GET)
    public String index() {
        List instances = client.getInstances("hello-service");
        for (int i = 0; i < instances.size(); i++) {
            logger.info("/hello,host:" + instances.get(i).getHost() + ",service_id:" + instances.get(i).getServiceId());
        }
        return "Hello World";
    }
}

這里創(chuàng)建服務(wù)之后,在日志中將服務(wù)相關(guān)的信息打印出來(lái)。

激活Eureka中的DiscoveryClient

在Spring Boot的入口函數(shù)處,通過(guò)添加@EnableDiscoveryClient注解來(lái)激活Eureka中的DiscoveryClient實(shí)現(xiàn)(因?yàn)槲覀冊(cè)贖elloController中注入了DiscoveryClient)。

@EnableDiscoveryClient
@SpringBootApplication
public class ProviderApplication {

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

配置服務(wù)名稱和注冊(cè)中心地址

最后的最后,我們?cè)赼pplication.properties文件中配置一下服務(wù)名和注冊(cè)中心地址即可,如下:

spring.application.name=hello-service
eureka.client.service-url.defaultZone=http://localhost:1111/eureka

這兩行代碼的含義很簡(jiǎn)單,我就不多說(shuō)了。

測(cè)試

做完這一切之后,我們就可以來(lái)測(cè)試了,直接運(yùn)行這個(gè)Spring Boot工程,運(yùn)行成功之后,我們刷新剛才的http://localhost:1111,就可以看到有一個(gè)服務(wù)已經(jīng)注冊(cè)成功了。如下:
怎樣使用Spring Cloud搭建服務(wù)注冊(cè)中心  

同時(shí),我們查看這個(gè)服務(wù)提供者運(yùn)行日志,也可以看到服務(wù)的信息,如下:

怎樣使用Spring Cloud搭建服務(wù)注冊(cè)中心  

OK,如此之后,我們一個(gè)服務(wù)注冊(cè)中心就搭建成功了,同時(shí)也有一個(gè)服務(wù)提供者成功的注冊(cè)了。但是這樣還有一個(gè)小問(wèn)題,那就是我們這里是一個(gè)單節(jié)點(diǎn)的服務(wù)注冊(cè)中心,一旦發(fā)生了故障整個(gè)服務(wù)就癱瘓了,所以在實(shí)際應(yīng)用中,我們需要搭建高可用注冊(cè)中心。

看完上述內(nèi)容,你們掌握怎樣使用Spring Cloud搭建服務(wù)注冊(cè)中心的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


網(wǎng)站名稱:怎樣使用SpringCloud搭建服務(wù)注冊(cè)中心
文章位置:http://weahome.cn/article/ggcoid.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部