成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

服務(wù)治理:Spring Cloud Eureka(上)

dackel / 839人閱讀

摘要:服務(wù)治理上是由開源的一款基于的服務(wù)治理組件,包括及。由于種種原因,版本已經(jīng)凍結(jié)開發(fā),目前最新版本是年月份發(fā)布的版本。服務(wù)發(fā)現(xiàn)選型其中比較受眾關(guān)注的就是和這兩款產(chǎn)品,這兩款產(chǎn)品各有所長(zhǎng),各有所適,開發(fā)者可用按需選擇。

服務(wù)治理:Spring Cloud Eureka(上)
Netflix Eureka是由Netflix開源的一款基于REST的服務(wù)治理組件,包括Eureka Server及Eureka Client。由于種種原因,Eureka 2.x版本已經(jīng)凍結(jié)開發(fā),目前最新版本是2018年8月份發(fā)布的1.9.4版本。
Spring Cloud Eureka是Pivotal公司為Netflix Eureka整合于Spring Cloud生態(tài)系統(tǒng)提供的版本。
1. 服務(wù)發(fā)現(xiàn) 1.1 Eureka簡(jiǎn)介
Eureka是Netflix公司提供的開源服務(wù)發(fā)現(xiàn)組件(現(xiàn)已閉源),最新版本是1.9.4,該組件提供的服務(wù)發(fā)現(xiàn)可以為負(fù)載均衡、failover等提供支持。Eureka包括Eureka Server和Eureka Client。Eureka Server提供REST服務(wù),Eureka Clinet多數(shù)是使用Java編寫的客戶端(Eureka Client可以使用其他語(yǔ)言編寫,比如Node.js或.NET),用于簡(jiǎn)化和Eureka Server的交互。
1.2 Eureka Server簡(jiǎn)單案例

所有工程使用Spring Cloud的新版Greenwich.SR1和Maven構(gòu)建。

1.2.1 創(chuàng)建Spring Cloud Eureka Server工程

pom.xml內(nèi)容如下:

    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.1.4.RELEASE
         
    
    watermelon.cloud
    eureka-server
    0.0.1-SNAPSHOT
    eureka-server
    Spring Cloud Eureka Server

    
        1.8
        Greenwich.SR1
    

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

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

    
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                ${spring-cloud.version}
                pom
                import
            
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    

Finchley版本之后,Eureka的depenecy片段稍微有點(diǎn)不同

    
        
            org.springframework.cloud
            spring-cloud-starter-eureka-server
        
    
        
            org.springframework.cloud
            spring-cloud-starter-netflix-eureka-server
          
1.2.2 開啟EurekaServer支持

在啟動(dòng)類上加上@EnableEurekaServer注解。

@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {

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

}
1.2.3 修改application.yml配置文件
server:
  port: 1111
spring:
  application:
    name: eureka-server
eureka:
  instance:
    hostname: localhost
  client:
    register-with-eureka: false
    fetch-registry: false
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
    server:
      waitTimeInMsWhenSyncEmpty: 0
      enableSelfPreservation: false

# 后面詳細(xì)講配置
1.2.4 編譯、啟動(dòng)

瀏覽器訪問http://localhost:1111/出現(xiàn)如下頁(yè)面就說明服務(wù)端簡(jiǎn)單案例構(gòu)建成功。

1.3 Eureka Client簡(jiǎn)單案例 1.3.1 創(chuàng)建Eureka Client工程

pom.xml內(nèi)容如下:

    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.1.4.RELEASE
         
    
    watermelon.cloud
    eureka-client
    0.0.1-SNAPSHOT
    eureka-client
    Spring Cloud Eureka Client

    
        1.8
        Greenwich.SR1
    

    
        
            org.springframework.boot
            spring-boot-starter-web
        
        
            org.springframework.cloud
            spring-cloud-starter-netflix-eureka-client
        

        
            org.projectlombok
            lombok
            true
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    

    
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                ${spring-cloud.version}
                pom
                import
            
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    
1.3.2 啟動(dòng)類啟用DiscoveryClient支持
@SpringBootApplication
@EnableDiscoveryClient
public class EurekaClientApplication {

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

}
1.3.3 修改applicaiton.yml配置文件
server:
  port: 2222
spring:
  application:
    name: eureka-client # 如果不配置name屬性,在注冊(cè)中心的實(shí)例名都將是UNKNOWN
eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:1111/eureka/ # 服務(wù)注冊(cè)中心地址
1.3.4 HelloController簡(jiǎn)單打印輸出
@RestController
@Slf4j
public class HelloController {

    private final DiscoveryClient client;

    @Autowired
    public HelloController(DiscoveryClient client) {
        this.client = client;
    }

    @GetMapping("/hello")
    public String sayHello() {
        List serviceInstances = client.getInstances("eureka-client");
        serviceInstances.forEach(serviceInstance -> {
            log.info("Host: {}, Port: {}", serviceInstance.getHost(), serviceInstance.getPort());
            log.info("serviceId: {}, InstanceId: {}", serviceInstance.getServiceId(), serviceInstance.getInstanceId());
        });
        return "Hello, Spring Cloud Eureka. - " + LocalDateTime.now().toString();
    }
}
先啟動(dòng)Eureka Server,再啟動(dòng)Eureka Client,測(cè)試

訪問http://localhost:111/eureka/,如果Server和Client都啟動(dòng)成功并且配置正確的情況將會(huì)如下情況。

訪問http://localhost:2222/hello/,會(huì)出現(xiàn)文字信息和日志輸出。

簡(jiǎn)單的入門案例就此搭建結(jié)束,雖然沒實(shí)現(xiàn)什么功能,但是我們可以從服務(wù)注冊(cè)中心觀察到可用的Eureka Client實(shí)例,和在日志中打印服務(wù)實(shí)例的一些簡(jiǎn)短信息。

1.4 Eureka Server的REST API
Eureka 在 GitHub 的 wiki 上專門寫了一篇《 Eureka REST operations》來介紹 Eureka Server 的 REST API 接口,Spring Cloud Netfix Eureka 跟 Spring Boot 適配之后,提供的 REST API 與原始的 REST API 有一點(diǎn)點(diǎn)不同,其路徑中的 {version} 值固定為 eureka,其他的變化不大.

以下簡(jiǎn)單演示apps的REST端點(diǎn):訪問http://localhost:1111/eureka/apps,會(huì)得到以下返結(jié)果。


    1
    UP_1_
    
        EUREKA-CLIENT
        
            localhost:eureka-client:2222
            localhost
            EUREKA-CLIENT
            192.168.91.1
            UP
            UNKNOWN
            2222
            443
            1
            
                MyOwn
            
            
                30
                90
                1557113978372
                1557114128293
                0
                1557113978373
            
            
                2222
            
            http://localhost:2222/
            http://localhost:2222/actuator/info
            http://localhost:2222/actuator/health
            eureka-client
            eureka-client
            false
            1557113978373
            1557113978278
            ADDED
        
    

文末提供一些,服務(wù)發(fā)現(xiàn)選型對(duì)比,下篇文章介紹Eureka的核心類及其內(nèi)容。

2. 服務(wù)發(fā)現(xiàn)選型


其中比較受眾關(guān)注的就是Eureka和Consul這兩款產(chǎn)品,這兩款產(chǎn)品各有所長(zhǎng),各有所適,開發(fā)者可用按需選擇。

個(gè)人微信公眾號(hào),歡迎交流鴨!

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/74427.html

相關(guān)文章

  • Spring Cloud構(gòu)建微服務(wù)架構(gòu):服務(wù)注冊(cè)與發(fā)現(xiàn)(Eureka、Consul)【Dalston

    摘要:屬性對(duì)應(yīng)服務(wù)注冊(cè)中心的配置內(nèi)容,指定服務(wù)注冊(cè)中心的位置。項(xiàng)目是針對(duì)的服務(wù)治理實(shí)現(xiàn)。下面可以嘗試讓的服務(wù)提供者運(yùn)行起來。我們可以用下面的命令啟動(dòng)的開發(fā)模式服務(wù)端啟動(dòng)完成之后,我們?cè)賹⒅案脑旌蟮姆?wù)提供者啟動(dòng)起來。 已經(jīng)有非常長(zhǎng)的時(shí)間沒有更新《Spring Cloud構(gòu)建微服務(wù)架構(gòu)》系列文章了,自從開始寫Spring Cloud的專題內(nèi)容開始就獲得了不少的閱讀量和認(rèn)可,當(dāng)然也有一些批評(píng)...

    djfml 評(píng)論0 收藏0
  • spring-cloud-eureka服務(wù)治理

    摘要:服務(wù)續(xù)約在服務(wù)注冊(cè)完成之后,服務(wù)提供者需要維護(hù)一個(gè)心跳來告知注冊(cè)中心服務(wù)實(shí)例處于正常運(yùn)行狀態(tài)中,防止注冊(cè)中心將正常的服務(wù)實(shí)例剔除出注冊(cè)中心。 Spring Cloud Eureka 目錄 前言 構(gòu)建服務(wù)注冊(cè)中心 服務(wù)注冊(cè)與發(fā)現(xiàn) Eureka的基礎(chǔ)架構(gòu) Eureka的服務(wù)治理機(jī)制 Eureka的配置 代碼地址 前言 服務(wù)治理 ?隨著微服務(wù)應(yīng)用的不斷增加,靜態(tài)配置會(huì)越來越難以維護(hù),并且...

    Clect 評(píng)論0 收藏0
  • SpringCloud核心教程 | 第三篇:服務(wù)注冊(cè)與發(fā)現(xiàn) Eureka

    摘要:下一篇介紹基于的服務(wù)注冊(cè)與調(diào)用。服務(wù)提供者工程配置這里服務(wù)提供者是使用之前進(jìn)階教程第三篇整合連接池以及監(jiān)控改造而來,這里一樣的部分就不再重復(fù)說明,下面將說明新增的部分。 Spring Cloud簡(jiǎn)介 Spring Cloud是一個(gè)基于Spring Boot實(shí)現(xiàn)的云應(yīng)用開發(fā)工具,它為基于JVM的云應(yīng)用開發(fā)中涉及的配置管理、服務(wù)發(fā)現(xiàn)、斷路器、智能路由、微代理、控制總線、全局鎖、決策競(jìng)選、分...

    scq000 評(píng)論0 收藏0
  • Spring Cloud構(gòu)建微服務(wù)架構(gòu):服務(wù)消費(fèi)(基礎(chǔ))【Dalston版】

    摘要:下面的例子,我們將利用上一篇中構(gòu)建的作為服務(wù)注冊(cè)中心作為服務(wù)提供者作為基礎(chǔ)。我們先來創(chuàng)建一個(gè)服務(wù)消費(fèi)者工程,命名為。初始化,用來真正發(fā)起請(qǐng)求。注解用來將當(dāng)前應(yīng)用加入到服務(wù)治理體系中。 通過上一篇《Spring Cloud構(gòu)建微服務(wù)架構(gòu):服務(wù)注冊(cè)與發(fā)現(xiàn)》,我們已經(jīng)成功地將服務(wù)提供者:eureka-client或consul-client注冊(cè)到了Eureka服務(wù)注冊(cè)中心或Consul服務(wù)端...

    livem 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<