1. 程式人生 > >java版電子商務spring cloud分布式微服務b2b2c社交電商 (四): 分布式環境下自動發現配置服務

java版電子商務spring cloud分布式微服務b2b2c社交電商 (四): 分布式環境下自動發現配置服務

lse rdquo img 只需要 image enable 必須 discovery 可用

spring cloud b2b2c電子商務社交平臺源碼請加企鵝求求:一零三八七七四六二六。前一章, 我們的Hello world應用服務,通過配置服務器Config Server獲取到了我們配置的hello信息“hello world”. 但自己的配置文件中必須配置config server的URL(http://localhost:8888), 如果把config server搬到另外一個獨立IP上, 那麽作為一個client的hello world應用必須修改自己的bootstrap.yml中的config server的URL地址。這明顯是不夠方便的。

既然config server已經註冊到了eureka服務中心,能否讓服務中心自動幫hello world應用找到它需要的config server呢? 答案是肯定的。我們的hello world應用只需要提供它需要的配置所在在的config server的名字就可以了, 在前面例子中,配置服務的名字就是“config-server”。那我們現在就把之前的服務和應用稍作修改, 來達到自動發現服務的方案。下圖是Spring Cloud提供的服務發現機制。Config-server是其中的Service Provider, Config-client是Service Consumer, 它們都註冊到服務中心Eureka Server。

技術分享圖片

1. 將config-server註冊到服務中心

config-server本身就是一個Spring Boot應用,

將config-server註冊到eureka server中。訪問http://localhost:8761, 可以看到我們的config-server已經註冊。

技術分享圖片

2. 修改hello world應用的配置

1).同樣,需要將Hello 我讓你的應用註冊到eureka 服務中心, 配置方法同前面一樣, 不在贅述。

2).修改配置文件,將config-server的URL硬編碼機制改成,通過服務中心根據名字自動發現機制, 修改bootstrap.yml

2   client:
 3     serviceUrl:
 4       defaultZone: http://localhost:8761/eureka/
 5 spring:
 6   application:
 7     name: config-client
 8   cloud:
 9     config:
10       label: master
11       profile: dev
12 #      uri: http://localhost:8888/
13       discovery:
14          enabled: true
15 serviceId: config-server 16 management: 17 security: 18 enabled: false 19 server: 20 port: 8881

我們註釋掉了硬編碼的config-server的URL配置, 取而代之的是服務註冊中心的地址http://localhost:8761/eureka/以及配置服務的名字“config-server”, 同時打開自動發現機制discovery.enable = true. 我們在運行一下hello world應用, 可以發現, GIT裏面的內容依然可以訪問。此時我們的hello world應用已經完全不知道配置服務的地址,也不知道配置的內容, 所有這些都通過服務註冊中心自動發現。

3. 當服務很多時,都需要同時從配置中心讀取文件的時候,這時我們可以考慮將配置中心做成一個微服務,並且將其集群化,從而達到高可用,架構圖如下:

技術分享圖片

需要JAVASpring Cloud大型企業分布式微服務雲構建的B2B2C電子商務平臺源碼請加企鵝求求:一零三八七七四六二六

java版電子商務spring cloud分布式微服務b2b2c社交電商 (四): 分布式環境下自動發現配置服務