前一章, 我们的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应用, 可以直接参考Spring Cloud 入门教程(一): 服务注册, 将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-client8   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.  当服务很多时,都需要同时从配置中心读取文件的时候,这时我们可以考虑将配置中心做成一个微服务,并且将其集群化,从而达到高可用,架构图如下:

参考资料:http://blog.csdn.net/forezp/article/details/70037513

http://blog.sina.com.cn/s/blog_493a84550102wkp2.html

SpringCloud 入门教程(四): 分布式环境下自动发现配置服务相关推荐

  1. 本机php环境搭建教程:windows环境下wampserver的配置教程——超级详细

    转载自:http://youchunyan5.blog.163.com/blog/static/5896062020123474456352/ 本机php环境搭建教程:windows环境下wampse ...

  2. SpringCloud 入门教程(一): 服务注册

    1.  什么是Spring Cloud? Spring提供了一系列工具,可以帮助开发人员迅速搭建分布式系统中的公共组件(比如:配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁 ...

  3. LittleVGL (LVGL)干货入门教程四之制作和使用中文汉字字库

    LittleVGL (LVGL)干货入门教程四之制作和使用中文汉字字库 前言: 阅读前,请确保你至少拥有以下条件: 已实现显示API(教程一已实现, 链接:LittleVGL (LVGL)入门教程一之 ...

  4. 分布式环境下,互斥性与幂等性问题,分析与解决思路

    欢迎关注方志朋的博客,回复"666"获面试宝典 随着互联网信息技术的飞速发展,数据量不断增大,业务逻辑也日趋复杂,对系统的高并发访问.海量数据处理的场景也越来越多.如何用较低成本实 ...

  5. mysql集群session_集群/分布式环境下5种session处理策略

    前言 在搭建完集群环境后,不得不考虑的一个问题就是用户访问产生的session如何处理.如果不做任何处理的话,用户将出现频繁登录的现象,比如集群中存在A.B两台服务器,用户在第一次访问网站时,Ngin ...

  6. Arduino可穿戴开发入门教程Arduino开发环境介绍

    Arduino可穿戴开发入门教程Arduino开发环境介绍 Arduino开发环境介绍 Arduino不像我们使用的PC端操作系统一样,可以直接在操作系统中安装软件为操作系统编程.Arduino的软件 ...

  7. 分布式精华问答:分布式环境下如何保持数据一致性的?| 技术头条

    分布式开发的时代实际上早已悄悄地成为了时代的主流,今天,我们就来看看关于分布式的精华问答吧! 1 Q:分布式系统中主要是用到了服务化,消息中间件,数据库拆分,便于横向扩展和维护,但分布式系统中的拆分的 ...

  8. 面试官:分布式环境下,如何实现session共享

    点击关注公众号,实用技术文章及时了解 先了解一下为什么会出现这种session共享的解决方案? 随着互联网公司的项目在微服务和分布式的环境下进行的搭建,导致一个项目可能分别部署在几个甚至很多的服务器集 ...

  9. Spring-Redis实现分布式环境下主子域名Session共享

    背景: 之前一直采用通过注解的方式配置Spring环境下的子域名共享,其基本思路是通过将session放入redis中,然后将使用HTTPSESSION更改为使用SpringSession的方式,使得 ...

最新文章

  1. favicon.png vs favicon.ico - 我为什么要使用PNG而不是ICO?
  2. 2010年第一届蓝桥杯省赛 —— 第一题
  3. 嵌入式C语言编程课件,嵌入式系统C语言编程基础PPT课件
  4. Android逆向笔记-查看app的log打印(含调试方式打开)
  5. frame中src怎么设置成一个变量_OpenCV图像人脸检测及视频中的人脸检测(附源码)...
  6. 崩溃!还未修复的 Bug,凌晨三点遭到黑客 DDoS 攻击 | 技术头条
  7. 【安装包】android-studio
  8. Dev cpp出现段错误的原因之一
  9. 浅聊使用PHP实现微信公众号登录
  10. php 字符相似度比较,php 比较两个字符串的相似度
  11. VS Code(8)- 终端模拟器
  12. c++二维矩阵顺时针和逆时针旋转
  13. 【python ++ opencv + pytorch 】车牌提取、分割、识别
  14. Windows 下PowerShell 美化之旅(极其简单)
  15. Tableau 2022.3的Table Extension到底怎么用?
  16. 三元运算符的基本用法
  17. 【喜讯】Apache DolphinScheduler 荣获 “2020 年度十大开源新锐项目”
  18. android,java判断密码强度
  19. 市场调研-全球与中国JEDEC托盘市场现状及未来发展趋势
  20. Qt的LGPL协议是否意味着可以自由用QT开发商业软件?

热门文章

  1. python实例 69,70
  2. 数据采集与清洗基础习题(二)Python爬虫常用模块,头歌参考答案
  3. C/C++混淆点-左移右移操作符
  4. Tomcat配置解析
  5. 谈谈枚举和 那啥 那啥来着 哦 对对对 泛型!
  6. python 全栈开发,Day36(作业讲解(大文件下载以及进度条展示),socket的更多方法介绍,验证客户端链接的合法性hmac,socketserver)...
  7. Mqtt协议IOS端移植3
  8. 折叠菜单,选择下拉(手风琴)
  9. android ListView控件滑动时出现黑色背景问题解法方案
  10. Shell基本命令汇总