Apollo 分布式配置中心 搭建篇

文章目录

          • 一、介绍
            • 1. 痛点
            • 2. 为什么选择Apollo
          • 二、快速开始
            • 2.1. 安装mysql
            • 2.2. 下载脚本
            • 2.3. 初始化脚本
          • 三、服务端配置
            • 3.1. 下载安装包
            • 3.2. 创建目录
            • 3.3. 解压
            • 3.4. 配置
            • 3.5. 启动
            • 3.6. 防火墙策略
            • 3.6. 效果验证
          • 四、测试
            • 4.1. 引入依赖
            • 4.2. 配置
            • 4.3. 测试类
            • 4.4. 启动项目
            • 4.5. 效果图

一、介绍

Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。
– 摘自Apollo官网

1. 痛点

修改配置后,需要重启项目
大量重复的配置,不便于管理

2. 为什么选择Apollo

Apollo VS Spring Cloud Config
Spring Cloud Config 依赖于GitHub,所有配置都是写在文件中,然后通过提交GitHub上来生效的,不同的环境用不用的文件区分
Apollo VS 阿里云应用配置管理ACM

依赖于阿里云,不便于后续迁移
阿里云已经放弃了该项目,不再维护

二、快速开始

这里安装mysql需要提前安装docker环境
docker yum 安装
https://blog.csdn.net/weixin_40816738/article/details/121595991

2.1. 安装mysql

docker mysql:8.0.27

2.2. 下载脚本

链接:https://github.com/apolloconfig/apollo/tree/master/scripts/sql
在这里插入图片描述

2.3. 初始化脚本

直接运行脚本,不需要提前创建数据库

在这里插入图片描述
在这里插入图片描述
初始化后,就会有2个数据库
在这里插入图片描述

三、服务端配置
3.1. 下载安装包

下载链接:https://github.com/ctripcorp/apollo/releases
在这里插入图片描述

wget https://github.com/apolloconfig/apollo/releases/download/v1.9.2/apollo-adminservice-1.9.2-github.zipwget https://github.com/apolloconfig/apollo/releases/download/v1.9.2/apollo-configservice-1.9.2-github.zipwget https://github.com/apolloconfig/apollo/releases/download/v1.9.2/apollo-portal-1.9.2-github.zip
3.2. 创建目录
mkdir apollo-adminservice-1.9.2
mkdir apollo-configservice-1.9.2
mkdir apollo-portal-1.9.2
3.3. 解压
unzip apollo-adminservice-1.9.2-github.zip
unzip apollo-configservice-1.9.2-github.zip
unzip apollo-portal-1.9.2-github.zip
3.4. 配置
  • apollo-adminservice配置
cd apollo-adminservice-1.9.2/config/
vim application-github.properties

在这里插入图片描述

这里需要修改数据的连接地址、用户名、密码

  • apollo-configservice配置
cd apollo-adminservice-1.9.2/config
application-github.properties

在这里插入图片描述

这里需要修改数据的连接地址、用户名、密码

  • apollo-portal配置
cd apollo/apollo-portal-1.9.2/config
vim application-github.properties

在这里插入图片描述

这里需要修改数据的连接地址、用户名、密码

vim apollo-env.properties

将其他环境都注释掉,打开第一个和第二个即可
在这里插入图片描述

3.5. 启动
  • apollo-configservice启动
cd apollo/apollo-configservice-1.9.2/script
./startup.sh

在这里插入图片描述

  • apollo-adminservice启动
cd apollo/apollo-adminservice-1.9.2/script
./startup.sh

在这里插入图片描述

  • apollo-portal启动
cd apollo/apollo-portal-1.9.2/script
./startup.sh

在这里插入图片描述
如无意外,至此,adminservice、configservice、portal都起来了

3.6. 防火墙策略
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-port=8070/tcp --permanent
firewall-cmd --reload
systemctl status firewalld
3.6. 效果验证

http://192.168.159.139:8080/
在这里插入图片描述
http://192.168.159.139:8070/signin
初始账号密码是:apollo/admin
在这里插入图片描述
在这里插入图片描述

四、测试
4.1. 引入依赖
<dependency><groupId>com.ctrip.framework.apollo</groupId><artifactId>apollo-client</artifactId><version>1.5.0</version></dependency>
4.2. 配置

application.properties

server.port=9000# 配置Appid
app.id=hello# 配置 Apollo Meta Server
apollo.meta=http://192.168.159.139:8080/# 配置本地缓存路径
apollo.cacheDir=C:/Users/gblfy/Desktop/apollo/data# 配置Environment
env=DEVapollo.bootstrap.enabled=true
4.3. 测试类
package com.gblfy.apolloclient.controller;import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("/hello")
public class HelloController {@Value("${my.name}")private String name;@GetMapping("/index")public String getName() {return name;}
}
4.4. 启动项目
4.5. 效果图

http://localhost:9000/hello/index
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/516086.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VBA FSO 对象模型知识点梳理

目录 一. FSO-文件系统对象1.1 FSO的用途1.2 FSO 对象模型所包含的对象1.3 FSO对象的创建1.4 FSO对象属性示例二 FSO 中的方法和属性2.1 属性2.2 方法2.2.1 BuildPath 方法2.2.2 FileExists 方法2.2.3 GetFile 方法2.2.4 GetFileName 方法2.2.5

“Host ‘xxx’ is blocked because of many connection errors; unblock with ‘mysqladmin flush-hosts’”

报错如下 message from server: “Host ‘xxx’ is blocked because of many connection errors; unblock with ‘mysqladmin flush-hosts’” 解决方法如下 1&#xff1a;登录mysql控制台&#xff1a;mysql -uroot -p 2&#xff1a;flush hosts

VBA GetOpenFilename 方法

目录 一. 作用二. 语法三. 参数说明四. 用法示例GetOpenFilename方法 一. 作用 显示标准的 “ 打开 ” 对话框,获取 用户 文件名,而 不必真正打开 任何文件。 二. 语法 expression.GetOpenFilename(FileFilter, FilterIndex, Title, ButtonText, MultiSelect)

docker Redis集群

文章目录1. 创建redis网卡2. 创建redis配置3. 启动redis集群4. 创建集群5. 记录与调试6. 故障转移1. 创建redis网卡 # 删除容器 docker rm -f ${docker ps -aq}# 创建redis网卡 docker network create redis --subnet 172.38.0.0/16# 删除redis网卡 docker network rm redis# …

VBA 用 Environ 获取系统环境变量

目录 1. VBA Environ系统环境变量:2. 利用 VBA 获得系统所有环境变量1. VBA Environ系统环境变量: 返回 Windows 目录: Environ ("Windir") 返回应用程序文件夹: Environ ("ProgramFiles") 返回用户配置文件目录:

关于 VBA Erase() 函数清空数组

目录 1. 关于 Erase() 函数1.1 作用1.2 语法1.3 说明1.4 示例1.4.1 示例一1.4.2 示例二1. 关于 Erase() 函数 1.1 作用 重新初始化大小固定的数组的元素,以及释放动态数组的存储空间。它的行为取决于数组的类型(见 1.3 )。 1.2 语法 Erase arraylist所需的 arraylist 参…

centos 6.8 安装telnet-server服务

检查是否安装了telnet服务 [rootlocalhost app]# rpm -qa | grep telnet若返回为空&#xff0c;则证明没有安装 YUM 安装 [rootlocalhost app]# yum -y install telnet telnet-server启动telnet服务 编辑/etc/xinetd.d/telnet文件&#xff0c;将disable 改为no [rootlocalho…

Excel 表单控件之 CheckBox 集合事件响应

示例代码: Sub CheckClick()Dim check As CheckBoxSet check = Sheet1.CheckBoxes(Application.Caller)If check.Value = 1 ThenSheet1.Range("a1").Value =

centos6.x redhat6.x 升级openssh8.7

文章目录1. 安装telnet2. 上传openssh安装包3. 安装依赖包4. 卸载现在的openssh5. 解压赋予权限6. 开始安装1. 安装telnet 安装telnet&#xff0c;防止意外ssh无法登录 centos 6.8 安装telnet-server服务 yum -y install xinetd验证 rpm -qa | grep telnet记录&#xff1a; …

VBA 自制 TreeView 树视图,附加控件 TreeView 最优替代方案

目录 一. Treeview Demo1.1 概述1.2 按钮说明1.3 TreeView 事件说明二. Instructions - 使用说明2.1 Excel 用户2.1.1 常规使用2.1.2 开发大型 TreeView 的技巧2.2 Word 和 Access 用户2.2.1 Access 实现三. 类模块3.1 类模块一:clsTreeView3.2 类模块二:clsNode三. 版本历史…

centos7.x redhat7.x 升级openssh8.7

文章目录1. 安装telnet2. 上传openssh安装包3. 安装依赖包4. 卸载现在的openssh5. 解压赋予权限6. 开始安装1. 安装telnet rpm -qa | grep telnet rpm -qa | grep xinetd yum -y install telnet telnet-server yum -y install xinetd验证 rpm -qa | grep telnet rpm -qa | gr…

VBA 精选示例代码库

目录 1. 厘米&英寸&像素&Point 的转换2. 固定滚动区域3. 按特定数量的行、列或页滚动3.1 `Window.SmallScroll` 方法:按行或按列滚动窗口内容3.2 `Window.LargeScroll` 方法:按页滚动窗口内容4. 工作簿 VBA 属性和操作4.1 按名称引用工作簿4.2 按状态引用工作簿4…

Excel 宏工作簿 VBAProject 工程保护 - 代码不可查看

目录 一. VBAProject 工程保护二. VBA工程不可查看一. VBAProject 工程保护 该功能由 Excel 官方提供,用于对 VBA 代码加以密码保护,具体设置方法如下动态图所示: 但是这个方法的缺点非常明显,随便一个工具就能轻松消除密码或免密查看。 二. VBA工程不可查看 接触 VBA 比…

解决ssh正常登录sftp不能登录的问题

vim /etc/ssh/sshd_config将Subsystem sftp /usr/libexec/openssh/sftp-server 注释 替换为 Subsystem sftp /usr/libexec/sftp-server重启sshd服务 /etc/init.d/sshd restart

比较 Excel 中两列的差异,并用箭头标识和指向匹配结果

目录 1. 简介 - 比较两个 Excel 列2. 示例 - 比较两个列3. 绘制比较结果箭头标识3.1 绘制箭头的宏3.2 清除表格中的箭头的宏3.3 绘制箭头过程调用1. 简介 - 比较两个 Excel 列 查找两个 excel 列之间的差异。 通过遍历未知长度和未知顺序的列,将较长的列表与较短的列表进行比…

SSL/TLS协议信息泄露漏洞(CVE-2016-2183)【原理扫描】 服务器支持 TLS Client-initiated 重协商攻击(CVE-2011-1473)【原理扫描】

netstat -apn | grep 41148 ps -ef | grep 2376 netstat -apn | grep 41148二、Linux 1、查询8080端口是否被占用&#xff0c;并可以查看pid/程序名 netstat -apn | grep 8080Q2、查看详细信息 ps -ef | grep PID3、终止该进程kill -9 PID

漂亮的带分步说明的 VBA 自制进度条

目录 一. 介绍二. 设计进度条2.1 添加用户窗体(UserForm)2.2 进度条属性设置2.3 设计 UserForm三. 添加进度条代码3.1 隐藏标题栏3.2 将代码添加到进度条窗体四. 显示进度条五. 如果我没有循环怎么办?六. 如果进度条没有更新怎么办?七. 结语一. 介绍 本文将引导您了解如何…

Refusing to install package with name “vue-i18n“ under a package

npm install vue-i18n时出现标题的报错&#xff0c;原因&#xff1a;vue create vue-i18n创建的项目名称为vue-i18n和要安装的包vue-i18n冲突了&#xff0c;修改项目名称即可解决

使用Istio进行多集群部署管理:单控制平面 Gateway 连接拓扑

作者 | 王夕宁 阿里巴巴高级技术专家 导读&#xff1a;本文摘自于由阿里云高级技术专家王夕宁撰写的《Istio 服务网格技术解析与实践》一书&#xff0c;讲述了如何使用 Istio 进行多集群部署管理来阐述服务网格对多云环境、多集群即混合部署的支持能力。 前文详情&#xff1a;…