91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

SpringCloud之服務注冊與發現Spring Cloud Eureka的示例分析

發布時間:2021-07-22 09:43:50 來源:億速云 閱讀:156 作者:小新 欄目:編程語言

這篇文章主要為大家展示了“SpringCloud之服務注冊與發現Spring Cloud Eureka的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“SpringCloud之服務注冊與發現Spring Cloud Eureka的示例分析”這篇文章吧。

一、Spring Cloud簡介

Spring Cloud是一個基千SpringBoot實現的微服務架構開發 工具。它為微服務架構中涉及的 配置管理、服務治理、 斷路器、 智能路由、微代理、 控制總線、 全局鎖、 決策競選、分布式會話和集群狀態管理等操作提供了一種簡單的開發方式。
Spring Cloud包含了多個子項目(針對分布式系統中涉及的多個不同開源產品,還可能會新增),如下所述。

Spring Cloud Config: 配置管理工具、Spring Cloud Netflix: 核心組件、Spring Cloud Bus: 事件、消息總線等等。

二、Spring Cloud Eureka

Spring Cloud Eureka 是 Spring Cloud Netflix 微服務套件中的一部分, 它基于 NetflixEureka 做了二次封裝, 主要負責完成微服務架構中的服務治理功能。 Spring Cloud 通過為Eureka 增加了 Spring Boot 風格的自動化配置,我們只需通過簡單引入依賴和注解配置就能讓 Spring Boot 構建的微服務應用輕松地與 Eureka 服務治理體系進行整合。

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

三、實例

(1)工具:IntelliJ IDEA

(2)新建一個空項目

SpringCloud之服務注冊與發現Spring Cloud Eureka的示例分析

(3)新建一個Eureka Server,Module,名為:eurekaserver

工程右鍵->創建Module-> 選擇spring initialir ->填好項目名,下一步->,如圖選擇Eureka Server:

SpringCloud之服務注冊與發現Spring Cloud Eureka的示例分析

(3-1)pom.xml

<dependency> 
  <groupId>org.springframework.boot</groupId> 
  <artifactId>spring-boot-starter-web</artifactId> 
</dependency> 
 
<dependency> 
  <groupId>org.springframework.cloud</groupId> 
  <artifactId>spring-cloud-starter-eureka-server</artifactId> 
</dependency> 
 
<dependency> 
  <groupId>org.springframework.boot</groupId> 
  <artifactId>spring-boot-starter-test</artifactId> 
  <scope>test</scope> 
</dependency>

(3-2)application.yml

server: 
 port: 5555 
 
eureka: 
 instance: 
  hostname: localhost 
 client: 
  registerWithEureka: false 
  fetchRegistry: false 
  serviceUrl: 
   defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

備注:eureka.client.register-with-eureka: 由于該應用為注冊中心,所以設置為 false, 代表不向注冊中心注冊自己。
eureka.client.fetch-registry: 由于注冊中心的職責就是維護服務實例,它并不需要去檢索服務, 所以也設置為 false。

(3-3)入口類

import org.springframework.boot.SpringApplication; 
import org.springframework.boot.autoconfigure.SpringBootApplication; 
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; 
 
@EnableEurekaServer 
@SpringBootApplication 
public class EurekaserverApplication { 
 
  public static void main(String[] args) { 
    SpringApplication.run(EurekaserverApplication.class, args); 
  } 
}

(3-4)啟動測試

SpringCloud之服務注冊與發現Spring Cloud Eureka的示例分析

在完成了上面的配置后,啟動應用并訪問 http://localhost:5555/。可以看到如下圖所示的 Eureka 信息面板, 其中 Instances currently registered with Eureka 欄是空的, 說明該注冊中心還沒有注冊任何服務。

(4)注冊服務提供者在完成了服務注冊中心的搭建之后,接下來我們嘗試將一個既有的 Spring Boot 應用加入 Emeka 的服務治理體系中去。

(5)再新建一個Eureka Client,Module,名為:helloserver,這個helloserver作為eurekaserver的子model

SpringCloud之服務注冊與發現Spring Cloud Eureka的示例分析

(6)改造父model和子model的pom配置(6-1)eurekaserver的pom.xml配置:

<packaging>pom</packaging> 
<modules> 
  <module>../helloserver</module> 
</modules>

(6-2)eurekaserver的全部pom.xml:

<?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" 
  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.example</groupId> 
  <artifactId>demoeurekaserver</artifactId> 
  <version>0.0.1-SNAPSHOT</version> 
  <packaging>pom</packaging> 
  <modules> 
    <module>../helloserver</module> 
  </modules> 
  <name>eurekaserver</name> 
  <description>Demo project for Spring Boot</description> 
 
  <parent> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>1.5.9.RELEASE</version> 
    <relativePath/> <!-- lookup parent from repository --> 
  </parent> 
 
  <properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 
    <java.version>1.8</java.version> 
    <spring-cloud.version>Edgware.RELEASE</spring-cloud.version> 
  </properties> 
 
  <dependencies> 
    <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-web</artifactId> 
    </dependency> 
 
    <dependency> 
      <groupId>org.springframework.cloud</groupId> 
      <artifactId>spring-cloud-starter-eureka-server</artifactId> 
    </dependency> 
 
    <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-test</artifactId> 
      <scope>test</scope> 
    </dependency> 
  </dependencies> 
 
  <dependencyManagement> 
    <dependencies> 
      <dependency> 
        <groupId>org.springframework.cloud</groupId> 
        <artifactId>spring-cloud-dependencies</artifactId> 
        <version>${spring-cloud.version}</version> 
        <type>pom</type> 
        <scope>import</scope> 
      </dependency> 
    </dependencies> 
  </dependencyManagement> 
  <build> 
    <plugins> 
      <plugin> 
        <groupId>org.springframework.boot</groupId> 
        <artifactId>spring-boot-maven-plugin</artifactId> 
      </plugin> 
    </plugins> 
  </build> 
</project>

(6-3)helloserver的pom.xml配置:

<parent> 
  <groupId>com.example</groupId> 
  <artifactId>demoeurekaserver</artifactId> 
  <version>0.0.1-SNAPSHOT</version> 
  <relativePath>../eurekaserver/pom.xml</relativePath> 
</parent>

(6-4)helloserver的全部pom.xml配置:

<?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" 
     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> 
  <parent> 
    <groupId>com.example</groupId> 
    <artifactId>demoeurekaserver</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <relativePath>../eurekaserver/pom.xml</relativePath> 
  </parent> 
  <artifactId>helloserver</artifactId> 
  <packaging>jar</packaging> 
  <name>helloserver</name> 
  <description>Demo project for Spring Boot</description> 
  <properties> 
    <start-class>com.example.helloserver.HelloserverApplication</start-class> 
  </properties> 
  <dependencies> 
    <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-web</artifactId> 
    </dependency> 
 
    <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-test</artifactId> 
      <scope>test</scope> 
    </dependency> 
  </dependencies> 
 
  <dependencyManagement> 
    <dependencies> 
      <dependency> 
        <groupId>org.springframework.cloud</groupId> 
        <artifactId>spring-cloud-dependencies</artifactId> 
        <version>${spring-cloud.version}</version> 
        <type>pom</type> 
        <scope>import</scope> 
      </dependency> 
    </dependencies> 
  </dependencyManagement> 
 
  <build> 
    <plugins> 
      <plugin> 
        <groupId>org.springframework.boot</groupId> 
        <artifactId>spring-boot-maven-plugin</artifactId> 
      </plugin> 
    </plugins> 
  </build> 
</project>

(6-5)helloserver的application.yml配置:

server: 
 port: 5556 
 
spring: 
 application: 
  name: helloserver 
eureka: 
 client: 
  serviceUrl: 
   defaultZone: http://localhost:5555/eureka/

(6-6)helloserver的啟動類:

@EnableEurekaServer 
@SpringBootApplication 
@RestController 
public class HelloserverApplication { 
  private final Logger log = (Logger) LoggerFactory.getLogger(HelloserverApplication.class); 
  @Autowired 
  private DiscoveryClient client; 
 
  @RequestMapping(name = "/hello", method = RequestMethod.GET) 
  public String index() { 
    ServiceInstance instance = client.getLocalServiceInstance(); 
    log.info("/hello, host:" + instance.getHost() + ",service_id:" + instance.getServiceId()); 
    return "Hello SpringCloud~"; 
  } 
 
  public static void main(String[] args) { 
    SpringApplication.run(HelloserverApplication.class, args); 
  } 
}

(7)分別啟動eurekaserver和helloserver,并測試:

(7-1)訪問eurekaserver:(可以很清楚的看到HELLOSERVER信息)

SpringCloud之服務注冊與發現Spring Cloud Eureka的示例分析

(7-2)訪問helloserver:

SpringCloud之服務注冊與發現Spring Cloud Eureka的示例分析

(7-3)查看helloserver控制臺信息:

SpringCloud之服務注冊與發現Spring Cloud Eureka的示例分析

以上是“SpringCloud之服務注冊與發現Spring Cloud Eureka的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

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

AI

龙川县| 五华县| 晋城| 永清县| 左权县| 新建县| 射洪县| 柳江县| 诸暨市| 勐海县| 象州县| 铁岭市| 西乡县| 闽清县| 轮台县| 宜春市| 疏附县| 磐安县| 遂昌县| 临澧县| 梁平县| 两当县| 阿图什市| 麦盖提县| 铜陵市| 正镶白旗| 惠安县| 阳城县| 临汾市| 磴口县| 疏附县| 思南县| 泰顺县| 新平| 兴仁县| 方正县| 高阳县| 天门市| 万年县| 永仁县| 崇明县|