最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring Cloud Eureka 注冊(cè)與發(fā)現(xiàn)操作步驟詳解

 更新時(shí)間:2021年03月12日 16:33:51   作者:godliu711  
這篇文章主要介紹了Spring Cloud Eureka 注冊(cè)與發(fā)現(xiàn)操作步驟詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

在搭建Spring Cloud Eureka環(huán)境前先要了解整個(gè)架構(gòu)的組成,常用的基礎(chǔ)模式如下圖:

在這里插入圖片描述

服務(wù)提供者:將springboot服務(wù)編寫(xiě)好以后,通過(guò)配置注冊(cè)中心地址方式注冊(cè),提供給消費(fèi)者使用。
注冊(cè)中心:服務(wù)的中間橋梁,服務(wù)提供者將服務(wù)注冊(cè)。服務(wù)消費(fèi)者可以通過(guò)注冊(cè)信息調(diào)用需要使用的服務(wù)。
服務(wù)消費(fèi)者:通過(guò)規(guī)定的調(diào)用方式,讀取注冊(cè)中心的注冊(cè)信息,調(diào)用相應(yīng)的服務(wù)。

在這里插入圖片描述

根據(jù)后續(xù)的服務(wù)復(fù)雜度進(jìn)化以后,可以看到服務(wù)提供者也可以是服務(wù)消費(fèi)者,服務(wù)消費(fèi)者也可以是服務(wù)提供者。根據(jù)不同的業(yè)務(wù)情況是可以互相調(diào)用的。

下面來(lái)搭建一個(gè)基礎(chǔ)的eureka。環(huán)境還是使用的之前的spring官方下載的。

內(nèi)容寫(xiě)的比較詳細(xì),可以跟這一步步操作。

一、注冊(cè)中心

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

以下是幾個(gè)需要修改和添加的地方,后面會(huì)有完整的pom.xml

<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.1.3.RELEASE</version>
		<relativePath /> <!-- lookup parent from repository -->
	</parent>
	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>Finchley.SR2</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>
<!-- 最新版的 eureka 服務(wù)端包 -->
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
		</dependency>

		<!-- 監(jiān)控管理 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-actuator</artifactId>
		</dependency>
Spring Cloud Spring Boot
Angel版本 兼容Spring Boot 1.2.x
Brixton版本 兼容Spring Boot 1.3.x,也兼容Spring Boot 1.4.x
Camden版本 兼容Spring Boot 1.4.x,也兼容Spring Boot 1.5.x
Dalston版本、Edgware版本 兼容Spring Boot 1.5.x,不兼容Spring Boot 2.0.x
Finchley版本 兼容Spring Boot 2.0.x,不兼容Spring Boot 1.5.x
Greenwich版本 兼容Spring Boot 2.1.x

這里采用Finchley.SR2版本 springboot版本改成 2.1.3.RELEASE

完整的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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.1.3.RELEASE</version>
		<relativePath /> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.example</groupId>
	<artifactId>eureka1</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>eureka1</name>
	<description>Demo project for Spring Boot</description>

	<properties>
		<java.version>1.8</java.version>
	</properties>
	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>Finchley.SR2</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter</artifactId>
		</dependency>
		<!-- 最新版的 eureka 服務(wù)端包 -->
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
		</dependency>

		<!-- 監(jiān)控管理 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-actuator</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
			<exclusions>
				<exclusion>
					<groupId>org.junit.vintage</groupId>
					<artifactId>junit-vintage-engine</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

</project>
package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@EnableEurekaServer
@SpringBootApplication
public class Eureka1Application {

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

}

然后在代碼文件中添加@EnableEurekaServer注解

修改application.yml文件

server:
 port: 3000 # 端口
eureka:
 instance:
 hostname: eureka-center 
 appname: 注冊(cè)中心
 client:
 registerWithEureka: false # 單點(diǎn)的時(shí)候設(shè)置為 false 禁止注冊(cè)自身
 fetchRegistry: false
 serviceUrl:
 defaultZone: http://localhost:3000/eureka
 server:
 enableSelfPreservation: false
 evictionIntervalTimerInMs: 4000

在這里插入圖片描述

啟動(dòng)服務(wù)

瀏覽器輸入 http://127.0.0.1:3000

在這里插入圖片描述

證明注冊(cè)中心搭建成功了

二、服務(wù)提供者

前面的步驟一樣

在這里插入圖片描述

ProviderController是新建的一個(gè)服務(wù)代碼

<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<!-- eureka 客戶(hù)端 -->
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
		</dependency>

不同的地方有加了一個(gè)spring-boot-starter-web和spring-cloud-starter-netflix-eureka-client客戶(hù)端
完整的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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.1.3.RELEASE</version>
		<relativePath /> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.example</groupId>
	<artifactId>eurekaClient1</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>eurekaClient1</name>
	<description>Demo project for Spring Boot</description>

	<properties>
		<java.version>1.8</java.version>
	</properties>
	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>Finchley.SR2</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<!-- eureka 客戶(hù)端 -->
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

</project>

EurekaClient1Application

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;

@EnableEurekaClient
@SpringBootApplication
public class EurekaClient1Application {

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

}

ProviderController

package com.example.demo;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class ProviderController {

 @RequestMapping(value = "/hello")
 public String hello(){
 
 return "hello spring cloud!";
 }

 @RequestMapping(value = "/nice")
 public String nice(){
 
 return "nice to meet you!";
 }
}

application.yml

server:
 port: 3001

eureka:
 instance:
 preferIpAddress: true
 client:
 serviceUrl:
 defaultZone: http://localhost:3000/eureka ## 注冊(cè)到 eureka 
spring:
 application:
 name: single-provider ## 應(yīng)用程序名稱(chēng),后面會(huì)在消費(fèi)者中用到

在這里插入圖片描述

http://127.0.0.1:3001/hello

在這里插入圖片描述

http://127.0.0.1:3000/

在這里插入圖片描述

證明服務(wù)已經(jīng)注冊(cè)成功

三、服務(wù)消費(fèi)者

前面還是同上

在這里插入圖片描述

<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-openfeign</artifactId>
		</dependency>
		<!-- eureka 客戶(hù)端 -->
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
		</dependency>

pom.xml新增以上內(nèi)容

完整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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.1.3.RELEASE</version>
		<relativePath /> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.example</groupId>
	<artifactId>eurekaClient1</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>eurekaClient1</name>
	<description>Demo project for Spring Boot</description>

	<properties>
		<java.version>1.8</java.version>
	</properties>
	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>Finchley.SR2</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-openfeign</artifactId>
		</dependency>
		<!-- eureka 客戶(hù)端 -->
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

</project>

EurekaClient2Application

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;

@EnableEurekaClient
@EnableFeignClients
@SpringBootApplication
public class EurekaClient2Application {

	/**
 * 注入 RestTemplate 
 * 并用 @LoadBalanced 注解,用負(fù)載均衡策略請(qǐng)求服務(wù)提供者
 * 這是 Spring Ribbon 的提供的能力
 * @return
 */
 @LoadBalanced
 @Bean
 public RestTemplate restTemplate() {
 return new RestTemplate(); //用于調(diào)用服務(wù)對(duì)象
 }
	
	public static void main(String[] args) {
		SpringApplication.run(EurekaClient2Application.class, args);
	}

}

ConsumerController

package com.example.demo;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;

@RestController
public class ConsumerController {
	@Autowired
 private RestTemplate restTemplate;

 private static final String applicationName = "single-provider";//服務(wù)注冊(cè)名

 @RequestMapping(value = "commonRequest")
 public Object commonRequest(){
 String url = "http://"+ applicationName +"/hello";
 String s = restTemplate.getForObject(url,String.class);//Ribbon方式調(diào)用服務(wù)
 return s;
 }
}

application.yml

server:
 port: 3002
eureka:
 client:
 serviceUrl:
 defaultZone: http://127.0.0.1:3000/eureka ## 注冊(cè)到 eureka
 instance:
 preferIpAddress: true
spring:
 application:
 name: single-customer

在這里插入圖片描述

啟動(dòng)服務(wù)
http://127.0.0.1:3002/commonRequest

在這里插入圖片描述

返回服務(wù)提供者的 hello方法參數(shù)。

整個(gè)最簡(jiǎn)單的過(guò)程就完成了,需要更好的使用spring cloud 后續(xù)需要了解分布式、負(fù)載均衡、熔斷等概念。在后續(xù)章節(jié)將一步步的拆分。

到此這篇關(guān)于Spring Cloud Eureka 注冊(cè)與發(fā)現(xiàn)操作步驟詳解的文章就介紹到這了,更多相關(guān)Spring Cloud Eureka 注冊(cè)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java中不常用但很好用的開(kāi)發(fā)小技巧分享

    Java中不常用但很好用的開(kāi)發(fā)小技巧分享

    其實(shí)干 Java 開(kāi)發(fā),必然離不開(kāi)一些計(jì)算,所以就會(huì)經(jīng)常用到 BigDecimal ,今天小編就來(lái)給大家分項(xiàng)一下那些不怎么常用,但是非常有用的方法,需要的可以參考一下
    2023-04-04
  • java 動(dòng)態(tài)增加定時(shí)任務(wù)示例

    java 動(dòng)態(tài)增加定時(shí)任務(wù)示例

    本篇文章主要介紹了java 動(dòng)態(tài)增加定時(shí)任務(wù)示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-03-03
  • dom4j創(chuàng)建和解析xml文檔的實(shí)現(xiàn)方法

    dom4j創(chuàng)建和解析xml文檔的實(shí)現(xiàn)方法

    下面小編就為大家?guī)?lái)一篇dom4j創(chuàng)建和解析xml文檔的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-06-06
  • 詳解Spring/Spring boot異步任務(wù)編程WebAsyncTask

    詳解Spring/Spring boot異步任務(wù)編程WebAsyncTask

    這篇文章主要介紹了詳解Spring/Spring boot異步任務(wù)編程WebAsyncTask,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • Java Web檢查用戶(hù)登錄狀態(tài)(防止用戶(hù)訪問(wèn)到非法頁(yè)面)

    Java Web檢查用戶(hù)登錄狀態(tài)(防止用戶(hù)訪問(wèn)到非法頁(yè)面)

    一般javaweb網(wǎng)站都有用戶(hù)登錄,而有一些操作必須用戶(hù)登錄才能進(jìn)行,本文主要介紹了Java Web檢查用戶(hù)登錄狀態(tài),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • Spring中使用ehcache緩存的方法及原理詳解

    Spring中使用ehcache緩存的方法及原理詳解

    這篇文章主要介紹了Spring中使用ehcache緩存的方法及原理詳解,ehcache具有很強(qiáng)的靈活性,提供了LRU、LFU和FIFO緩存淘汰算法,Ehcache 1.2引入了最近最少使用、最久未使用和先進(jìn)先 出緩存淘汰算法, 構(gòu)成了完整的緩存淘汰算法,,需要的朋友可以參考下
    2024-01-01
  • 一篇文章掌握J(rèn)ava?Thread的類(lèi)及其常見(jiàn)方法

    一篇文章掌握J(rèn)ava?Thread的類(lèi)及其常見(jiàn)方法

    Thread類(lèi)用于操作線(xiàn)程,是所以涉及到線(xiàn)程操作(如并發(fā))的基礎(chǔ)。本文將通過(guò)代碼對(duì)Thread類(lèi)的功能作用及其常見(jiàn)方法進(jìn)行分析
    2022-03-03
  • ant使用指南詳細(xì)入門(mén)教程

    ant使用指南詳細(xì)入門(mén)教程

    這篇文章主要介紹了ant使用指南詳細(xì)入門(mén)教程,本文詳細(xì)的講解了安裝、驗(yàn)證安裝、使用方法、使用實(shí)例、ant命令等內(nèi)容,需要的朋友可以參考下
    2015-06-06
  • Springboot集成jsp及部署服務(wù)器實(shí)現(xiàn)原理

    Springboot集成jsp及部署服務(wù)器實(shí)現(xiàn)原理

    這篇文章主要介紹了Springboot集成jsp及部署服務(wù)器實(shí)現(xiàn)原理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Springboot內(nèi)嵌SQLite配置使用詳解

    Springboot內(nèi)嵌SQLite配置使用詳解

    這篇文章主要介紹了Springboot內(nèi)嵌SQLite配置使用詳解,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08

最新評(píng)論

商城县| 垣曲县| 沾益县| 灌阳县| 射洪县| 若羌县| 银川市| 上虞市| 惠安县| 松滋市| 景谷| 安阳县| 称多县| 泰宁县| 崇明县| 黔江区| 隆回县| 常熟市| 乐亭县| 曲靖市| 双牌县| 马关县| 钟祥市| 玉林市| 彭泽县| 濮阳市| 姜堰市| 内江市| 建平县| 凤山县| 龙游县| 芦山县| 东乡| 禹州市| 沐川县| 阿巴嘎旗| 故城县| 宜城市| 玉龙| 龙里县| 木里|