apollo 配置中心_Apollo配置中心搭建笔记
如我所愿,十一小长假之前成功跳槽了。
由于准备还算充分,offer拿了不少,涨幅也普遍达到了预期。
但是在offer对比过程中我还是纠结了许久。在薪资差别不大的情况下,主要考虑的是平台规模、业务前景、以及个人发展空间,其次是加班情况、办公环境、企业文化、其他福利待遇等。按照这个排序规则,我最终选择了一家业务相对比较忙的上市金融公司,而放弃了另外一家比较没那么忙的音频行业巨头。
选择忙碌而放弃安逸,希望将来能得到更高的锻炼和提升。
假期过了一半,闲来无事,该学习下了。新项目中用到了Apollo作为配置中心(我之前用的是平安的deops),现在动手搭建一下。
Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。
现已开源,github地址为:https://github.com/ctripcorp/apollo
一、Apollo搭建
拉取源码到本地先看看项目结构,习惯性看看ReadMe.md文件,里面一般会对项目各模块做简单介绍。果然,里面提供了快速部署参见文档。
https://github.com/ctripcorp/apollo/wiki/Quick-Start
Quick Start文档显示,Apollo是通过mysql数据库来保存配置信息的,部署前先导入官方提供的sql文件(项目中/scripts/sql/目录下提供了的2个脚本),执行后产生2个数据库:
apolloportaldb: 存放app、namespace、用户、角色、权限等系统信息。
apolloconfigdb: 存放配置项等信息,各环境都需要一份。
数据库准备好之后,下载官方提供的安装包,并修改demo.sh文件中的数据库配置为自己的数据库信息。
上面拉取源码主要为了熟悉apollo项目结构和源代码,可以手动打包运行,也可以直接使用下图中官网打好的包运行。
修改数据库配置
至此,数据库和jar包都准备好了,可以放到linux环境中启动。
二、Apollo启动与配置推送
将打包后的jar以及对应目录、demo.sh都放到Linux目录下。
./demo.sh start //启动apollo
启动之后,会占用以下三个端口:
8080:apollo-configservice服务,为客户端应用程序提供推送配置变更、查询配置项等服务。同时通过8080访问自带的Eureka注册中心;
8070:apollo-portal服务,apollo的web控制台。可以在这里进行项目管理、配置发布等操作;
8090:apollo-adminservice服务,提供配置管理接口,提供配置修改、发布等接口,接口服务对象为apollo-portal,以及Eureka;
根据日志提示,我们可以通过 http://ip:8070/ 访问apollo控制台了
默认用户:apollo 密码:admin
三、Apollo的应用demo
接下来就是springboot客户端读取apollo配置中心的配置项了。
官方提供的quick start里面有一个client demo
我们可以通过以下命令启动这个客户端:
./demo.sh client
这个客户端应用demo的主要功能是根据用户输入的字符串从配置中心查找配置项,找到就打印出来,没有找到就打印undedined。
由于此时Apollo中还没有创建任何项目及namespace,所以该client程序是查询不到任何配置信息的。接下来我们创建一个项目:
注意appId必须要填写client 应用程序配置的app.id信息。因为Apollo要根据这个appId去匹配对应服务。
然后我们在该项目中添加两个配置项:
现在就可以读取到已经发布的配置项了:
OK,一个简单的quick start实践到此为止。
apollo配置更新策略:
总结:
Apollo分布式配置中心是目前被广泛应用的配置中心组件,提供了配置修改实时推送的能力。
客户端从Apollo配置中心服务端获取到应用的最新配置后,会保存一份在内存中,在遇到服务不可用,或网络不通的时候,依然能从本地恢复配置;
客户端和服务端保持了一个长连接(60s,异步消息表,有任务定时扫描该表进行通知),从而能第一时间获得配置更新的推送。
apollo 配置中心_Apollo配置中心搭建笔记相关推荐
- java的Apollo的功能_Apollo配置中心
1什么是配置中心? 传统单体应用存在一些潜在缺陷,如随着规模的扩大,部署效率降低,团队协作效率差,系统可靠性变差,维护困难,新功能上线周期长等,所以迫切需要一种新的架构去解决这些问题,而微服务( mi ...
- Apollo(阿波罗配置中心学习)- 实用详细
Apollo系列学习(阿波罗配置中心学习) 一.Apollo配置中心简单介绍 二.Windows 系统搭建基于携程Apollo配置中心单机模式 三.自定义Spring Boot项目通过配置中心启动项目 ...
- spring boot / cloud (十七) 快速搭建注册中心和配置中心
spring boot / cloud (十七) 快速搭建注册中心和配置中心 本文将使用spring cloud的eureka和config server来搭建. 然后搭建的模式,有很多种,本文主要聊 ...
- apollo 配置中心_配置中心——Apollo小记
一.什么是配置 配置是程序运行时,动态调整行为的能力. 配置有以下属性: 配置是独立于程序的只读变量 同一份程序在不同的配置下才会有不同的行为,而且配置对于程序来说是只读的,所以程序可以通过读取配置来 ...
- spring boot配置ip_Spring Cloud 配置中心高可用搭建
本文通过config server连接git仓库来实现配置中心,除了git还可以使用svn或者系统本地目录都行. 引入依赖 <dependencies><dependency> ...
- 使用Nacos搭建微服务注册中心和配置中心(一)
Nacos用于替换Spring Cloud Eureka和Spring Cloud Config,集注册中心和配置中心功能于一体. 本地测试搭建使用的环境为:win10, JDK8, MySQL5.6 ...
- SpringCloud微服务应用-config配置中心(介绍、搭建、动态刷新、测试)
文章目录 前言 一.传统应用配置痛点 二.Config 配置中心介绍 三.服务端Config Server搭建 1.pom依赖 2.application启动类配置 3.application.yml ...
- SpringCloud学习(十八):Config分布式配置中心的介绍与搭建
目录 一.概述 1.分布式系统面临的配置问题 2. Config配置中心是什么 3.Spring Config能做什么 二.Config总控中心配置与测试 1.在Gitee上新建仓库 2.本地硬盘目录 ...
- springcloud gateway 使用nacos 作为配置中心 和 注册中心
大家好,我是烤鸭: 今天分享下 springcloud gateway 使用nacos作为配置中心和注册中心,主要是还是配置中心. 源码下载: https://gitee.com/fireduck_a ...
最新文章
- CreateWindow创建指定宽和高的client区域窗口的方法
- iOS Core Bluetooth 基础知识
- 【转】SOAR平台初探(一)
- Waymo无人车,每天能绕地球一圈
- R语言预测初步(R语言预测实战-节选)
- 十大排序算法——计数排序(C语言)
- github中文显示乱码的解决方法
- 二义性调用(Ambiguous Call)
- 星际争霸2 AI开发
- 利用Python从字幕网上下载自己所需要的字幕(热门电影、美剧等)
- win10多用户同时远程桌面登陆
- 层次短语模型学习笔记
- 中国科学技术大学研究生免疫学技术原理与应用复习资料及历年题
- Android 蓝牙 单独打开和关闭BLE - 详解
- WebRTC音视频之噪音消除功能
- 子豪兄教你在树莓派上安装OpenCV
- Java对图片进行添加水印操作
- Codeforces 1492D - Genius‘s Gambit (构造)
- 艾默生流量计传感器的调整事项
- java获取上级菜单_java在多菜单中返回上级菜单如何实现
热门文章
- sqlserver evaluation是什么版本_使用SSMS扫描和查找SQL Server数据库的潜在安全漏洞...
- 04 | 内存快照:宕机后, Redis 如何实现快速恢复
- python英语单词 扇贝英语安卓下载_扇贝单词app下载-扇贝单词英语版 安卓版v3.6.503-pc6手机下载...
- Java使用String.format()实现补零
- JAVA——基于HttpClient的获取帆软FineReport报表爬虫DEMO
- Windows 10——连接鼠标时触摸板失效解决方案
- Long Long Message
- 计算机机房坏境设施演练,计算机机房环境设施应急演练方案
- Bootstrap4+MySQL前后端综合实训-Day01-AM【实训安排、HBuilder下载及使用、双飞翼布局(圣杯布局)案例、CSS在线手册、flex布局中的对齐方式】
- Fragment的setUserVisibleHint方法实现延时加载