成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Spring Cloud Eureka 入門之服務(wù)注冊中心詳解 ...

企業(yè)動態(tài)
Eureka,這里是 Spring Cloud Eureka 的簡稱,是 Spring Cloud Netflix 組件之一。Spring Cloud Netflix 中核心的組件包括了服務(wù)治理(Eureka),服務(wù)容斷(Hystrix),路由(Zuul)和客戶端負(fù)載均衡(Ribbon)。在系列第三篇,服務(wù)消費者講解會涉及到 Ribbon 的使用。

 [[195583]]

本文提綱

1. Eureka 服務(wù)治理

1.1 什么是 Eureka

1.2 Eureka 集群架構(gòu)

2. 運行 Eureka 工程 springcloud-eureka-server

3. 詳解 Eureka 工程 springcloud-eureka-server

一、Eureka 服務(wù)治理

1.1 什么是 Eureka

Eureka,這里是 Spring Cloud Eureka 的簡稱,是 Spring Cloud Netflix 組件之一。Spring Cloud Netflix 中核心的組件包括了服務(wù)治理(Eureka),服務(wù)容斷(Hystrix),路由(Zuul)和客戶端負(fù)載均衡(Ribbon)。在系列第三篇,服務(wù)消費者講解會涉及到 Ribbon 的使用。

回到 Spring Cloud Eureka,是基于 Netflix Eureka (Netflix 是 Java 實現(xiàn)的開源軟件)。服務(wù)治理(Eureka)包括服務(wù)注冊、服務(wù)發(fā)現(xiàn)和服務(wù)檢測監(jiān)控等,自然本文介紹下 Eureka 作為服務(wù)注冊中心。

1.2 Eureka 架構(gòu)

Eureka 作為服務(wù)治理,必然滿足下面幾點:

  • 服務(wù)本身不存在單點故障,
  • 支持集群,即高可用性
  • 服務(wù)與服務(wù)之間通過服務(wù)注冊中心找到彼此實例

作為服務(wù)端(即服務(wù)注冊中心),包括

  • 管理服務(wù)實例
  • 提供服務(wù)注冊或下線
  • 提供服務(wù)發(fā)現(xiàn)
  • 提供服務(wù)注冊表至兩類客戶端(即服務(wù)提供者和消費者)

作為客戶端(即服務(wù)提供者和消費者),包括

  • 連接服務(wù)注冊中心
  • 向服務(wù)注冊中心注冊或者下線服務(wù)實例
  •  向服務(wù)注冊中心或服務(wù)注冊緩存列表查詢服務(wù)

Eureka 集群架構(gòu)如圖所示:

二、運行工程

運行 Eureka 工程 springcloud-eureka-server

運行環(huán)境:JDK 7 或 8,Maven 3.0+

技術(shù)棧:Spring Cloud Dalston.SR1、 spring-cloud-netflix 1.3.1、Spring Boot 1.5.4

1. git clone 下載工程 springcloud-learning-example

項目地址見 GitHub - https://github.com/JeffLi1993/springcloud-learning-example

git clone https://github.com/JeffLi1993/springcloud-learning-example.git

2. Maven 編譯安裝這個工程:

  1. cd springcloud-learning-example 
  2. mvn clean install 

3. 運行 springcloud-eureka-server Eureka 工程

右鍵 Main 函數(shù) Run Eureka Server 啟動類 EurekaServerApplication,啟動服務(wù)注冊中心工程。

EurekaServerApplication 類地址:/springcloud-learning-example/springcloud-eureka-sample/springcloud-eureka-server/src/main/java/org/spring/springboot/EurekaServerApplication.java

控制臺 Console 看到這類信息,代表啟動成功:

  1. 2017-06-30 10:32:47.549  INFO 2977 --- [      Thread-11] e.s.EurekaServerInitializerConfiguration : Started Eureka Server2017-06-30 10:32:47.625  INFO 2977 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8888 (http) 
  2. 2017-06-30 10:32:47.626  INFO 2977 --- [           main] .s.c.n.e.s.EurekaAutoServiceRegistration : Updating port to 8888 
  3. 2017-06-30 10:32:47.632  INFO 2977 --- [           main] o.s.springboot.EurekaServerApplication   : Started EurekaServerApplication in 23.168 seconds 

4. 訪問 Eureka 注冊中心可視化界面

打開瀏覽器,訪問 http://localhost:8888/ ,如圖所示

可以看到主體信息包括:

  • 系統(tǒng)狀態(tài):環(huán)境、運行時間、更新時間等
  • 注冊信息:服務(wù)名、服務(wù)地址、服務(wù)狀態(tài)
  • 基本信息:環(huán)境、內(nèi)存、副本信息
  • 實例信息:IP、端口

三、工程代碼詳解

詳解 Eureka 工程 springcloud-eureka-server

1.springcloud-eureka-server 工程目錄結(jié)構(gòu)

  1. ├── pom.xml└── src 
  2.     └── main 
  3.         ├── java 
  4.         │   └── org 
  5.         │       └── spring 
  6.         │           └── springcloud 
  7.         │               ├── EurekaServerApplication.java 
  8.         └── resources 
  9.             └── application.yml 

EurekaServerApplication.java Eureka Server 啟動類

application.yml 配置文件

2. pom.xml 配置

  1. <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  2.          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/ma ... gt%3B 
  3.      
  4. <modelVersion>4.0.0</modelVersion>     
  5. <groupId>springcloud</groupId>     
  6. <artifactId>springcloud-eureka-server</artifactId>     
  7. <version>0.0.1-SNAPSHOT</version>     
  8.  
  9. <name>springcloud-eureka-server :: Spring Cloud Eureka 服務(wù)注冊中心</name>     
  10.  
  11. <!-- Spring Boot 啟動父依賴 --><parent><groupId>org.springframework.boot</groupId>         
  12. <artifactId>spring-boot-starter-parent</artifactId>         
  13. <version>1.5.4.RELEASE</version>     
  14. </parent> 
  15.  
  16.  
  17.     <dependencies> 
  18.         <!-- Spring Cloud Netflix Eureka Server 依賴 --> 
  19.         <dependency> 
  20.             <groupId>org.springframework.cloud</groupId>             
  21.     <artifactId>spring-cloud-starter-eureka-server</artifactId>         
  22.     </dependency> 
  23.          
  24.      
  25.     <!-- Spring Boot Test 依賴 --> 
  26.         <dependency> 
  27.             <groupId>org.springframework.boot</groupId>             
  28.     <artifactId>spring-boot-starter-test</artifactId>           <scope>test</scope>         
  29.     </dependency> 
  30.      
  31.     </dependencies> 
  32.     <dependencyManagement> 
  33.         <dependencies> 
  34.             <!-- Spring Cloud Netflix 依賴 --> 
  35.             <dependency> 
  36.                 <groupId>org.springframework.cloud</groupId>                <artifactId>spring-cloud-netflix</artifactId>                 
  37.     <version>1.3.1.RELEASE</version>                <type>pom</type>                 
  38.     <scope>import</scope>             
  39.     </dependency> 
  40.         </dependencies> 
  41.     </dependencyManagement> 
  42.     <build> 
  43.         <plugins> 
  44.             <plugin> 
  45.                 <groupId>org.apache.maven.plugins</groupId>                <artifactId>maven-compiler-plugin</artifactId>                 
  46.     <configuration> 
  47.                     <source>1.8</source>                     
  48.     <target>1.8</target>                 
  49.     </configuration> 
  50.             </plugin> 
  51.         </plugins> 
  52.     </build> 
  53. </project> 

使用的依賴是

  • spring-cloud-netflix 1.3.1 是 Spring Cloud Dalston.SR1 版本。
  • spring-cloud-starter-eureka-server Eureka Server 模塊依賴

上面提到的客戶端負(fù)載均衡 Ribbon ,可以依賴樹中看出 spring-cloud-starter-eureka-server 依賴了 Ribbon 相關(guān)的庫。因為一般 eureka 本身作為服務(wù)自注冊實現(xiàn)高可用,也可以作為客戶端調(diào)用其他服務(wù)。

3. application.yml 配置

  1. server: 
  2.   port: 8888 # 服務(wù)端口eureka: 
  3.   instance: 
  4.     hostname: localhost # 設(shè)置主機名 
  5.   client: 
  6.     registerWithEureka: false # 是否向 Eureka 注冊服務(wù)。該應(yīng)用為服務(wù)注冊中心,不需要自注冊,設(shè)置為 false 
  7.     fetchRegistry: false      # 是否檢索服務(wù)。該應(yīng)用為服務(wù)注冊中心,職責(zé)為注冊和發(fā)現(xiàn)服務(wù),無需檢索服務(wù),設(shè)置為 false 
  8.   server: 
  9.     waitTimeInMsWhenSyncEmpty: 0 # 設(shè)置同步為空時的等待時間。默認(rèn) 5 * MINUTES 

application.property,可以看下面的配置解釋:

  • server.port 設(shè)置工程服務(wù)端口
  • eureka.instance.hostname Eureka 實例主機名
  • eureka.client.registerWithEureka 是否向 Eureka 注冊服務(wù)。服務(wù)注冊中心服務(wù),沒有作為集群,所以不需要自注冊,設(shè)置為 false
  • eureka.client.fetchRegistry 是否檢索服務(wù)。該應(yīng)用為服務(wù)注冊中心,職責(zé)為注冊和發(fā)現(xiàn)服務(wù),無需檢索服務(wù),設(shè)置為 false
  • eureka.server.waitTimeInMsWhenSyncEmpty 設(shè)置同步為空時的等待時間。默認(rèn) 5 * MINUTES

4.注冊中心應(yīng)用啟動類

  1. /** 
  2.  * Spring Boot Eureka Server 應(yīng)用啟動類 
  3.  * 
  4.  * Created by bysocket on 21/06/17. 
  5.  */ 
  6.  
  7. @EnableEurekaServer     // Eureka Server 標(biāo)識 
  8. @SpringBootApplication  // Spring Boot 應(yīng)用標(biāo)識 
  9. public class EurekaServerApplication {     
  10.  
  11. public static void main(String args) {        // 程序啟動入口 
  12.    
  13.        // 啟動嵌入式的 Tomcat 并初始化 Spring 環(huán)境及其各 Spring 組件 
  14.         SpringApplication.run(EurekaServerApplication.class,args); 
  15.         
  16.     } 

@EnableEurekaServer 標(biāo)志該應(yīng)用作為 Eureka Server ,并會自動化讀取相關(guān)配置。

四、小結(jié)

此小章節(jié)介紹了如何 Eureka 作為服務(wù)注冊中心 Server,下一小結(jié)講下 服務(wù)提供者詳解 具體是如何向服務(wù)注冊中心注冊自己的。

【本文為51CTO專欄作者“李強強”的原創(chuàng)稿件,轉(zhuǎn)載請通過51CTO聯(lián)系作者獲取授權(quán)】

戳這里,看該作者更多好文

責(zé)任編輯:武曉燕 來源: 51CTO專欄
相關(guān)推薦

2017-07-11 14:48:33

Spring Clou服務(wù)提供者

2017-08-18 15:14:04

Spring Clou服務(wù)消費者

2025-03-31 08:35:00

Eureka微服務(wù)架構(gòu)

2017-06-25 13:33:25

Spring Clou微服務(wù)架構(gòu)

2024-11-21 16:09:22

2023-04-28 07:52:14

CAPEureka注冊中心

2019-08-23 10:34:05

微服務(wù)Eureka架構(gòu)

2024-07-10 10:51:39

SpringEureka數(shù)據(jù)中心

2020-06-29 07:58:18

ZooKeeperConsul 注冊中心

2020-01-10 10:58:34

ZooKeeperEureka注冊中心

2021-04-28 08:05:30

SpringCloudEureka服務(wù)注冊

2021-01-14 07:54:19

Spring Clou應(yīng)用路由

2024-09-14 09:21:55

Spring微服務(wù)服務(wù)間調(diào)用

2024-08-05 10:03:53

2018-07-13 09:55:35

Eureka閉源Spring Clou

2021-04-20 17:20:59

SpringColud EurekaNetflix開發(fā)

2022-02-07 07:10:32

服務(wù)注冊功能

2023-12-23 18:04:40

服務(wù)Eureka工具

2018-03-02 16:11:29

Spring Clou分布式服務(wù)跟蹤

2021-08-04 11:54:25

Nacos注冊中心設(shè)計
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 性高湖久久久久久久久 | 91天堂网| 亚洲成人第一页 | 丁香综合 | 国产一区成人 | 伊人狠狠 | 熟女毛片| 在线观看成人小视频 | 人人cao | 天天影视色综合 | 久久毛片网站 | 蜜桃视频在线观看免费视频网站www | 日韩在线不卡视频 | 男人天堂网址 | 成人免费观看男女羞羞视频 | 日韩免费视频 | 久久成人一区 | 欧美一区二区三区电影 | 欧美国产精品一区二区三区 | 色资源在线视频 | 伊人久久综合 | 国产网站在线免费观看 | 中文字幕在线三区 | 看av电影 | 韩日视频在线观看 | 国产一区二区精品在线观看 | 午夜电影网站 | 婷婷久久一区 | 欧美三级三级三级爽爽爽 | 精精久久| 玖玖视频 | 欧美性大战久久久久久久蜜臀 | 91精品国产综合久久久久久丝袜 | www.精品国产 | 欧美精品在线一区二区三区 | 久国产| 一级高清免费毛片 | 国产成人精品久久久 | 中文字幕精品一区二区三区精品 | 国产在线精品一区二区三区 | 日日干日日色 |