-
Apollo操作说明
- 前言
-
Apollo环境部署
- 一、环境构建
- 二、官方地址
- 三、数据库脚本使用
- 四、配置Apollo文件
- 五、启动Apollo
- 六、访问Apollo
-
Apollo产品使用
- 一、修改部门
- 二、应用操作
- 三、用户操作
-
四、系统权限管理
- 1、创建应用权限配置
- 2、创建应用权限配置
- 3、与旧版比对
-
五、系统参数
- 1、PortalDB 配置管理
- 2、ConfigDB 配置管理
- 六、系统信息
-
七、配置导出导入
- 1、配置导出
- 2、配置导入
-
八、应用配置(核心功能使用)
- 1、应用信息配置
- 2、管理应用配置
- 3、管理密钥配置(新版才有,旧版没有)
- 4、添加集群配置
-
5、添加Namespace配置
- A、创建Namespace配置
- B、关联公共组件Namespace
- C、删除Namespace
- 九、开放平台授权管理
-
Apollo 开发使用
- 一、构建开发环境
-
二、构建微服务项目
- 参考文章
-
三、微服务接入Apollo
- 1、 修改pom
- 2、修改properties
-
3、编译启动
- A.配置启动参数
- B、其他描述
- 4、模块启动顺序
- 五、调用流程图
-
六、版本对应
- 版本对应关系
- apollo-client已有版本
-
七、注意
- 1、配置 集体放在Apollo配置中心,怎么被应用获取呢?
- 2、配置properties的作用?
- 结语
Apollo操作说明
前言
- 研究了一下apollo,发现官方文档还是很多地方写的不是很明确(对比Nacos),因此,写了一份更加简洁,更加易用,特别适合新手使用的文档,希望对你有帮助,本文在于详尽,图示清晰,简单易用,十分方便,无论是开发,产品,测试,还是不接触代码的人,都可以看的清楚明白.
Apollo环境部署
一、环境构建
软件名称 | 版本 | 相关文章推荐 |
---|---|---|
Git | 尽量最新 | https://www.cnblogs.com/liuyangfirst/p/15996063.html |
JDK | 1.8 | https://www.cnblogs.com/liuyangfirst/p/14334385.html |
Maven | 尽量最新 | https://www.cnblogs.com/liuyangfirst/p/15981202.html |
MySQL | 5.6.10 | https://www.cnblogs.com/liuyangfirst/p/15997667.html |
DBeaver | 尽量最新 | https://www.cnblogs.com/liuyangfirst/p/15997753.html |
IntelliJ IDEA | 尽量使用比较新的版本 | https://www.jetbrains.com/idea/ |
二、官方地址
- 官方手册 : https://www.apolloconfig.com/#/zh/deployment/quick-start
-
根据图中位置下载apollo的相关zip包.
-
访问: https://pan.baidu.com/s/1Ieelw6y3adECgktO0ea0Gg#list/path=%2F
三、数据库脚本使用
-
1.找到下载好的脚本。
-
2.打开DBeaver,右键一个数据库,选择工具—>执行脚本.
- 3.选择文件所在路径.额外命令里添加配置.
--default-character-set=utf8
- 4.选择一个文件,点击确认.
- 5.填好后,如图,选择开始,不报错执行完毕,就是成功了,成功后,会生成如图两个数据库.
四、配置Apollo文件
-
1.找到下载好的文件,找到demo文件,对其备份。
-
2.打开demo文件,进行如图修改(你的账户密码,不一样,自行修改)。
五、启动Apollo
- 1.右键选择git工具.(保证808080908070 端口不被占用)
- 2.输入命令启动.
./demo.sh start
- 输入后,进入等待状态,一直等所有启动后才是成功.
- 3.关闭命令
六、访问Apollo
-
1.访问地址:localhost:8070/
-
2.输入账号/密码: apollo/admin
- 3.访问成功进入主页
- 4.访问地址:官方样例,可以查看官网如何使用的.
Apollo产品使用
一、修改部门
-
1、Apollo的部门设计很不好,需要进行修改,修改方式如下。
-
正常的新建,这时候,只有这个样例部门,没有正常的部门,所以要修改。
-
-
2、修改方式类似于json修改,首先找到如图的参数修改。
-
3.点击如图修改,新版的这个可以看到这个配置列表了,旧版需要输入关键字。
-
旧版是这样的。
-
需要输入:organizations,点击查询。
-
-
4.新版修改了样式,操作还是一样的,就是按照格式修改json。
-
修改样例。(自己编的,你也可以自定义)
[{"orgId":"micro_service","orgName":"研发部"},{"orgId":"002","orgName":"销售部"},{"orgId":"003","orgName":"行政部"},{"orgId":"004","orgName":"财务部"},{"orgId":"005","orgName":"商务部"},{"orgId":"006","orgName":"保洁部"},{"orgId":"007","orgName":"保安部"},{"orgId":"008","orgName":"餐饮部"},{"orgId":"009","orgName":"运营部"},{"orgId":"010","orgName":"客服部"},{"orgId":"011","orgName":"公关部"},{"orgId":"012","orgName":"法务部"},{"orgId":"013","orgName":"后勤保障部"}]
-
修改新版的,粘贴到这里。
-
保存后如图。一定要格式对,否则会报错,整个都不好使了。
-
添加成功,再看新进内,就这样了。
-
二、应用操作
-
1.新建应用。点击如图位置,添加相关参数,点击保存,再返回主界面,就可以看到自己创建的应用了。
-
2.修改应用,选择如图,修改添加时候的信息,点击修改应用信息,就可以修改了。
-
3.在总列表里,可以看到添加的应用。
-
4.删除应用,这个功能就需要吐槽下,本来应该在展示界面里就有,可是它却在管理员工具里,这个button设置的不好。
-
本来在首页设置直接点删除很好操作,结果在管理中,而且,还是需要自己输入ID,这就更费劲操作了。
-
删除成功后,提示信息。再点击返回首页,才能看到成功删除,不会自动跳转。
-
三、用户操作
-
1.添加用户,进入用户界面后,添加信息,点击添加。
-
旧版的就可以设置简单的密码.
- 新建用户后,可以进入登陆界面进行登陆.
- 成功后如图显示,但是,这里的用户没有管理员工具.很多功能需要授权使用.
-
2.编辑用户,修改用户的信息。
-
可以在列表里选择禁用,但是,为什么不把删除放在这里呢?这个界面不是很友好。
-
选择过滤进行查询,选择重置,就会删除关键字(没什么用的设计)。
-
3.删除用户,由于界面没有开发删除功能,所以想要删除用户(在如图位置),需要自己删除数据库的数据(谨慎操作).
# 一定加好where条件,不然全部用户删了,就不用用了
delete from users where id = 2
- 技能好的可以源码拷贝下来,二次开发加上删除用户的button,技能不好的,想要删除,就像这样删除数据库的用户,这是在用户没有赋权的简单模式下删除,赋权后,还要同步删除权限.
四、系统权限管理
1、创建应用权限配置
-
1)操作之前保证新建了一个用户(详情看用户添加),保证有多个可以测试的应用.
-
2)使用前需要开启这个功能,才能配置,否则配置无效.
-
要在系统配置页面,首先将这个参数添加进去.
-
输入配置的信息,点击提交
role.create-application.enabled = true
-
- 登陆普通用户:zhangsan,就会发现在首页应用这里,图标都没了.
- 管理员这里是有这个图标的.
- 3)登陆超级管理员apollo,使用这里的授权功能进行授权,再登陆zhangsan(普通用户查看),发现这里的图标又出现了.
- 在这个列表里可以选择.给用户添加创建应用的权限(用户默认就有这个权限)
2、创建应用权限配置
-
1 ) 进入首页,选择一个应用进入.
-
2 )点击进入后,发现这里有个管理应用.
-
先给普通用户添加这个应用的管理员权限.
-
-
3 ) 登陆普通用户zhangsan,查看其应用.
- 点击下拉框发现普通用户,也可以修改应用的管理员.
-
4 ) 进入apollo账户下,添加参数到系统参数中.
-
添加参数,到配置中,点击提交.
r服务器托管网ole.manage-app-master.enabled = true
-
对其设置.
-
如图位置找到,选择点击.(系统权限管理应该叫做用户应用权限管理,更加恰当,应该是产品起的名字,奇奇怪怪的)
-
可以将管理员的应用授权给普通用户使用权限(那么就没什么变化,所以这里要禁用其功能).
-
5 ) 重新登陆zhangsan账户,点击进入应用详情.
-
这时就会看到管理员分配的功能没有了,只有一个查看的功能了.
3、与旧版比对
- 旧版是没有这个模块的,这是新增的一个模块,对两个权限进行了修改,全网和官网都没有相关配置,这里是作者反复测试得到的结果.
五、系统参数
-
可以通过这里配置.
1、PortalDB 配置管理
-
这个模块对应的数据库就是这个的表.
新增配置
- 就相当于项目里的properties
编辑配置
查询配置
删除配置
-
界面没有开发删除功能,所以,要在数据库操作删除.
-
谨慎操作,不要轻易操作
2、ConfigDB 配置管理
-
这个模块对应的数据库就是这个的表.
新增配置
- 就相当于项目里的properties
编辑配置
查询配置
删除配置
- 界面没有开发删除功能,所以,要在数据库操作删除.
- 谨慎操作,不要轻易操作
六、系统信息
-
主要是查看功能,就跟Euraka的主页一样.
七、配置导出导入
-
会把配置信息导出成应用配置的信息.
1、配置导出
-
导出后会产生这样的文档.打开查看都是json格式的数据.
2、配置导入
八、应用配置(核心功能使用)
-
在主页点击应用进入应用配置.
1、应用信息配置
- 查看应用操作.
2、管理应用配置
-
查看第四章系统权限管理
-
查看应用操作
3、管理密钥配置(新版才有,旧版没有)
-
进入密钥详情,点击添加进行添加.
-
可以点击启用或者删除.
-
点击启用
4、添加集群配置
-
集群就是多个服务器或者多个服务同时使用.
删除集群
-
在首页找到管理员工具里的删除功能.另一个页面打开记住集群的名字,复制粘贴过来.
-
一个打开记录集群名称.
-
进入删除集群界面.复制集群名称粘贴进来.
-
删除成功后.
-
再次查看应用详情中,删除成功.
集群没有修改名称的操作
-
可以通过修改数据库实现 .
UPDATE cluster SET Name='HandSomeBoy' where Id = 7 and IsDeleted=0;
-
修改成功,再查看界面.
5、添加Namespace配置
-
进入内部的NameSpace配置界面,
-
有两个模块:创建Namespace和关联公共组件Namespace
-
其他功能.
A、创建Namespace配置
创建新的Namespace
- 类型:公有就是其他项目也可以使用,私有就是只有当前的项目可以使用,建法一样,就是看你是自己项目用还是大家一起用.
设置Namespace
-
点击新增配置
-
具体配置信息描述.
-
另一种就是通过文本添加,当产生配置表之后,可以进行服务器托管网文本配置的.
-
配置成功后生成列表.
-
点击这里进行修改
-
点击叉进行删除
-
其他配置可以按需求修改.
-
最后发布配置文件,就相当于上线了的配置文件,可以用服务连接使用了.
B、关联公共组件Namespace
- 就是两个或者多个项目,共同使用一个配置的namespace,也相当于共用的properties.
建立关联的namespace
-
选择另一个应用进入,找到namespace设置,选择关联公共namespace
-
本来没有namespace,这样就共用了一个公有的namespace.达到多个项目共用一个公有公共的namespace.
-
创建成功选择回到首页.
-
-
还可以进行覆盖修改操作.
- key重复了,但是,在这个项目里单独的被覆盖修改了.
C、删除Namespace
应用内删除namespace
-
选中一个应用进入,看到namespace列表,选择这个地方,选择删除.
-
选择删除namespace.
管理员工具中删除namespace
-
功能建立的很散,所以,只能这样写了.
-
点击进入,查看到删除namespace的地方.
-
需要查看列表里的名字,双开浏览器比较方便操作,不然不好复制粘贴.
-
回到首页的应用,点击进入,查看到没有了.
九、开放平台授权管理
-
需要有这个需求的项目作为前提.
-
首先要把第三方的应用接入到apollo平台里,否则,这里无法使用
-
进入主页分为两个模块:创建第三方应用 和赋权
-
模拟填写一下.
-
模拟填写一下.
-
填写无误创建成功,就会返回到如图的列表中,列表就会显示出来.
Apollo 开发使用
一、构建开发环境
软件名称 | 版本 | 相关文章推荐 |
---|---|---|
Git | 尽量最新 | https://www.cnblogs.com/liuyangfirst/p/15996063.html |
JDK | 1.8 | https://www.cnblogs.com/liuyangfirst/p/14334385.html |
Maven | 尽量最新 | https://www.cnblogs.com/liuyangfirst/p/15981202.html |
MySQL | 5.6.10 | https://www.cnblogs.com/liuyangfirst/p/15997667.html |
DBeaver | 尽量最新 | https://www.cnblogs.com/liuyangfirst/p/15997753.html |
IntelliJ IDEA | 尽量使用比较新的版本 | https://www.jetbrains.com/idea/ |
二、构建微服务项目
参考文章
软件名称 | 版本 | 相关文章推荐 |
---|---|---|
Git | 尽量最新 | https://www.cnblogs.com/liuyangfirst/p/15996063.html |
三、微服务接入Apollo
1、 修改pom
-
在pom.xml中添加Apollo客户端 。
com.ctrip.framework.apollo apollo-client 1.1.0
-
项目的父类中添加。
2、修改properties
-
主要添加在consumer的路径下,就是调用apollo服务的模块。(由于是分布式,所以Apollo就相当于一个公共的服务,公共服务的东西被项目通过服务的方式调用。)
-
在resources目录下新建apollo-env.properties文件
# 这个是最有用的
dev.meta=http://localhost:8080
# 功能验收测试环境
fat.meta=http://211.103.136.242:7134
# 用户验收测试环境
uat.meta=http://172.17.0.83:8080
# 生产环境
pro.meta=http://itcast.xxx.com
- application.properties中进行如下配置
# 项目ID
app.id=account-service
# 启动阶段就注入配置(提高优先级)
apollo.bootstrap.enabled = true
# 使用哪些命名空间中的配置项
apollo.bootstrap.namespaces = application,micro_service.spring-boot-http,springrocketmq
# 服务端口
server.port=63000
3、编译启动
A.配置启动参数
- 完整的VM Options如下:
-Denv=DEV -Dapollo.cluster=DEFAULT
B、其他描述
-
Environment
# 可以通过Java的System Property的env来指定环境: -Denv=DEV
-
Cluster(集群)
# 通过Java的System Property的apollo.cluste来指定集群: -Dapollo.cluster=DEFAULT
4、模块启动顺序
序号 | 模块 | 描述 |
---|---|---|
1 | 启动Apollo | 启动Apollo的jar包 |
2 | DiscoveryServer | 注册中心 |
3 | GatewayServerGatewayServer | 网关 |
4 | ConsumerService | 用户中心 |
- 启动无误,就是配置成功了.
五、调用流程图
- 对应关系
六、版本对应
- 未在官方文档上找到相关介绍,但是在官方提供的例子里找到了一个对应的版本信息。
- 地址:https://github.com/apolloconfig/apollo-demo-java/blob/main/spring-boot-demo/pom.xml
版本对应关系
- springboot/springcloud/apollo-client 对应版本
年份 | springboot | springcloud | apollo-client | jdk |
---|---|---|---|---|
2023.2.1 | 3.0.2 | 2022.0.0 | 2.1.0 | 1.8 |
2023.X.X | 2.6.8 | 2021.0.2 | 2.1.0 | 1.8 |
自行使用版本 | 2.1.3.RELEASE | Greenwich.RELEASE | 1.2.0 | 1.8 |
- spring对应版本
年份 | spring | apollo-client | jdk |
---|---|---|---|
2023.2.1 | 3.1.1.RELEASE | 2.1.0 | 1.8 |
- springboot/springcloud 对应版本(官网)
apollo-client已有版本
-
是在maven: https://mvnrepository.com/artifact/com.ctrip.framework.apollo/apollo-client,查到的,官网也没怎么看到.
七、注意
1、配置 集体放在Apollo配置中心,怎么被应用获取呢?
-
通过Apollo客户端。在项目里就是加个pom依赖,然后修改相关配置。
-
客户端的作用:从配置中心取配置
2、配置properties的作用?
- 虽然有了配置中心的客户端,但是,客户端不知道要取什么配置,去哪里取。
- 配置中心在哪里存放,要从配置中心的哪个项目里,取哪个环境的,取哪个集群的,哪个命名空间里的什么配置。
结语
呕心沥血,爆肝两个星期(需要写配置环境的文档,还要反复测试,以便为各位看官老爷提供最好的精品文章),希望点赞,收藏,评论,转发,您的支持就是本博主前进的动力.
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: 阳光驿站快递人员管理系统-计算机毕业设计源码+LW文档
1.选题目的、意义及研究现状: 目的与意义: 随着我国国民经济建设的蓬勃发展和社会主义市场经济体制的迅速完善,各个行业都在积极使用现代化的手段,不断改善服务质量,提高工作效率,这些都在很大程度上给企业提出了越来越严峻的挑战,对企业体系无论是在行政职能、企业管理…