亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在spring cloud中使用Eureka 實現服務治理

發布時間:2021-05-17 17:12:53 來源:億速云 閱讀:98 作者:Leah 欄目:編程語言

怎么在spring cloud中使用Eureka 實現服務治理?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

一、搭建服務注冊中心

先列出完整目錄結構:

怎么在spring cloud中使用Eureka 實現服務治理

搭建過程如下:

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

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

<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.創建啟動類

/**
 * 
 * @EnableEurekaServer
 * 用來指定該項目為Eureka的服務注冊中心
 */
@EnableEurekaServer
@SpringBootApplication
public class EurekaApp {

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

4.配置application.properties文件

#設置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文件,引入依賴

<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.創建啟動類

/***
 * 
 * @EnableDiscoveryClient
 * 讓服務使用eureka服務器
 * 實現服務注冊和發現
 *
 */
@EnableDiscoveryClient
@SpringBootApplication
public class HelloApp {
 public static void main(String[] args) {
  SpringApplication.run(HelloApp.class, args);
 }
}

4.創建controller

@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文件

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文件,引入依賴

<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.創建啟動類

@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

@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文件

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 實現服務治理

關于怎么在spring cloud中使用Eureka 實現服務治理問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大理市| 邵武市| 旌德县| 微博| 山西省| 叙永县| 都昌县| 巨鹿县| 河北区| 滨州市| 宽城| 康定县| 射阳县| 龙南县| 博湖县| 乌兰察布市| 醴陵市| 天全县| 乐东| 富川| 柳江县| 大埔县| 利川市| 江永县| 灌阳县| 分宜县| 齐齐哈尔市| 潍坊市| 岢岚县| 横山县| 广水市| 西藏| 叙永县| 扎兰屯市| 离岛区| 鹤壁市| 台中市| 武宣县| 临漳县| 康马县| 务川|