前言

在分布式系统中,要改个配置涉及到很多个系统,一个一个改效率低下,吃力不讨好。用配置中心可以解决这个问题。当然配置中心有不少,以下对比的表格是照搬Apollo Wiki的。

功能点 Apollo Spring Cloud Config 备注
配置界面 一个界面管理不同环境、不同集群配置 无,需要通过git操作
配置生效时间 实时 重启生效,或手动refresh生效 Spring Cloud Config需要通过Git webhook,加上额外的消息队列才能支持实时生效
版本管理 界面上直接提供发布历史和回滚按钮 无,需要通过git操作
灰度发布 支持 不支持
授权、审核、审计 界面上直接支持,而且支持修改、发布权限分离 需要通过git仓库设置,且不支持修改、发布权限分离
实例配置监控 可以方便的看到当前哪些客户端在使用哪些配置 不支持
配置获取性能 快,通过数据库访问,还有缓存支持 较慢,需要从git clone repository,然后从文件系统读取
客户端支持 原生支持所有Java和.Net应用,提供API支持其它语言应用,同时也支持Spring annotation获取配置 支持Spring应用,提供annotation获取配置 Apollo的适用范围更广一些

本文采用了Apollo,然而Apollo的没有爽一点的docker镜像,所以自己写了一个docker hubgithub

使用方法

  • 镜像中包含configservice、adminservice、portal,默认configservice。如要更改成adminservice,则在运行参数中添加对应xxx.jar,如下
docker run chenchuxin/apollo adminservice.jar
  • 要修改配置直接用环境变量,例如
docker run \
-e spring_datasource_url=jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8 \
-e spring_datasource_username=ccx \
chenchuxin/apollo
  • 一个比较完整的例子
docker run \
-e spring_datasource_url=jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8 \
-e spring_datasource_username=root \
-e spring_datasource_password=xxx \
-e server.port=8080 \
-e logging.file=/opt/logs/configservice.log \
-v /opt/logs:/var/log/apollo \
--network host \
--restart always \
--name apollo_configservice \
chenchuxin/apollo \
configservice.jar
  • 项目提供了简单的docker-compose.yml,修改成一下配置即可用
docker-compose up -d

注意

portal设置meta_server的时候,不要用环境变量设置,在运行参数用-D设置,如

docker run chenchuxin/apollo -Ddev_meta=http://localhost:8080 portal.jar

Apollo阿波罗配置中心docker的更多相关文章

  1. .NET Core微服务之基于Apollo实现统一配置中心

    Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.关于统一配置中心与Apollo 在微服务架构环境中,项目中配置文件比较繁杂,而且不同环境的不同配置修改相对频繁,每次发布都需要对应修改 ...

  2. Spring Cloud Config、Apollo、Nacos配置中心选型及对比

    Spring Cloud Config.Apollo.Nacos配置中心选型及对比 1.Nacos 1.1 Nacos主要提供以下四大功能 2.Spring Cloud Config 3.Apollo ...

  3. .NET Core + K8S + Apollo 玩转配置中心

    1.引言 Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流程治理等特性,适用于微服务配置管理 ...

  4. Apollo 高可用配置中心搭建教程

    Apollo开源文档中搭建流程讲的很详细,此处只提供传送门 1.Apollo配置中心开源地址 2.服务包下载地址 3.教程文档地址 4.视频教程地址 5.Apollo使用指南 说明: apollo-c ...

  5. 携程Apollo配置中心架构深度剖析

    转自:http://www.uml.org.cn/wfw/201808153.asp 一.介绍 Apollo(阿波罗)[参考附录]是携程框架部研发并开源的一款生产级的配置中心产品,它能够集中管理应用在 ...

  6. spring cloud 集成分布式配置中心 apollo(单机部署apollo)

    一.什么是apollo? Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流程治理等特性,适用 ...

  7. Apollo 配置中心详细教程

    一.简介 Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流程治理等特性,适用于微服务配置管理 ...

  8. 「Java分享客栈」Nacos配置中心称王称霸,我Apollo一生也不弱于人!

    前言 Apollo又称阿波罗配置中心,在前两年还是挺火的,但阿里SpringCloud套件席卷国内之后,nacos就成为了最被亲睐的分布式配置中心,nacos是配置中心和注册中心二合一的产品,单纯功能 ...

  9. 每天学点SpringCloud(八):使用Apollo做配置中心

    由于Apollo支持的图形化界面相对于我们更加的友好,所以此次我们使用Apollo来做配置中心 本篇文章实现了使用Apollo配置了dev和fat两个环境下的属性配置.Apollo官方文档https: ...

随机推荐

  1. iOS的相对路径和绝对路径

    iOS程序有固定的文件访问限制,只能在自己的沙盒内. UIImage *img=[UIImage imageNamed:@"cellicon.png"]; 这段代码从相对路径加载了 ...

  2. SQL Constraints

    每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束. http://www.w3school.com.cn/sql/sql_unique.asp 另外相关:@On ...

  3. 【开发技术】java异常的捕获与抛出原则

    在可能会出现exception的地方,要使用try-catch或者throws或者两者都要.我的判断依据是:如果对可能出现的exception不想被外部(方法的调用者)知道,就在方法内部try-cat ...

  4. 自己搭建CA颁发证书做https加密网站

    192.168.10.187 CA服务器 192.168.10.190 web服务器 (1)搭建CA cd /etc/pki/CA 在这个目录下创建serial和index.txt两个文件 echo ...

  5. 使用vue 遇到的问题————— 解决手机实时显示项目

    Vue项目文件组织架构: src文件夹存放源代码. Static文件夹存放第三方静态资源.     git将项目上传github  http://blog.csdn.net/laozitianxia/ ...

  6. Arduino库函数中文说明

    #define 常量名 常量值 % 取模运算符 String abc  /  char abc[n]  定义字符串 pinMode(pin,mode);  用于引脚的初始化  mode包括 INPUT ...

  7. 【javascript】onblur调用函数失效问题记录

    在处理页面上一个失焦效果时遇到了  xxxx is not a function 这样的错误,但函数确实有定义成功 ,经过测试发现是 id 值与函数名一致导致的问题,但是产生的原因没有找到详细的解释 ...

  8. 如何从零开始设计一款漂亮的移动APP?

    以下内容由Mockplus团队翻译整理,仅供学习交流,Mockplus是更快更简单的原型设计工具. 我13岁时开始学习平面设计.我从网上课程学会了设计网站,并习惯于全天使用Photoshop和Affi ...

  9. CSDN博客测试目录

    经常写博客,但是一般没怎么注意些目录,最近看别人写的博客都有目录,所以我也想在以后写好目录,这样子也方便阅读. 这里就写一个实验: 这里一级目录 这里是一级目录下的文本.林肯公园 这里是1.1目录 这 ...

  10. 学Java分布式和高架构,必懂的两大知识点!

    今天小编为你们分享阿里巴巴2018年招聘应届毕业生,Java工程师的面试考题,主要分为三种 Java中获取 mysql连接的方式: 第一部分:分布式   三步变成:分布式 1.将你的整个软件视为一个系 ...