SpringCloud微服务 Apollo分布式配置中心实现(一)
前言
最近公司要做一个新项目,可能会选择SpringCloud来做微服务架构,因而更可能会要面临实现分布式配置并制定相应的解决方案,因而提前做了解决方案。
为什么选择携程Apollo?请看下图比较
另外我选择携程Apollo的另一个原因是Apollo的对外依赖非常少,目前只有一个Mysql,因而稳定性方面而可以避开对外依赖过多而导致分布式配置心中处于潜在风险中。要知道配置中心应该是独立于任何应用程序之外的一套能独立运行的系统,对外的依赖越少越好。
在实际使用Apollo时需要对它有一个基本了解:传送门
案例
首先申明,本阶段实现的分布式配置中心最大限度上升至FAT ENV 至于UAT和PRO则后续补充。
本小节将实现最简单的一种方式:Quick Start
-
第一步环境准备,先装好JDK/Mysql 5.6+,参考这里
-
第二步准备好Quick Start 安装包,下载地址参考:这里, 这个安装包是已经编译好了的,下载好之后解压如下图:
-
修改demo.sh脚本:
分别配置adminservice/configservice 和 portal DB信息。我已在本地新建了ApolloConfig DB和 ApolloPortal DB,因而只需修改一下脚本即可。 -
下载Git Bash 为什么要下载GitBash?因而 Windos下不支持shell 脚本运行,如果要强行运行需介入类似于Git Bash一样的Command GUI。
-
运行demo.sh脚本。使用Git Bash GUI进入到Quick start安装包所在根路径:
使用 ./demo.sh start 命令运行脚本:
-
启动完毕:
-
检查
- 本地打开:http://localhost:8080/
如图所示AdminService/ConfigService/Portal都已注册到Eureka中
- 本地打开:http://localhost:8080/
-
本地打开:http://localhost:8070
使用apollo/admin Token登录:
注意:登陆之后显示的信息是我之前修改了数据库,如果是使用Init SQL 导入的话将会是原始数据,不过这一点没有影响。