Apollo 接入规范+Demo

先看下Apollo的官方架构图:

上图简要描述了Apollo的总体设计,我们可以从下往上看:

  • Config Service提供配置的读取、推送等功能,服务对象是Apollo客户端
  • Admin Service提供配置的修改、发布等功能,服务对象是Apollo Portal(管理界面)
  • Config Service和Admin Service都是多实例、无状态部署,所以需要将自己注册到Eureka中并保持心跳
  • 在Eureka之上我们架了一层Meta Server用于封装Eureka的服务发现接口
  • Client通过域名访问Meta Server获取Config Service服务列表(IP+Port),而后直接通过IP+Port访问服务,同时在Client侧会做load balance、错误重试
  • Portal通过域名访问Meta Server获取Admin Service服务列表(IP+Port),而后直接通过IP+Port访问服务,同时在Portal侧会做load balance、错误重试
  • 为了简化部署,我们实际上会把Config Service、Eureka和Meta Server三个逻辑角色部署在同一个JVM进程中

一、服务端配置:

通过Apollo Portal(管理界面):

先创建一个用户(必须是超级管理员创建用户):

创建完成后就可以用新用户登录了;

新建一个项目:

 部门的新建不能通过页面修改,只能通过数据库修改,通过修改organizations里面的值:

 

应用id:每个应用都需要有唯一的身份标识,我们认为应用身份是跟着代码走的,所以需要在代码中配置使用的;

应用名称:就是应用的名称,用于展示的;

应用负责人默认是应用管理员;

创建完项目后页面:

 介绍这个页面之前我先介绍几个概念:

Apollo支持4个维度管理Key-Value格式的配置:

  1. application (应用)
  2. environment (环境)
  3. cluster (集群)
  4. namespace (命名空间)

 application和environment应该不用介绍了,主要是介绍cluster集群和namespace,

  • cluster (集群)

    • 一个应用下不同实例的分组,比如典型的可以按照数据中心分,把上海机房的应用实例分为一个集群,把北京机房的应用实例分为另一个集群。
    • 对不同的cluster,同一个配置可以有不一样的值,如zookeeper地址。
    • 集群默认是通过读取机器上的配置(server.properties中的idc属性)指定的,不过也支持运行时通过System Property指定
  • namespace (命名空间)

    • 一个应用下不同配置的分组,可以简单地把namespace类比为文件,不同类型的配置存放在不同的文件中,
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
接入Apollo配置中心需要进行以下步骤: 1. 确保你有对ApolloPortalDB和ApolloConfigDB数据的读写权限。你可以在配置文件中找到相关的数据库连接信息,包括URL、用户名和密码。\[1\] 2. 配置权限分为编辑和发布两种。编辑权限允许用户在Apollo界面上创建、修改、删除配置,但这些修改只在Apollo界面上生效,不会影响到应用实际使用的配置。发布权限允许用户在Apollo界面上发布、回滚配置,只有在发布或回滚后,应用才会使用到最新的配置。Apollo会实时通知应用最新的配置,并使其生效。\[2\] 3. 如果你希望将日志相关的配置也放在Apollo管理,可以在配置文件中添加`apollo.bootstrap.eagerLoad.enabled=true`来确保Apollo在日志系统加载之前加载。但需要注意的是,这样做会导致Apollo的启动过程无法通过日志的方式输出。\[3\] 通过以上步骤,你就可以成功接入Apollo配置中心了。 #### 引用[.reference_title] - *1* [深入理解Apollo(三)Hello World设计](https://blog.csdn.net/shang_xs/article/details/89011796)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Apollo应用接入](https://blog.csdn.net/qq_18671415/article/details/112346823)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [常见的配置中心:Apollo(二)-接入Apollo](https://blog.csdn.net/kiranet/article/details/116245522)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值