国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - spring cloud 使用Eureka 進行服務治理方法

spring cloud 使用Eureka 進行服務治理方法

2021-04-24 11:56JAVA開發老菜鳥 Java教程

這篇文章主要介紹了spring cloud 使用Eureka 進行服務治理方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

服務治理可以說是微服務架構中最為核心和基礎的模塊,它主要用來實現各個微服務實例的自動化注冊和發現。

spring cloud eureka是spring cloud netflix 微服務套件的一部分,主要負責完成微服務架構中的服務治理功能。

本文通過簡單的小例子來分享下如何通過eureka進行服務治理:

  1. 搭建服務注冊中心
  2. 注冊服務提供者
  3. 服務發現和消費

==========我是華麗的分割線========================

一、搭建服務注冊中心

先列出完整目錄結構:

spring cloud 使用Eureka 進行服務治理方法

搭建過程如下:

1.創建maven工程:eureka(具體實現略)

2.修改pom文件,引入依賴

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<project xmlns="http://maven.apache.org/pom/4.0.0"
 xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 <modelversion>4.0.0</modelversion>
 <groupid>com.sam</groupid>
 <artifactid>eureka</artifactid>
 <version>0.0.1-snapshot</version>
 
 <parent>
  <groupid>org.springframework.boot</groupid>
  <artifactid>spring-boot-starter-parent</artifactid>
  <version>1.5.1.release</version>
 </parent>
 
 <properties>
  <javaversion>1.8</javaversion>
 </properties>
 <!-- 使用dependencymanagement進行版本管理 -->
 <dependencymanagement>
  <dependencies>
   <dependency>
    <groupid>org.springframework.cloud</groupid>
    <artifactid>spring-cloud-dependencies</artifactid>
    <version>camden.sr6</version>
    <type>pom</type>
    <scope>import</scope>
   </dependency>
  </dependencies>
 </dependencymanagement>
 
 <dependencies>
  <!-- 引入eureka server依賴 -->
  <dependency>   <groupid>org.springframework.cloud</groupid>
   <artifactid>spring-cloud-starter-eureka-server</artifactid>
  </dependency>
 </dependencies>
</project>

3.創建啟動類

?
1
2
3
4
5
6
7
8
9
10
11
12
13
/**
 *
 * @enableeurekaserver
 * 用來指定該項目為eureka的服務注冊中心
 */
@enableeurekaserver
@springbootapplication
public class eurekaapp {
 
 public static void main(string[] args) {
  springapplication.run(eurekaapp.class, args);
 }
}

4.配置application.properties文件

?
1
2
3
4
5
6
7
8
9
10
11
12
#設置tomcat服務端口號
server.port=1111
#設置服務名稱
spring.application.name=eureka-service
 
eureka.instance.hostname=localhost
#注冊中心不需要注冊自己
eureka.client.register-with-eureka=false
#注冊中心不需要去發現服務
eureka.client.fetch-registry=false
#設置服務注冊中心的url
eureka.client.serviceurl.defaultzone=http://${eureka.instance.hostname}:${server.port}/eureka

5.啟動服務并訪問,我們會看到這樣的畫面:

spring cloud 使用Eureka 進行服務治理方法

二、注冊服務提供者

先列出完整目錄結構:

spring cloud 使用Eureka 進行服務治理方法

搭建過程如下:

1.創建maven工程:hello-service(具體實現略)

2.修改pom文件,引入依賴

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<project xmlns="http://maven.apache.org/pom/4.0.0"
 xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 <modelversion>4.0.0</modelversion>
 <groupid>com.sam</groupid>
 <artifactid>hello-service</artifactid>
 <version>0.0.1-snapshot</version>
 <parent>
  <groupid>org.springframework.boot</groupid>
  <artifactid>spring-boot-starter-parent</artifactid>
  <version>1.5.1.release</version>
 </parent>
 
 <properties>
  <javaversion>1.8</javaversion>
 </properties>
 
 <dependencymanagement>
  <dependencies>
   <dependency>
    <groupid>org.springframework.cloud</groupid>
    <artifactid>spring-cloud-dependencies</artifactid>
    <version>camden.sr6</version>
    <type>pom</type>
    <scope>import</scope>
   </dependency>
  </dependencies>
 </dependencymanagement>
 
 <dependencies>
  <!-- 引入eureka 客戶端依賴 -->
  <dependency>
   <groupid>org.springframework.cloud</groupid>
   <artifactid>spring-cloud-starter-eureka</artifactid>
  </dependency>
 </dependencies>
</project>

3.創建啟動類

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/***
 *
 * @enablediscoveryclient
 * 讓服務使用eureka服務器
 * 實現服務注冊和發現
 *
 */
@enablediscoveryclient
@springbootapplication
public class helloapp {
 public static void main(string[] args) {
  springapplication.run(helloapp.class, args);
 }
}

4.創建controller

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@restcontroller
public class hellocontroller {
 
 logger logger = loggerfactory.getlogger(hellocontroller.class);
 
 @autowired
 discoveryclient discoveryclient;
 
 @requestmapping("/hello")
 public string hello() {
  serviceinstance instance = discoveryclient.getlocalserviceinstance();
  //打印服務的服務id
  logger.info("*********" + instance.getserviceid());
  return "hello,this is hello-service";
 }
}

5.配置application.properties文件

?
1
2
3
4
5
server.port=9090
#設置服務名
spring.application.name=hello-service
#設置服務注冊中心的url,本服務要向該服務注冊中心注冊自己
eureka.client.serviceurl.defaultzone=http://localhost:1111/eureka

6.啟動并測試

1.)啟動后再hello-service的控制臺會有這種字樣(xxx代表你的pc名)

 

復制代碼 代碼如下:
registered instance hello-service/xxx:hello-service:9090 with status up (replication=false)

 

eureka的控制臺會打印出如下字樣(xxx代表你的pc名)

 

復制代碼 代碼如下:
registered instance hello-service/xxx:hello-service:9090 with status up (replication=false)

 

2.)再次訪問localhost:1111,會發現有服務注冊到注冊中心了

spring cloud 使用Eureka 進行服務治理方法

三、服務發現和消費

完整目錄結構如下:

spring cloud 使用Eureka 進行服務治理方法

搭建過程:

1.創建maven工程(具體實現略)

2.修改pom文件,引入依賴

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<project xmlns="http://maven.apache.org/pom/4.0.0"
 xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
 xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 <modelversion>4.0.0</modelversion>
 <groupid>com.sam</groupid>
 <artifactid>hello-consumer</artifactid>
 <version>0.0.1-snapshot</version>
 <parent>
  <groupid>org.springframework.boot</groupid>
  <artifactid>spring-boot-starter-parent</artifactid>
  <version>1.5.1.release</version>
 </parent>
 
 <properties>
  <javaversion>1.8</javaversion>
 </properties>
 
 <dependencymanagement>
  <dependencies>
   <dependency>
    <groupid>org.springframework.cloud</groupid>
    <artifactid>spring-cloud-dependencies</artifactid>
    <version>camden.sr6</version>
    <type>pom</type>
    <scope>import</scope>
   </dependency>
  </dependencies>
 
 </dependencymanagement>
 
 <dependencies>
  <!-- 引入eureka 客戶端依賴 -->
  <dependency>
   <groupid>org.springframework.cloud</groupid>
   <artifactid>spring-cloud-starter-eureka</artifactid>
  </dependency>
  <!-- 引入ribbon 依賴 ,用來實現負載均衡,我們這里只是使用,先不作其他介紹-->
  <dependency>
   <groupid>org.springframework.cloud</groupid>
   <artifactid>spring-cloud-starter-ribbon</artifactid>
  </dependency>
 
 </dependencies>
</project>

這里比hello-service服務提供者,多了ribbon的依賴

3.創建啟動類

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@enablediscoveryclient
@springbootapplication
public class consumerapp {
 
 
 //@bean 應用在方法上,用來將方法返回值設為為bean
 @bean
 @loadbalanced //@loadbalanced實現負載均衡
 public resttemplate resttemplate() {
  return new resttemplate();
 }
 
 public static void main(string[] args) {
  springapplication.run(consumerapp.class, args);
 }
}

這里也要用到@enablediscoveryclient, 讓服務使用eureka服務器, 實現服務注冊和發現 

4.創建controller

?
1
2
3
4
5
6
7
8
9
10
11
12
@restcontroller
public class consumercontroller {
 //這里注入的resttemplate就是在com.sam.consumerapp中通過@bean配置的實例
 @autowired
 resttemplate resttemplate;
 @requestmapping("/hello-consumer")
 public string helloconsumer() {
  //調用hello-service服務,注意這里用的是服務名,而不是具體的ip+port
  resttemplate.getforobject("http://hello-service/hello", string.class);
  return "hello consumer finish !!!";
 }
}

5.配置application.properties文件

?
1
2
3
4
server.port=9999
spring.application.name=hello-consumer
eureka.client.serviceurl.defaultzone=http://localhost:1111/eureka
#這里的配置項目和服務提供者hello-service一樣

6.啟動,測試1.)啟動eureka。為了展示負責均衡的效果,我們的hello-service啟動兩個服務,啟動兩個服務的具體步驟如下

spring cloud 使用Eureka 進行服務治理方法

spring cloud 使用Eureka 進行服務治理方法

spring cloud 使用Eureka 進行服務治理方法

spring cloud 使用Eureka 進行服務治理方法

以上是hello-service1的啟動步驟,端口號為9090;同樣方法設置hello-service2,端口號為9091(具體實現略)。

2.)啟動hello-consumer

3.)再次訪問http://localhost:1111/,會發現有2個hello-service服務(端口號一個是9090,一個是9091),1個hello-consume服務

4.) 多次訪問http://localhost:9999/hello-consumer,會發現hello-service1和hello-service2會輪流被調用(已經實現了負責均衡),可以通過兩者的控制臺打印內容確認(還記得我們在hello-service的controller中有個loggerlogger.info("*********" + instance.getserviceid());嗎?對,就是這個打印)

spring cloud 使用Eureka 進行服務治理方法

spring cloud 使用Eureka 進行服務治理方法

spring cloud 使用Eureka 進行服務治理方法

spring cloud 使用Eureka 進行服務治理方法

四、總結

以上實例實現了基本的服務治理:

  1. 通過spring-cloud-starter-eureka-server和@enableeurekaserver實現服務注冊中心
  2. 通過spring-cloud-starter-eureka和@enablediscoveryclient使用并注冊到服務注冊中心
  3. 通過spring-cloud-starter-eureka和@enablediscoveryclient使用注冊中心并發現服務,通過spring-cloud-starter-ribbon來實現負載均衡消費服務

ps:這里說明下,我用的ide是spring tool suite,是spring定制版的eclipse,方便我們使用spring進行開發,有興趣的朋友可以自行百度了解下。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://www.cnblogs.com/sam-uncle/p/8954401.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 在线观看国产视频 | 亚洲欧美在线综合 | 久久小视频 | 精品中文字幕在线 | 亚洲精品中文字幕在线观看 | 久久综合久久综合久久 | 亚洲精品福利在线 | 久久99精品久久久久久园产越南 | 91精品国产乱码久久久久久久久 | 亚洲精品无码专区在线播放 | 操批网站| 精品欧美乱码久久久久久1区2区 | 久久国产亚洲精品 | 久久精品亚洲 | 中文字幕免费看 | 在线观看日韩精品 | 日韩午夜一级片 | 成人影院在线 | 成年人毛片在线观看 | 日韩国产在线观看 | 亚洲一区二区 | 在线观看国产 | 香蕉av777xxx色综合一区 | 久久精品xx老女人老配少 | 亚洲 欧美 精品 | 亚洲日本va中文字幕 | 起碰在线视频 | www一区二区 | 黄色污污视频 | 国产精品久久久久久a | 自拍第1页 | 国产精品久久久久久婷婷天堂 | 中文字幕免费在线 | 一区二区三区久久 | 99免费视频 | 性视频网站免费 | 国产在线不卡一区 | 免费国产一区 | 在线播放一区二区三区 | 欧美 亚洲 另类 激情 另类 | 成人综合区 |