如我所愿,十一小长假之前成功跳槽了。

由于准备还算充分,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配置中心搭建笔记相关推荐

  1. java的Apollo的功能_Apollo配置中心

    1什么是配置中心? 传统单体应用存在一些潜在缺陷,如随着规模的扩大,部署效率降低,团队协作效率差,系统可靠性变差,维护困难,新功能上线周期长等,所以迫切需要一种新的架构去解决这些问题,而微服务( mi ...

  2. Apollo(阿波罗配置中心学习)- 实用详细

    Apollo系列学习(阿波罗配置中心学习) 一.Apollo配置中心简单介绍 二.Windows 系统搭建基于携程Apollo配置中心单机模式 三.自定义Spring Boot项目通过配置中心启动项目 ...

  3. spring boot / cloud (十七) 快速搭建注册中心和配置中心

    spring boot / cloud (十七) 快速搭建注册中心和配置中心 本文将使用spring cloud的eureka和config server来搭建. 然后搭建的模式,有很多种,本文主要聊 ...

  4. apollo 配置中心_配置中心——Apollo小记

    一.什么是配置 配置是程序运行时,动态调整行为的能力. 配置有以下属性: 配置是独立于程序的只读变量 同一份程序在不同的配置下才会有不同的行为,而且配置对于程序来说是只读的,所以程序可以通过读取配置来 ...

  5. spring boot配置ip_Spring Cloud 配置中心高可用搭建

    本文通过config server连接git仓库来实现配置中心,除了git还可以使用svn或者系统本地目录都行. 引入依赖 <dependencies><dependency> ...

  6. 使用Nacos搭建微服务注册中心和配置中心(一)

    Nacos用于替换Spring Cloud Eureka和Spring Cloud Config,集注册中心和配置中心功能于一体. 本地测试搭建使用的环境为:win10, JDK8, MySQL5.6 ...

  7. SpringCloud微服务应用-config配置中心(介绍、搭建、动态刷新、测试)

    文章目录 前言 一.传统应用配置痛点 二.Config 配置中心介绍 三.服务端Config Server搭建 1.pom依赖 2.application启动类配置 3.application.yml ...

  8. SpringCloud学习(十八):Config分布式配置中心的介绍与搭建

    目录 一.概述 1.分布式系统面临的配置问题 2. Config配置中心是什么 3.Spring Config能做什么 二.Config总控中心配置与测试 1.在Gitee上新建仓库 2.本地硬盘目录 ...

  9. springcloud gateway 使用nacos 作为配置中心 和 注册中心

    大家好,我是烤鸭: 今天分享下 springcloud gateway 使用nacos作为配置中心和注册中心,主要是还是配置中心. 源码下载: https://gitee.com/fireduck_a ...

最新文章

  1. CreateWindow创建指定宽和高的client区域窗口的方法
  2. iOS Core Bluetooth 基础知识
  3. 【转】SOAR平台初探(一)
  4. Waymo无人车,每天能绕地球一圈
  5. R语言预测初步(R语言预测实战-节选)
  6. 十大排序算法——计数排序(C语言)
  7. github中文显示乱码的解决方法
  8. 二义性调用(Ambiguous Call)
  9. 星际争霸2 AI开发
  10. 利用Python从字幕网上下载自己所需要的字幕(热门电影、美剧等)
  11. win10多用户同时远程桌面登陆
  12. 层次短语模型学习笔记
  13. 中国科学技术大学研究生免疫学技术原理与应用复习资料及历年题
  14. Android 蓝牙 单独打开和关闭BLE - 详解
  15. WebRTC音视频之噪音消除功能
  16. 子豪兄教你在树莓派上安装OpenCV
  17. Java对图片进行添加水印操作
  18. Codeforces 1492D - Genius‘s Gambit (构造)
  19. 艾默生流量计传感器的调整事项
  20. java获取上级菜单_java在多菜单中返回上级菜单如何实现

热门文章

  1. sqlserver evaluation是什么版本_使用SSMS扫描和查找SQL Server数据库的潜在安全漏洞...
  2. 04 | 内存快照:宕机后, Redis 如何实现快速恢复
  3. python英语单词 扇贝英语安卓下载_扇贝单词app下载-扇贝单词英语版 安卓版v3.6.503-pc6手机下载...
  4. Java使用String.format()实现补零
  5. JAVA——基于HttpClient的获取帆软FineReport报表爬虫DEMO
  6. Windows 10——连接鼠标时触摸板失效解决方案
  7. Long Long Message
  8. 计算机机房坏境设施演练,计算机机房环境设施应急演练方案
  9. Bootstrap4+MySQL前后端综合实训-Day01-AM【实训安排、HBuilder下载及使用、双飞翼布局(圣杯布局)案例、CSS在线手册、flex布局中的对齐方式】
  10. Fragment的setUserVisibleHint方法实现延时加载