博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring Cloud 入门教程(四): 分布式环境下自动发现配置服务
阅读量:5086 次
发布时间:2019-06-13

本文共 1621 字,大约阅读时间需要 5 分钟。

前一章, 我们的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

1 eureka: 2   client: 3     serviceUrl: 4       defaultZone: http://localhost:8761/eureka/ 5 spring: 6   application: 7     name: config-client 8   cloud: 9     config:10       label: master11       profile: dev12 #      uri: http://localhost:8888/13       discovery:14          enabled: true15          serviceId: config-server16 management:17   security:18     enabled: false19 server:20   port: 8881

我们注释掉了硬编码的config-server的URL配置, 取而代之的是服务注册中心的地址http://localhost:8761/eureka/以及配置服务的名字“config-server”, 同时打开自动发现机制discovery.enable = true. 我们在运行一下hello world应用, 可以发现, GIT里面的内容依然可以访问。此时我们的hello world应用已经完全不知道配置服务的地址,也不知道配置的内容, 所有这些都通过服务注册中心自动发现。

3.  当服务很多时,都需要同时从配置中心读取文件的时候,这时我们可以考虑将配置中心做成一个微服务,并且将其集群化,从而达到高可用,架构图如下:

转载于:https://www.cnblogs.com/7788IT/p/11324242.html

你可能感兴趣的文章
经典入门_排序
查看>>
Redis Cluster高可用集群在线迁移操作记录【转】
查看>>
二、spring中装配bean
查看>>
VIM工具
查看>>
javascript闭包
查看>>
@Column标记持久化详细说明
查看>>
创建本地yum软件源,为本地Package安装Cloudera Manager、Cloudera Hadoop及Impala做准备...
查看>>
mysql8.0.13下载与安装图文教程
查看>>
站立会议08(冲刺2)
查看>>
url查询参数解析
查看>>
http://coolshell.cn/articles/10910.html
查看>>
[转]jsbsim基础概念
查看>>
DIV和SPAN的区别
查看>>
第一次使用cnblogs
查看>>
C#语法糖之 session操作类 asp.net
查看>>
2015 Multi-University Training Contest 3
查看>>
使用Gitblit 在windows 上部署你的Git Server
查看>>
217. Contains Duplicate
查看>>
vue2.0 关于Vue实例的生命周期
查看>>
jenkins 更换主数据目录
查看>>