专业的编程技术博客社区

网站首页 > 博客文章 正文

SpringCloud微服务 Apollo分布式配置中心实现

baijin 2024-08-15 16:52:58 博客文章 8 ℃ 0 评论

前言

最近公司要做一个新项目,可能会选择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:8070

使用apollo/admin Token登录:

注意:登陆之后显示的信息是我之前修改了数据库,如果是使用Init SQL 导入的话将会是原始数据,不过这一点没有影响。

小结

  • 要想顺利实现本小结目的需要对携程Apollo有一定的了解
  • 本小结使用的是最简单的一种方式来本地部署Apollo,用于初步初步了解和体验Apollo的基本功能,与实际开发/定制化开发不建议使用该方式实现部署。

Quick Start实现本地部署步骤:

  1. 环境准备-Mysql/JDK
  2. 下载Quick Start Source包
  3. 修改demo.sh DB信息
  4. 下载Git Bash
  5. 运行demo.sh
  6. 体验Apollo配置中心

本小结通过实际案例来学习如何通过Apollo Source 包来实现本地快速部署。

第一步,下载Apollo最新Source包,传送门,目前我使用的是最新的版本-V1.3:

下载apollo-adminservice-1.3.0-github.zip、apollo-configservice-1.3.0-github.zip

apollo-portal-1.3.0-github.zip三个Source包并解压:

adminservice

configservice

portal

  • 第二步,修改配置文件:

adminservice

application-github.properties

  1. # DataSource
  2. spring.datasource.url = jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8
  3. spring.datasource.username = root
  4. spring.datasource.password = root
  • configservice

application-github.properties

  1. # DataSource
  2. spring.datasource.url = jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8
  3. spring.datasource.username = root
  4. spring.datasource.password = root
  • portal

apollo-env.properties

  1. local.meta=http://localhost:8080
  2. dev.meta=http://localhost:8080
  3. fat.meta=http://localhost:8080
  4. uat.meta=http://localhost:8080
  5. lpt.meta=${lpt_meta}
  6. pro.meta=http://localhost:8080
  • application-github.properties
  1. # DataSource
  2. spring.datasource.url = jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8
  3. spring.datasource.username = root
  4. spring.datasource.password = root

第三步,使用Git Bash分别运行adminsercie/configservice/portal scripts目录下的startup.sh

注意:必须运行顺序 configservice、adminservice、portal

configservice

adminservice

portal

  • 检查

本地打开:http://localhost:8080/

本地打开:http://localhost:8070

使用apollo/admin Token登录

小结

本小结学习了使用Apollo最近版本的Source在本地部署,前夕前提是需要对携程Apollo有一定的了解。

本小结本地部署方式较Quick Start 而言较为复杂,不过异曲同工之妙,无法满足定制化开发,因而也不建议使用这种方式部署。

Source包本地部署步骤:

  1. 下载最新版本Source包
  2. 修改三个模块的配置信息
  3. 使用Git Bash Command GUI运行各自scripts下的startup.sh脚本
  4. 检查/体验

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表