目录

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/

二、官方地址

三、数据库脚本使用

  • 1.找到下载好的脚本。

  • 2.打开DBeaver,右键一个数据库,选择工具--->执行脚本.

  • 3.选择文件所在路径.额外命令里添加配置.
--default-character-set=utf8

  • 4.选择一个文件,点击确认.

  • 5.填好后,如图,选择开始,不报错执行完毕,就是成功了,成功后,会生成如图两个数据库.

四、配置Apollo文件

  • 1.找到下载好的文件,找到demo文件,对其备份。

  • 2.打开demo文件,进行如图修改(你的账户密码,不一样,自行修改)。

五、启动Apollo

  • 1.右键选择git工具.(保证8080\8090\8070 端口不被占用)

  • 2.输入命令启动.
./demo.sh start
  • 输入后,进入等待状态,一直等所有启动后才是成功.

  • 3.关闭命令

六、访问Apollo

  • 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账户下,添加参数到系统参数中.

  • 添加参数,到配置中,点击提交.


    role.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客户端 。


    <dependency>
    <groupId>com.ctrip.framework.apollo</groupId>
    <artifactId>apollo-client</artifactId>
    <version>1.1.0</version>
    </dependency>
  • 项目的父类中添加。

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 用户中心
  • 启动无误,就是配置成功了.

五、调用流程图

  • 对应关系

六、版本对应

版本对应关系

  • 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已有版本

七、注意

1、配置 集体放在Apollo配置中心,怎么被应用获取呢?

  • 通过Apollo客户端。在项目里就是加个pom依赖,然后修改相关配置。

  • 客户端的作用:从配置中心取配置

2、配置properties的作用?

  • 虽然有了配置中心的客户端,但是,客户端不知道要取什么配置,去哪里取。
  • 配置中心在哪里存放,要从配置中心的哪个项目里,取哪个环境的,取哪个集群的,哪个命名空间里的什么配置。

结语

呕心沥血,爆肝两个星期(需要写配置环境的文档,还要反复测试,以便为各位看官老爷提供最好的精品文章),希望点赞,收藏,评论,转发,您的支持就是本博主前进的动力.

2023年最新版Apollo保姆级使用手册(超级详尽版本)的更多相关文章

  1. Gpload安装手册(Linux版本)

    Gpload安装手册(Linux版本) 一.python 2.7版本 Linux系统默认是安装python2.7的,如果没有需要手动安装(python版本要求2.4.4以上): 通过命令:python ...

  2. 阿里巴巴Java开发手册(详尽版)-个人未注意到的知识点(转)

    转自 https://blog.csdn.net/u013039395/article/details/86528164 一.编程规约 (一) 命名风格 [强制]代码中的命名只可用英文方式 [强制]类 ...

  3. 最新版自动检测卡片类型工具软件版本(auto check card type v3.2.0)

    自动检测卡片类型工具软件. 卡片放到读卡器上面自动识别卡片类型,不需老是按下按钮,好用,方便.支持自动识别NTAG213卡片,NTAG215卡片, NTAG216卡片,Ultralight芯片, Ul ...

  4. 《新版阿里巴巴Java开发手册》提到的三目运算符的空指针问题到底是个怎么回事?

    最近,阿里巴巴Java开发手册发布了最新版--泰山版,这个名字起的不错,一览众山小. 新版新增了30+规约,其中有一条规约引起了作者的关注,那就是手册中提到在三目运算符使用过程中,需要注意自动拆箱导致 ...

  5. Egret 菜鸟级使用手册

    首先,先安装好,然后,创建项目,弄好之后,在终端输入 egret run -a 开启服务 /*********************************华丽丽的分割线************** ...

  6. Egret 菜鸟级使用手册--第二天

    ################新的一天,我还是大佬 今天加载个英雄,先在GameScene里搞一个英雄出来,然后再创建一个Hreo类 接下来又一个新的API egret.TouchEvent.TOU ...

  7. Re:从零开始的Git保姆级使用教程

    观前提示: 本文主要介绍了用命令的方式对Git进行操作(全程用的win10系统),而对于TortoiseGit和github desktop等图形化操作知识,只进行简单介绍或提及,详细使用会在提到的地 ...

  8. IDEA 最新版永久破解最简单方法(版本 IntelliJ IDEA 2018.3.5)

    版权声明:本文为博主原创文章,仅作为学习交流使用,请在阅读后自行删除, 未经博主允许不得转载.https://www.cnblogs.com/linck/p/10522045.html 1.官网下载专 ...

  9. Matalb中英双语手册-年少无知翻译版本

    更新: 20171207: 这是大学期间参加数模翻译的手册 正文: 愚人节快乐,突然发现自己在博客园的一篇文章.摘取如下: MATLAB 语言是一种工程语言,语法很像 VB 和 C,比 R 语言容易学 ...

  10. 新增16条设计规约!阿里巴巴Java开发手册(详尽版)开放下载!

    <阿里巴巴Java开发手册>是阿里内部Java工程师所遵循的开发规范,涵盖编程规约.单元测试规约.异常日志规约.MySQL规约.工程规约.安全规约等,这是近万名阿里Java技术精英的经验总 ...

随机推荐

  1. 百度Amis+React低代码实践

    背景 在项目中有集成低代码平台的想法,经过多方对比最后选择了 amis,主要是需要通过 amis 进行页面配置,导出 json 供移动端和 PC 端进行渲染,所以接下来讲一下近两周研究 amis 的新 ...

  2. 在js中修改less文件内样式

    在项目中使用使用进度条时遇到了一点问题,根据需求进度条的百分比需要在条内显示,但是当完成度太低时由于进度条背景和百分比值都是接近的颜色,所以此时无法显示进度值,这个时候需要根据完成度大小来进行判断,动 ...

  3. 即构携手智能对讲机品牌Runbo,打造可视化对讲通信系统

    现代通信技术的发展,让信息的传递变得前所未有的便捷.作为双向移动通信工具,对讲机不需要网络支持就可以进行通话,且没有话费产生,尤其适合酒店.物业等使用区域固定.通话频繁的场景. 随着技术的不断迭代,对 ...

  4. 前端Vuer,请收好这份《Vue组件单元测试》宝典,给自己多一些安全感

    大家好,我是 Kagol. 作为一名前端,在做业务开发的过程中,你是否曾经: 因为担心上线之后出bug,而反复手工验证自己负责的模块 不敢修改现有的"屎山"(别人写的或者是自己1年 ...

  5. linux内核编译中常用的目标(二)

    文章目录 一. 目标 all 或者 空 二. 目标 vmlinux 三. 目标 modules 四. 目标 Image/zImage/uImage 1.Image和zImage的区别 2.uImage ...

  6. Python数据分析易错知识点归纳(一):基础知识

    一.python基础 字符串replace方法 txt = txt.replace(s, ' ') # 光是txt.replace(s, ' ')是不会对txt产生影响的 # 下面每次循环replac ...

  7. Jedis 参数异常引发服务雪崩案例分析

    作者:vivo 互联网服务器团队 - Wang Zhi Redis 作为互联网业务首选的远程缓存工具而被大面积使用,作为访问客户端的 Jedis 同样被大面积使用.本文主要分析 Redis3.x 版本 ...

  8. 五分钟教你使用GitHub寻找优质项目

    前言 经常会有同学会问如何使用GitHub找到自己想要的项目,今天咱们就出一期快速入门教程五分钟教你使用GitHub寻找优质项目.GitHub作为世界上最大的项目开源平台之一,上面有着无数优质的开源项 ...

  9. 从 HTTP/1.1 到 HTTP/3

    从 HTTP/1.1 到 HTTP/3,解决了一些旧协议的问题,引入了好用的新功能. HTTP/1.1 HTTP/1.1 通过在传输层和应用层之间增加 SSL/TSL 解决数据不安全的问题,但它本身还 ...

  10. 从浅入深了解.NET Core MVC 2.x全面教程

    一.基础 1.默认配置 使用Kestrel Web Server ASP.NET Core内置--跨平台 IIS集成 UseIIS() UseIISIntergration() Log IConfig ...