阿波罗配置中心(apollo)的个人看法
阿波罗应该是近几年比较火的一个分布式配置中心了,说说我个人的理解,希望对一些人有用吧。
首先从使用者的角度想
我们怎么用配置中心的?
1.得有个页面,能有权限管理,能有创建配置key-value。
在阿波罗中,这个页面对应的服务叫Protal。
存储权限相关信息的,有个数据库,叫Protal DB。
存储配置文件信息的,也有个数据库,叫config DB。
config DB对应有个服务叫Admin Service,Protal就是调用它获取的配置服务。
2.页面配置好,接着就得在代码中配置,与配置中心连接。
在阿波罗中,咱们的应用服务,就叫client。
在阿波罗中,有个服务叫config Service,它就专门给咱们的应用服务client提供配置数据。
再从作者的角度想
怎么让整体服务更稳定,更全面?
1.阿波罗是一个基于spring-cloud的java项目。
要做分布式配置中心,那肯定是微服务那一套,服务的发现与注册不能少,那既然都是cloud项目了,eureka先搞起来。
把config Service和Admin Service都注册到eureka上。
2.那这个服务,以后也不能只给java项目用,得支持其他语言啊
那就在eureka前面包一层服务,这个服务主要包装eureka的发现服务,然后以http的接口暴漏出来。这个服务在阿波罗中叫Meta Server.
3.那这个Meta Server,也是个无状态集群,怎么让client或者portal发现它呢?
很简单,负载均衡可以有,那就直接nginx搞起来。
总结
现在就有两条线了
1.client通过nginx负载均衡,负载到一台meta Server上,
然后在Eureka上获取到对应的Config Service,
最后拿到对应的配置信息。
2.protal通过nginx负载均衡,负载到一台meta Server上,
然后在Eureka上获取到对应的Admin Service,
最后拿到对应的配置信息。
附1:
提供一张阿波罗作者提供的架构图:
software load balancer就是我们说的nginx负载均衡。
附2:
阿波罗github
阿波罗配置中心(apollo)的个人看法相关推荐
- SpringCloud - Spring Cloud 之 Apollo Config携程阿波罗配置中心(二十一)
由于Spring Cloud自带的Config 需要配合 Bus 使用,且不能实时刷新,因此市面上出现了很多开元的配置中心 市面上开源的配置中心 Apollo(阿波罗):携程框架部门研发的分布式配置中 ...
- Apollo(阿波罗配置中心学习)- 实用详细
Apollo系列学习(阿波罗配置中心学习) 一.Apollo配置中心简单介绍 二.Windows 系统搭建基于携程Apollo配置中心单机模式 三.自定义Spring Boot项目通过配置中心启动项目 ...
- docker-compose 一键部署分布式配置中心Apollo
简介 说起分布式肯定要想到分布式配置中心.分布式日志.分布式链路追踪等 在分布式部署中业务往往有很多配置比如: 应用程序在启动和运行时需要读取一些配置信息,配置基本上伴随着应用程序的整个生命周期,比如 ...
- apollo local 模式_「架构」 - 配置中心 Apollo基本使用
公司需要使用Apollo配置中心,下面会出现大段Apollo官网文字截取引用. 一.Apollo(配置中心) Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境.不同 ...
- 微服务 分布式配置中心Apollo详解
微服务 分布式配置中心Apollo详解 1. 配置中心概述 1.1 配置中心简介 1.2 配置中心特点 1.3 配置中心对比 2. Apollo概述 2.1 Apollo简介 2.2 Apollo特点 ...
- JAVA开发与运维(配置中心Apollo的使用)
在微服务构建的分布式系统,有一个组件很重要,就是配置中心.配置中心集中管理所有微服务的配置信息,这样做既规范了开发配置规范,也方便于后期的运维管理.这一篇我们讲一下携程的开源配置中心Apollo的使用 ...
- Apollo - 阿波罗配置中心使用,一文搞定!
Apollo基本概念 一.简介 Apollo - A reliable configuration management system Apollo的Github地址 Apollo(阿波罗)是携程框架 ...
- Apollo阿波罗配置中心基本概述
1.什么是Apollo: Apollo(阿波罗)是一款可靠的分布式配置管理中心,诞生于携程框架研发部,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流 ...
- 微服务中集成分布式配置中心 Apollo
背景 随着业务的发展.微服务架构的升级,服务的数量.程序的配置日益增多(各种微服务.各种服务器地址.各种参数),传统的配置文件方式和数据库的方式已无法满足开发人员对配置管理的要求:配置修改后实时生效, ...
最新文章
- 2021年大数据Kafka(二):❤️Kafka特点总结和架构❤️
- ios wallet开发_iOS: 使用UICollectionView实现Wallet效果
- 准备您的虚拟桌面--WinXp模板
- PyCharm中目录directory与包package的区别
- php写poc,xray写POC踩坑
- mysql 排名_学会在MySQL中实现Rank高级排名函数,所有取前几名问题全部解决.
- golang 切片 接口_如何理解Golang中的接口?
- 域名扫描linux,ksubdomain 无状态域名爆破工具
- Ruby on Rails 目录结构
- c++ 以当前时间为文件名打印日志
- 小米/VIVO/OPPO全系列救砖+解锁+工具+教程+激活账户技术
- pcie扰码的作用_扰码讲解
- rgba通道转rgb,将RGBA颜色转换为RGB
- 达梦数据库、表字段创建索引或删除索引,增加表字段、修改字段类型或长度、修改注释sql语句
- Echarts南丁格尔玫瑰图、锥形柱状图、渐变曲线图
- 单页面应用与多页面的区别与优缺点
- 正则表达式,判断输入的字符串是否只包含数字、字母、下划线三种随机组合,字符串可以包含一个或多个空格但头尾不能为空格,全为空格组成等限定字符串格式规则
- 计算机在教育中的应用的基本现状,现代教育技术应用的现状与发展
- Ubuntu16.04 安装 CUDA、CUDNN、OpenCV 并用 Anaconda 配置 Tensorflow 和 Caffe 详细过程(此种方案不好,好的方案是另一篇,基于pyhton2的)
- 基于python的量化投资(二) ---- 获取量化数据
热门文章
- Java面试题:JDK不同版本处理IO流异常的标准代码
- 简单图形打印(需求分解)
- Samba Linux 和windows 共享
- 团队博客 一 需求分析
- page.ClientScript.RegisterStartupScript
- 为Visual Studio 2010添加HTML5的项目模板
- vue-day03-vue组件化开发
- 【操作系统复习】进程控制
- C++11新特性以及std::thread多线程编程
- mfc oninitdialog 中的hwnd == null_在SOUI中使用动态多语言切换