中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

使用SpringBoot如何實現注冊與發現服務

發布時間:2020-11-18 16:05:48 來源:億速云 閱讀:299 作者:Leah 欄目:編程語言

這篇文章將為大家詳細講解有關使用SpringBoot如何實現注冊與發現服務,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

微服務

實踐“微服務”自然要學習如何做服務注冊與發現

基于SpringBoot來進行微服務的學習,自然選擇了與之息息相關的SpringCloud;當然可以選擇其他的技術進行,比如dubbo

也可以用zookeeper來實現服務注冊與發現,至于zookeeper來實現此功能好還是不好,各家之言都有

SpringCloud

Spring Cloud provides tools for developers to quickly build some of the common patterns in distributed systems .SpringCloud

SpringCloud 包含了 Distributed/versioned configuration、Distributed/versioned configuration等很多子項目。

  1. Distributed/versioned configuration
  2. Service registration and discovery
  3. Routing
  4. Service-to-service calls
  5. Load balancing
  6. Circuit Breakers
  7. Global locks
  8. Leadership election and cluster state
  9. Distributed messaging
     

服務注冊與發現

SpringCloud模塊

spring-cloud-starter-eureka-server

工程module

  1. 服務注冊中心
  2. 服務module

服務注冊中心

創建discovery module,并在 build.gradle中引入 spring-cloud-starter-eureka-server依賴

apply plugin: 'org.springframework.boot'

dependencyManagement {
  imports {
    mavenBom "org.springframework.cloud:spring-cloud-dependencies:"+ springCloudVersion
  }
}
repositories {
  mavenCentral()
}
dependencies {
  compile ('org.springframework.cloud:spring-cloud-starter-eureka-server')
}
jar {
  baseName = 'discovery-bootcwenao'
}

通過注解 @EnableEurekaServer 提供注冊中心服務

/**
 * @author cwenao
 * @version $Id DiscoveryBootcwenaoApplication.java, v 0.1 2017-01-12 9:56 cwenao Exp $$
 */
@EnableEurekaServer
@SpringBootApplication
public class DiscoveryBootcwenaoApplication {
  public static void main(String[] args) {
    new SpringApplicationBuilder(DiscoveryBootcwenaoApplication.class).web(true).run(args);
  }
}

application.yml 配置eureka屬性

server:
 port: 8761
eureka:
 instance:
  hostname: discovery
 client:
  registerWithEureka: false
  fetchRegistry: false
  service-url:
   defaultZone: http://discovery:${server.port}/eureka/

訪問 http://localhost:8761

使用SpringBoot如何實現注冊與發現服務

服務注冊

創建服務module, 在build.gradle中引入 spring-cloud-starter-eureka

apply plugin: 'org.springframework.boot'
dependencyManagement {
  imports {
    mavenBom "org.springframework.cloud:spring-cloud-dependencies:"+ springCloudVersion
  }
}

dependencies {
  compile('org.springframework.cloud:spring-cloud-starter-eureka')
  compile('org.springframework.cloud:spring-cloud-stream')
}
sourceSets {
  main {
    resources.srcDirs = ['src/main/resources', 'src/main/java']
    resources.includes = ['**/*.xml', '**/*.yml']
  }
}
jar {
  baseName = 'apigateway-bootcwenao'
}

通過注解 @EnableDiscoveryClient 進行服務注冊

@SpringBootApplication
@EnableDiscoveryClient
public class ApiGatewayBootcwenaoApplication {
  public static void main(String[] args) {
    SpringApplication.run(ApiGatewayBootcwenaoApplication.class, args);
  }
}

application.yml 配置eureka屬性

server:
 port: 10002
spring:
 application:
  name: apigateway
eureka:
 client:
  registerWithEureka: true
  fetchRegistry: true
  serviceUrl:
   defaultZone: http://localhost:8761/eureka/

注冊完成后,可以通過 spring.application.name 的配置來訪問該服務

訪問 http://localhost:8761 發現服務已經在注冊中心上注冊

使用SpringBoot如何實現注冊與發現服務

服務注冊中心啟用用戶名密碼

通過配置applicaiton.yml用戶名密碼

security:
 basic:
  enabled: true
 user:
  name: aa
  password: abcd

配置服務提供方application.yml

eureka:
 instance:
  hostname: configserver
  prefer-ip-address: true
 client:
  registerWithEureka: true
  fetchRegistry: true
  service-url:
   defaultZone: http://aa:abcd@localhost:8761/eureka/

使用SpringBoot如何實現注冊與發現服務

關于使用SpringBoot如何實現注冊與發現服務就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

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

AI

砀山县| 凤阳县| 东明县| 平度市| 桦南县| 清河县| 灵武市| 平塘县| 普兰店市| 巨鹿县| 蕲春县| 峨边| 资溪县| 贵阳市| 曲麻莱县| 图们市| 都匀市| 钦州市| 田林县| 云安县| 百色市| 南丰县| 淮南市| 岳阳县| 霞浦县| 朝阳市| 贵德县| 名山县| 伊春市| 都安| 梓潼县| 德州市| 司法| 什邡市| 育儿| 衡南县| 宜兰市| 那坡县| 通渭县| 积石山| 宜都市|