1. 程式人生 > >springcloud實戰篇四之Eureka-client(服務提供者)叢集建立

springcloud實戰篇四之Eureka-client(服務提供者)叢集建立

下面搭建一個Eureka-client的服務提供者叢集


1.三個工程的pom.xml依賴是一樣的,所以就僅貼出一個

<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.yxf.springcloud</groupId>
    <artifactId>mymicroservicecloud</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>mymicroservicecloud-provider-dept-8001</artifactId>
  <dependencies>
		<!-- 引入自己定義的api通用包,可以使用Dept部門Entity -->
		<dependency>
			<groupId>com.yxf.springcloud</groupId>
			<artifactId>mymicroservicecloud-api</artifactId>
			<version>${project.version}</version>
		</dependency>
		<!-- actuator監控資訊完善 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-actuator</artifactId>
		</dependency>
		<!-- 將微服務provider側註冊進eureka -->
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-eureka</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-config</artifactId>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
		</dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid</artifactId>
		</dependency>
		<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-core</artifactId>
		</dependency>
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-jetty</artifactId>
		</dependency>
		<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>
		</dependency>
		<!-- 修改後立即生效,熱部署 -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>springloaded</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
		</dependency>
	</dependencies>
  
</project>

2.三個工程的application.yml檔案

server:
  port: 8001
  
mybatis:
  config-location: classpath:mybatis/mybatis.cfg.xml        # mybatis配置檔案所在路徑
  type-aliases-package: com.yxf.springcloud.entities    # 所有Entity別名類所在包
  mapper-locations:
  - classpath:mybatis/mapper/**/*.xml                       # mapper對映檔案
    
spring:
   application:
    name: MICROSERVICECLOUD-DEPT                        #對外暴露的服務(微服務)
   datasource:
    type: com.alibaba.druid.pool.DruidDataSource            # 當前資料來源操作型別
    driver-class-name: org.gjt.mm.mysql.Driver              # mysql驅動包
    url: jdbc:mysql://localhost:3306/clouddb1              # 資料庫名稱
    username: root
    password: 123456
    dbcp2:
      min-idle: 5                                           # 資料庫連線池的最小維持連線數
      initial-size: 5                                       # 初始化連線數
      max-total: 5                                          # 最大連線數
      max-wait-millis: 200                                  # 等待連接獲取的最大超時時間
      
eureka:
  client: #客戶端註冊進eureka服務列表內
    service-url: 
      #defaultZone: http://localhost:1001/eureka
      defaultZone: http://eureka1001.com:1001/eureka/,http://eureka1002.com:1002/eureka/,http://eureka1003.com:1003/eureka/      
  instance:
    instance-id: microservicecloud-dept8001    
    prefer-ip-address: true     # 訪問路徑可以顯示IP地址     
 
info: 
  app.name: yxf-mymicroservicecloud
  company.name: www.yxf.com
  build.artifactId: $project.artifactId$
  build.version: $project.version$


---------------------------------------


server:
  port: 8002
  
mybatis:
  config-location: classpath:mybatis/mybatis.cfg.xml        # mybatis配置檔案所在路徑
  type-aliases-package: com.yxf.springcloud.entities    # 所有Entity別名類所在包
  mapper-locations:
  - classpath:mybatis/mapper/**/*.xml                       # mapper對映檔案
    
spring:
   application:
    name: MICROSERVICECLOUD-DEPT                        #對外暴露的服務(微服務)
   datasource:
    type: com.alibaba.druid.pool.DruidDataSource            # 當前資料來源操作型別
    driver-class-name: org.gjt.mm.mysql.Driver              # mysql驅動包
    url: jdbc:mysql://localhost:3306/clouddb2             # 資料庫名稱
    username: root
    password: 123456
    dbcp2:
      min-idle: 5                                           # 資料庫連線池的最小維持連線數
      initial-size: 5                                       # 初始化連線數
      max-total: 5                                          # 最大連線數
      max-wait-millis: 200                                  # 等待連接獲取的最大超時時間
      
eureka:
  client: #客戶端註冊進eureka服務列表內
    service-url: 
      #defaultZone: http://localhost:1001/eureka
      defaultZone: http://eureka1001.com:1001/eureka/,http://eureka1002.com:1002/eureka/,http://eureka1003.com:1003/eureka/      
  instance:
    instance-id: MICROSERVICECLOUD-DEPT2    
    prefer-ip-address: true     # 訪問路徑可以顯示IP地址     
 
info: 
  app.name: yxf-mymicroservicecloud
  company.name: www.yxf.com
  build.artifactId: $project.artifactId$
  build.version: $project.version$

---------------------------------

server:
  port: 8003
  
mybatis:
  config-location: classpath:mybatis/mybatis.cfg.xml        # mybatis配置檔案所在路徑
  type-aliases-package: com.yxf.springcloud.entities    # 所有Entity別名類所在包
  mapper-locations:
  - classpath:mybatis/mapper/**/*.xml                       # mapper對映檔案
    
spring:
   application:
    name: MICROSERVICECLOUD-DEPT                        #對外暴露的服務(微服務)
   datasource:
    type: com.alibaba.druid.pool.DruidDataSource            # 當前資料來源操作型別
    driver-class-name: org.gjt.mm.mysql.Driver              # mysql驅動包
    url: jdbc:mysql://localhost:3306/clouddb3              # 資料庫名稱
    username: root
    password: 123456
    dbcp2:
      min-idle: 5                                           # 資料庫連線池的最小維持連線數
      initial-size: 5                                       # 初始化連線數
      max-total: 5                                          # 最大連線數
      max-wait-millis: 200                                  # 等待連接獲取的最大超時時間
      
eureka:
  client: #客戶端註冊進eureka服務列表內
    service-url: 
      #defaultZone: http://localhost:1001/eureka
      defaultZone: http://eureka1001.com:1001/eureka/,http://eureka1002.com:1002/eureka/,http://eureka1003.com:1003/eureka/      
  instance:
    instance-id: MICROSERVICECLOUD-DEPT3    
    prefer-ip-address: true     # 訪問路徑可以顯示IP地址     
 
info: 
  app.name: yxf-mymicroservicecloud
  company.name: www.yxf.com
  build.artifactId: $project.artifactId$
  build.version: $project.version$

大家可以通過yml檔案檢視三個工程的區別,由於yml檔案已經做了很詳細到註釋,現在就不重複了

效果演示


相關推薦

springcloud實戰Eureka-client(服務提供者)叢集建立

下面搭建一個Eureka-client的服務提供者叢集1.三個工程的pom.xml依賴是一樣的,所以就僅貼出一個<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org

springcloud實戰Eureka-server建立

以下是springcloud的官方介紹翻譯Spring Cloud為開發人員提供了快速構建分散式系統中的一些通用模式(例如配置管理,服務發現,斷路器,智慧路由,微代理,控制匯流排,一次性令牌,全域性鎖,領導選舉,分散式 會話,群集狀態)。 分散式系統的協調導致了鍋爐板模式,並

二、SpringCloud五大神獸Eureka服務註冊與發現)

 ps:此工程為服務提供者叢集的建立並且註冊到eureka中,同時測試服務的發現,由於主要講解eureka知識,因此本例中一些其餘資料庫操作等例子不一一指出,在系列文章結尾會提供完整版例子下載。 1、pom檔案編寫: <dependencies> <

【微服務架構】SpringCloudEureka服務註冊和服務發現基礎)(二)

原文連結 上篇文章講解了SpringCloud元件和概念介紹,接下來講解一下SpringCloud元件相關元件使用、原理和每個元件的作用的,它主要提供的模組包括:服務發現(Eureka),斷路器(Hystrix),智慧路有(Zuul),客戶端負載均衡(Ribb

圖靈學院:【微服務架構】SpringCloudEureka服務註冊和服務發現基礎)(二)

一:Eureka簡介   Eureka是Spring Cloud Netflix的一個子模組,也是核心模組之一。用於雲端服務發現,一個基於REST的服務,用於定位服務,以實現雲端中間層服務發現和故障轉移。服務註冊與發現對於微服務系統來說非常重要。有了服務發現與註冊,你就不需要

【微服務架構】SpringCloudEureka(註冊中心叢集)(三)

SpringCloudbackup 上一篇講解了spring註冊中心(eureka),但是存在一個單點故障的問題,一個註冊中心遠遠無法滿足實際的生產環境,那麼我們需要多個註冊中心進行叢集,達到真正的高可用。今天我們實戰來搭建一個Eureka叢集。 一:叢集環境搭建    第一

SpringCloudEureka-Client實現服務(Jpa,H2)

web wired autowire -m initial ima factor enc gen 1、pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://m

SpringCloudEureka-Client使用RestTemplate實現服務之間的調用

註意 技術 red col this color sco java ping 註意:這個章節,請結合前幾章節一起使用,因為其要調用上一章節的服務 1、pom.xml <?xml version="1.0" encoding="UTF-8"?> &l

SpringCloud(二十)自定義eureka-client服務列表

當我們不需要從eureka等獲取服務列表時,可以自己指定服務列表。 ribbon: eureka: #禁用eureka ribbon enabled: false eureka-servi

搭建SpringCloud註冊中心(Eureka消費者和服務提供者

一、前言 使用rpc遠端呼叫技術(SpringCloud)搭建如下圖,其中所用到的技術有maven、eureka、ribbon、SpringBoot等 二、準備環境 作業系統:win7 JDK:1.8 三、搭建SpringCloud註冊中心(Eureka)之服務提供者

Java B2B2C o2o多使用者商城 springcloud架構(二)Eureka服務註冊和服務發現基礎

一:Eureka簡介    Eureka是Spring Cloud Netflix的一個子模組,也是核心模組之一。用於雲端服務發現,一個基於REST的服務,用於定位服務,以實現雲端中間層服務發現和故障轉移。 服務註冊與發現對於微服務系統來說非常重要。有了服務發現與註冊,你

springcloud理論zookeeper和Eureka對比

寫在前面    在對比zookeeper和Eureka之前,首先來了解一個原則,那就是CAP原則,這是啥??????分散式領域CAP理論,Consistency(一致性), 資料一致更新,所有資料變動都是同步的Availability(可用性), 好的響應效能Partitio

實戰】Unity3d實戰Unity3d網路遊戲實戰(6):服務端框架的搭建

Unity3d實戰之Unity3d網路遊戲實戰篇(6):服務端框架的搭建 學習書籍《Unity3d網路遊戲實戰》 羅培羽著 機械工業出版社 本文是作者在學習過程中遇到的認為值得記錄的點,

SpringCloud 註冊與發現 註冊中心高可用叢集 Eureka

SpringCloud 註冊與發現 之 註冊中心高可用叢集 Eureka    1、註冊中心的存在 服務提供者啟動會註冊到註冊中心,並會定期發起心跳通知,告知註冊中心“我還活著,別把我幹掉”。 服務消費者到註冊中心訂閱服務,並拉取呼叫的服務列表到本地

SpringCloud分散式事務實戰(七)在微服務1中建立整合函式,呼叫微服務2

(1) 新增jar pom.xml <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-s

python入門與進階()包、模組、函式與變數作用域

python專案的組織結構 包(資料夾)-->模組(檔案)-->類-->函式和變數   seven.c4、six.c4:(seven)包名.模組名(c4) 構成名稱空間 seven包的結構: seven    --t(子包)        --

SpringCloud五大神獸Eureka

基本概念和方案     Eureka是基於REST(Representational State Transfer,代表性狀態傳輸)的服務,主要用於AWS雲中定位服務,以實現中間層伺服器的負載平衡和故障轉移。我們稱這個服務為Eureka伺服器。Eureka還帶有一個基於Ja

SpringCloud實戰6-Zuul閘道器服務

為什麼需要閘道器呢? 我們知道我們要進入一個服務本身,很明顯我們沒有特別好的辦法,直接輸入IP地址+埠號,我們知道這樣的做法很糟糕的,這樣的做法大有問題,首先暴露了我們實體機器的IP地址,別人一看你的IP地址就知道服務部署在哪裡,讓別人很方便的進行攻擊操作。 第二,我

一、SpringCloud五大神獸Eureka(eurekaServer叢集

基本概念和方案     Eureka是基於REST(Representational State Transfer,代表性狀態傳輸)的服務,主要用於AWS雲中定位服務,以實現中間層伺服器的負載平衡和故障轉移。我們稱這個服務為Eureka伺服器。Eureka還帶有一個基於Ja

SpringCloud實戰五:Spring Cloud Feign 服務呼叫

  本篇主要講解什麼是Feign,以及Feign入門實踐   Feign是一個宣告式的Web Service客戶端,整合了註解,所以使用起來比較方便,通過它呼叫HTTP請求訪問遠端服務,就像訪問本地方法一樣簡單開發者完全無感知   Feign原理:我們首先會新增@EnableFe