首页 > 其他分享 >微服务系列之配置中心 Apollo

微服务系列之配置中心 Apollo

时间:2022-11-09 15:44:35浏览次数:60  
标签:AdminService Apollo 服务 ConfigService 配置 系列 apollo 数据库

1.背景与介绍

  随着微服务架构的发展,企业级项目由无数的服务组成,这时候急需用到集中管理、治理的配置的组件,来统一管理各个服务的开关、配置参数、数据库地址、服务器等等,然而这还不够,还要对这个管理配置的组件有着修改后实时发布、多环境、灰度发布、权限控制、审核等等机制,由此配置中心出现了,而由携程开源的apollo(阿波罗)人气最高、高可用性、各种功能非常完善,当然最关键选择apollo的一点是,文档真的非常非常完善,==本篇文章主要介绍基于docker版本的apollo搭建,apollo的一些核心概念、架构设计以及中间遇到的一些问题解决方案。

官方文档
开源地址

2.apollo核心概念

  1. application 就是字面意思应用,比如在apollo上新建一个配置项目,就是这个应用名称,设置一个appid做为唯一标识。
  2. environment 环境,apollo支持多环境配置管理,比如dev、fat、uat、pro,每个环境部署的代码,从对应的环境中读取配置。
  3. cluster 集群,apollo支持,同一个application应用+环境,按照不同集群来读取不同的配置,这个我没有实战中试过,感兴趣的可以去试试,根据官方文档来操作。
  4. namespace 命名空间,在apollo上建立项目(应用)时候,会默认在application命名空间下,我们的配置中,有许多项目都共同使用,比如数据库连接、服务发现KEY/VALUE等等各种公共的配置项,这时候就可以放到共享命名空间下,开放给所有客户端去拉取这个命名空间下的配置。

3.apollo架构设计

image
  这是apollo官方提供的架构图,由图可见,这是典型的微服务架构,如果做过微服务的同学看起来比较容易,这里面涉及的服务、中间件拆分细节如下:

  1. ConfigService 配置服务,依赖configDb数据库,提供配置获取接口,为客户端推送配置更新通知,客户端直连或者通过slb地址连接。
  2. AdminService 后端服务,依赖configDb数据库,提供配置管理接口,提供配置增删改查等等接口,Portal管理界面使用该服务。
  3. Client 就是我们的API服务,依赖ConfigService,通过configService获取应用配置,或者长连接实时更新;
  4. Portal 阿波罗的管理界面,依赖Portal数据库,依赖AdminService;
  5. Euraka 一个服务注册与发现的中间件,ConfigService和AdminService都注册在这,apollo默认架构是这个组件与ConfigService部署在一起,也可以独立部署出去。
  6. MetaServer 这个相当于,Euraka的一个反向代理
  7. NginxLB 负载均衡器,如果是分布式部署的话,ConfigService与AdminService同过这个负载地址拉拉取对应的服务发现的反向代理MetaServer地址;

标签:AdminService,Apollo,服务,ConfigService,配置,系列,apollo,数据库
From: https://www.cnblogs.com/saltlight-wangchao/p/16873948.html

相关文章

  • K8s系列---【Linux单节点部署KubeSphere】
    1、开通服务器4c8g;centos7.9,查看系统版本cat/etc/redhat-release;防火墙放行30000~36727,指定hostname。hostnameset-hostnamenode12、安装2.1准备kubekeyexpo......
  • K8s系列---【Linux多节点部署KubeSphere】
    1、准备三台服务器4c8g(master)8c16g*2(worker)centos7.9,查看系统版本cat/etc/redhat-release内网互通每个机器都有自己hostname防火墙放开30000~32767端口2、......
  • 4.jenkins安装配置升级
    1.什么是jenkinsjenkins是一个开源提供友好操作界面的持续集成的工具,由java开发而成。jenkins是一个调度平台,本身不处理任何事情,都是借由插件完成所有的工作2.为什么使......
  • 路由器交换机配置域账号登录
    服务器配置1.添加网络策略服务(NAPS)      2.新建用户组   3.配置NAPS                             ......
  • H3C IRF 配置
    一、软件版本要求IRF中所有成员设备的软件版本必须相同,如果有软件版本不同的设备要加入IRF,请确保IRF的启动文件同步加载功能处于开启状态。二、IRF物理端口连接要求本设备......
  • ZooKeeper系列:实现分布式锁
    锁是为了在多线程的场景中保证数据安全而增加的一种手段,Java中常用的有CountdownLatch,ReentrantLock等单应用中的锁,在现在处处都是分布式的场景需求下就不能满足了,所以就出......
  • Python+Selenium+Firefox配置环境
    PythonSeleniumFirefox及geckodriver有版本兼容的问题,这里本着懒癌的原则使用最新版的Selenium+Firefox和geckodriver。准备环境Python:3.7Firefox:66geckodriver:0.2......
  • Flask配置https访问协议
    在工作中总有会遇到不得不使用https服务的时候,如我在工作中就遇到了苹果ipa安装包请求地址必须使用https协议不然会提示证书错误.接下来就简单描述下flask怎么启动http......
  • 「WGCLOUD 」内网中的agent不能直连访问server,通过nginx给server转发上报数据的配置
    有一种场景,我们的server部署在公网,但我们局域网的主机都不能直连访问server比如只有主机A可以连接访问server,那么就可以在主机A部署nginx然后内网中的主机agent都把请求......
  • 基于vivado开发xilinx系列FPGA的冷知识
    第二篇来聊聊FPGA的硬件调试。理论上来说,ISE中自带的chipscope也是可以用的,只是很多时候第三方开发板用10pin的JTAG连不上这个,所以还是老老实实用自带的ila(IntegratedLog......