国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

服務治理:Spring Cloud Eureka(上)

dackel / 830人閱讀

摘要:服務治理上是由開源的一款基于的服務治理組件,包括及。由于種種原因,版本已經凍結開發,目前最新版本是年月份發布的版本。服務發現選型其中比較受眾關注的就是和這兩款產品,這兩款產品各有所長,各有所適,開發者可用按需選擇。

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

所有工程使用Spring Cloud的新版Greenwich.SR1和Maven構建。

1.2.1 創建Spring Cloud Eureka Server工程

pom.xml內容如下:

    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片段稍微有點不同

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

在啟動類上加上@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

# 后面詳細講配置
1.2.4 編譯、啟動

瀏覽器訪問http://localhost:1111/出現如下頁面就說明服務端簡單案例構建成功。

1.3 Eureka Client簡單案例 1.3.1 創建Eureka Client工程

pom.xml內容如下:

    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 啟動類啟用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屬性,在注冊中心的實例名都將是UNKNOWN
eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:1111/eureka/ # 服務注冊中心地址
1.3.4 HelloController簡單打印輸出
@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();
    }
}
先啟動Eureka Server,再啟動Eureka Client,測試

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

訪問http://localhost:2222/hello/,會出現文字信息和日志輸出。

簡單的入門案例就此搭建結束,雖然沒實現什么功能,但是我們可以從服務注冊中心觀察到可用的Eureka Client實例,和在日志中打印服務實例的一些簡短信息。

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 有一點點不同,其路徑中的 {version} 值固定為 eureka,其他的變化不大.

以下簡單演示apps的REST端點:訪問http://localhost:1111/eureka/apps,會得到以下返結果。


    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
        
    

文末提供一些,服務發現選型對比,下篇文章介紹Eureka的核心類及其內容。

2. 服務發現選型


其中比較受眾關注的就是Eureka和Consul這兩款產品,這兩款產品各有所長,各有所適,開發者可用按需選擇。

個人微信公眾號,歡迎交流鴨!

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/74427.html

相關文章

  • Spring Cloud構建微服務架構:服務注冊與發現(Eureka、Consul)【Dalston

    摘要:屬性對應服務注冊中心的配置內容,指定服務注冊中心的位置。項目是針對的服務治理實現。下面可以嘗試讓的服務提供者運行起來。我們可以用下面的命令啟動的開發模式服務端啟動完成之后,我們再將之前改造后的服務提供者啟動起來。 已經有非常長的時間沒有更新《Spring Cloud構建微服務架構》系列文章了,自從開始寫Spring Cloud的專題內容開始就獲得了不少的閱讀量和認可,當然也有一些批評...

    djfml 評論0 收藏0
  • spring-cloud-eureka服務治理

    摘要:服務續約在服務注冊完成之后,服務提供者需要維護一個心跳來告知注冊中心服務實例處于正常運行狀態中,防止注冊中心將正常的服務實例剔除出注冊中心。 Spring Cloud Eureka 目錄 前言 構建服務注冊中心 服務注冊與發現 Eureka的基礎架構 Eureka的服務治理機制 Eureka的配置 代碼地址 前言 服務治理 ?隨著微服務應用的不斷增加,靜態配置會越來越難以維護,并且...

    Clect 評論0 收藏0
  • SpringCloud核心教程 | 第三篇:服務注冊與發現 Eureka

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

    scq000 評論0 收藏0
  • Spring Cloud構建微服務架構:服務消費(基礎)【Dalston版】

    摘要:下面的例子,我們將利用上一篇中構建的作為服務注冊中心作為服務提供者作為基礎。我們先來創建一個服務消費者工程,命名為。初始化,用來真正發起請求。注解用來將當前應用加入到服務治理體系中。 通過上一篇《Spring Cloud構建微服務架構:服務注冊與發現》,我們已經成功地將服務提供者:eureka-client或consul-client注冊到了Eureka服務注冊中心或Consul服務端...

    livem 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<