这里写的apollo和apollo?Apollo?,小编为您理一理
介绍
Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。服务端基于Spring Boot和Spring Cloud开发,打包后可以直接运行,不需要额外安装Tomcat等应用容器。Java客户端不依赖任何框架,能够运行于所有Java运行时环境,同时对Spring/Spring Boot环境也有较好的支持。
了解 apollo 可以去 github 上 ,地址 https://github.com/ctripcorp/apollo
Quick start
快速开始 : https://github.com/ctripcorp/apollo/wiki/Quick-Start
Prerequisite
项目下载地址,貌似只能在linux上跑,没有bat脚本 https://github.com/nobodyiam/apollo-build-scripts 这个链接下载就行了
直接 在 linux/mac上用 git clone git@github.com:nobodyiam/apollo-build-scripts.git ,如果你下载在windows上还打开修改 发布到linux上 注意 换行符的不同 , 建议使用 yum install dos2unix 下载这个工具
下载安装mysql 版本 ,并且 导入sql脚本
建议内网使用开发 , 不建议远程服务器开发 ,
修改 demo.sh 脚本 中 两个数据库配置信息
启动 脚本就ok了
Future
apollo集群的注册中心是eureka , 默认端口是8080
数据库 : mysql
AppId 项目名称
namespace 就是 每一个 配置的空间名 ,默认是application
不会因为配置中心宕机,而无法读取配置服务,会本地缓存一份 , 地址/opt/data/{*appId*}/config-cache ,也可以自定义缓存路径 apollo.cacheDir=/opt/data/some-cache-dir
支持本地开发 只需要 将配置 env=Local
Java Development
启动配置参数 : 优先级从高到低
第一个 jvm启动参数 -Dapollo.meta=http://1.1.1.1:8080,http://2.2.2.2:8080
Spring Boot配置文件 application.yml 或 bootstrap.yml 指定 apollo.meta=http://config-service-url
系统环境变量 : System Environment APOLLO_META
server.properties 配置文件 , linux地址 : opt/settings/server.properties ,win : C:\opt\settings\server.properties
app.properties 配置文件 , 地址 : classpath:/META-INF/app.properties
其他参数 打通小异 :
env=DEV app.id=test // placeholder在运行时自动更新功能 apollo.autoUpdateInjectedSpringProperties=falsemaven依赖
<dependency> <groupId>com.ctrip.framework.apollo</groupId> <artifactId>apollo-client</artifactId> <version>1.1.0</version> </dependency>api开发
// 打开 config Config config = ConfigService.getConfig("springboot.application"); //Config config = ConfigService.getAppConfig(); //监听配置变化事件只在应用真的关心配置变化,需要在配置变化时得到通知时使用 config.addChangeListener(configChangeEvent -> { Set<String> strings = configChangeEvent.changedKeys(); }); String key = "key1"; String value = "someDefaultValueForTheKey"; // 获取值 String outvalue = config.getProperty(key, value); System.out.println(outvalue);spring 快速开始
配置文件开发
1. 默认只有 application 这个namespace # will inject 'application' namespace in bootstrap phase apollo.bootstrap.enabled = true 2. 有多个namespace (加载顺序按照 写的先后顺序) apollo.bootstrap.enabled = true # will inject 'application', 'springboot.application'namespaces in bootstrap phase apollo.bootstrap.namespaces = application,springboot.application # put apollo initialization before logging system initializationSpring Placeholder的使用
如果需要关闭placeholder在运行时自动更新功能,可以通过以下方式关闭 apollo.autoUpdateInjectedSpringProperties=false
// key 为 timeout ,默认值为100 @Value("${timeout:100}") private int timeout;@ConfigurationProperties使用
例如 redis.cache.expireSeconds 这样的key 存在 apollo服务器中 , 下面例子会自动将 expireSeconds 注入进去 , 但是这样有个问题就是 , 不会自动刷新配置 ..........
@ConfigurationProperties(prefix = "redis.cache") public class SampleRedisConfig { private int expireSeconds; private int commandTimeout; }自动刷新 需要手动设置
@ApolloConfigChangeListener(value = { ConfigConsts.NAMESPACE_APPLICATION, "springboot.application"}, interestedKeyPrefixes = {"dev."}, interestedKeys = {"dev.test"}) public void onChange(ConfigChangeEvent changeEvent) { logger.info("before refresh {}", myConfig.toString()); if (changeEvent.isChanged("dev.test")) { ConfigChange change = changeEvent.getChange("dev.test"); String newValue = change.getNewValue(); myConfig.setTest(newValue); } logger.info("after refresh {}", myConfig.toString()); }annotation 使用
- 用来自动注入Config对象
- 用来自动注册ConfigChangeListener
- 用来把配置的json字符串自动注入为对象
已有配置迁移
可以将 application.yml 或 bootstrap.yml 换成 properties文件
image灰度发布
image可以看出 有个灰度列表 , 可以作为测试 发布出去 , 也可以取消
apollo?Apollo?的相关问答如下:
提问:阿波罗钢琴(APOLLO)品质和性价比怎么样?
回答:阿波罗钢琴,2113英文名APOLLO,起源于日本滨松市,也是日5261本现代乐器的发源地.4102在这片亚洲音乐的热土上,也诞1653生了YAMAHA、KAWAI等日本著名钢琴品牌,与APOLLO共同代表着日本先进的制琴工艺.区别于其他钢琴品牌,APOLLO尊崇工匠的钻研与创新精神,在1986年独家专利技术Slide Soft System问世,颠覆了传统立式钢琴的演奏模式,以优化了阻尼装置和脚踏板高低音可控装置为核心竞争力,从而在演奏效果上足以媲美三角钢琴.与精湛的技艺不同的是,APOLLO钢琴的价格却很有竞争力,是日本民间普及度较高的钢琴,满足入门、演奏、艺术培训等多种用琴需求,也是东京艺术大学等高等学府的御用钢琴品牌.
提问: APOLLO是什么意思
回答:1. APOLLO的意思:太阳神阿波罗是希腊奥林珀斯十二主神之一,是宙斯与仙女勒托(Leto)的儿子,阿耳忒弥斯的孪生兄弟.阿波罗又名福波斯(Phoebus),意思是“...
提问: 请问APOLLO这个英文什么意思
回答:是 阿波罗,我最讨厌的神阿波罗(希腊文 Απολλων;拉丁文 Apollo )阿波罗 :ā bō luó 希腊神话中的太阳神.主神宙斯之子.主管光明、青春、医药、畜牧、音乐等.曾与...
提问: apollo是什么意思
回答:apollo apollo的中文翻译 以下结果由译典通提供词典解释 名词 n. 1.太阳神;【诗】太阳 2.美男子 以下结果来自互联网网络释义 apollo 1.阿波罗号宇宙飞船 “嫦娥一号”相...
提问: APOLLO阿波罗钢琴怎么样?
回答:琴很好,性价比高.只是工厂不太会做宣传,所以很多人不知道.
提问: 请问这个apollo什么意思?
回答:Apollo是阿波罗,他是宙斯与黑暗女神勒托的儿子,是希腊奥林珀斯十二主神之一.阿波罗是太阳神,在阿波罗身上找不到黑暗,他从不说谎,光明磊落,所以也称真理之神.还有一种媒体播放器也叫Apollo,一种汽车的牌子也叫这个.
apollo?Apollo?的相关热门搜索词:
apollo是什么牌子,apollo自动驾驶汽车,apollo是什么意思啊,apollo's triumph,apollon,apollo 11,apollo钢琴价格,apollonius,apollo 配置中心,apollo twin x,
本文标题:apollo?Apollo?
http://www.tainingxinwen.cn/qitaxinxi/620218.html
精彩评论