apollo入门demo实战(二)
1. apollo入门demo实战(二)
1.1. 下载demo
- 从下列地址下载官方脚本和官方代码
1.2. 运行前准备
- 脚本中sql目录中两个sql,在自己的mysql中运行创建两个数据库
- 修改demo.sh中mysql数据库的账号密码
- 执行
./demo.sh start会启动三个服务,config service配置服务,admin service管理服务,portal service前端服务,正常启动日志如下 - 注意:我使用git bash模拟liunx在window里启动,此时需要注意JAVA_HOME环境变量需要配好,路径中不能有空格,否则启动不成功
$ ./demo.sh start
Windows new JAVA_HOME is: /d/Java/jdk1.8.0_161
==== starting service ====
Service logging file is ./service/apollo-service.log
Started [2156]
Waiting for config service startup.......
Config service started. You may visit http://localhost:8080 for service status now!
Waiting for admin service startup..
Admin service started
==== starting portal ====
Portal logging file is ./portal/apollo-portal.log
Started [3252]
Waiting for portal startup.......
Portal started. You can visit http://localhost:8070 now!
1.3. 进入后台页面
启动成功后访问
localhost:8070显示如下,默认账号密码apollo/admin

登录后显示,默认有一个SampleApp项目,点击

- 进入后整体显示如下

1.4. 启动客户端
- 在上述下载的脚本文件里已经存在了客户端,可以直接使用
./demo.sh client启动 - 启动日志如下
$ ./demo.sh client
Windows new JAVA_HOME is: /d/Java/jdk1.8.0_161
[apollo-demo][main]2019-03-15 16:17:56,913 INFO [com.ctrip.framework.foundation.internals.provider.DefaultApplicationProvider] App ID is set to SampleApp by app.id property from /META-INF/app.properties
[apollo-demo][main]2019-03-15 16:17:56,916 INFO [com.ctrip.framework.foundation.internals.provider.DefaultServerProvider] Environment is set to [dev] by JVM system property 'env'.
[apollo-demo][main]2019-03-15 16:17:57,023 INFO [com.ctrip.framework.apollo.internals.DefaultMetaServerProvider] Located meta services from apollo.meta configuration: http://localhost:8080!
[apollo-demo][main]2019-03-15 16:17:57,024 INFO [com.ctrip.framework.apollo.core.MetaDomainConsts] Located meta server address http://localhost:8080 for env DEV from com.ctrip.framework.apollo.internals.DefaultMetaServerProvider
Apollo Config Demo. Please input key to get the value. Input quit to exit.
- 输入属性回车,取的值就是页面上配的属性值,没有的值则undefined
> timeout
Loading key : timeout with value: 100
> poolsize
Loading key : poolsize with value: undefined
- 除了上述启动方式,如果你下载了apollo源码,你可以直接运行源码中的demo,SimpleApolloConfigDemo这个类,但运行前需要进行两个配置,官方推荐如果是windows在
C:/opt/settings/server.properties该目录创建这个文件,内容写上
env=DEV
apollo.meta=http://localhost:8080
表示启动环境DEV开发环境和config service服务地址

1.5. 创建新项目
1.5.1. 创建账户
- 访问
http://{portal地址}/user-manage.html,这里就是http://localhost:8070/user-manage.html - 显示如下,需要先登录管理员账号才能访问该地址

1.5.2. 创建项目
创建个账号提交,再重新登录,点击创建项目

查看数据库可看到,部门从数据库serverconfig表读取

1.5.3. 添加配置

注意:需要点击发布才能生效
1.5.4. 客户端修改
- 以项目默认的demo为例,进行修改


1.5.5. 修改配置

结果

1.6. 总结
通过上述测试已经实现了后台页面配置实时修改,客户端实时接收修改配置值,我们已经初步了解apollo的基本功能,接下来需要研究下客户端需要如何配置才能实现需求了,下章继续_
apollo入门demo实战(二)的更多相关文章
- webpack入门和实战(二):全面理解和运用loader和plugins
您的阅读目录: 一.理解webpack加载器loader 二.理解less-loader加载器的使用 三.理解babel-loader加载器的使用 四.webpack命令行常见使用的操作 五.用web ...
- Quartz学习——Quartz简单入门Demo(二)
要学习Quartz框架,首先大概了解了Quartz的基本知识后,在通过简单的例子入门,一步一个脚印的走下去. 下面介绍Quartz入门的示例,由于Quartz的存储方式分为RAM和JDBC,分别对这两 ...
- Spring Web Flow 入门demo(二)与业务结合 附源代码
第一部分demo仅仅介绍了简单的页面跳转,接下来我们要实现与业务逻辑相关的功能. 业务的逻辑涉及到数据的获取.传递.保存.相关的业务功能函数的调用等内容,这些功能的实现都可用Java 代码来完毕,但定 ...
- Gradle入门到实战(二) — ImageOptimization安卓图片转换压缩插件
上一篇我们了解了Gradle的各个方面,本篇介绍一款安卓图片优化转换插件,目前已在项目中使用,可一键批量转换压缩图片,webp转换与png/jpg压缩就是那么简单 GitHub项目地址:ImageOp ...
- webpack入门和实战(一):webpack配置及技巧
一.全面理解webpack 1.什么是 webpack? webpack是近期最火的一款模块加载器兼打包工具,它能把各种资源,例如JS(含JSX).coffee.样式(含less/sass).图片等都 ...
- Docker从入门到实战(二)
Docker从入门到实战(二) 一:什么是docker Docker是一个开源的应用容器引擎,开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到主流的Linux.MacOS.Windo ...
- Sping Boot入门到实战之入门篇(二):第一个Spring Boot应用
该篇为Spring Boot入门到实战系列入门篇的第二篇.介绍创建Spring Boot应用的几种方法. Spring Boot应用可以通过如下三种方法创建: 通过 https://start.spr ...
- xgboost入门与实战(原理篇)
sklearn实战-乳腺癌细胞数据挖掘 https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campai ...
- ElasticSearch实战系列六: Logstash快速入门和实战
前言 本文主要介绍的是ELK日志系统中的Logstash快速入门和实战 ELK介绍 ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是 ...
随机推荐
- Linux screenshot
一.简介 linux下的三个截图软件
- Python内置的服务器的使用
cd 到某一文件 Python内置的服务器: E:\myObject\office\netObject\new-gcms> python -m SimpleHTTPServer 8888 如果是 ...
- python基础 (函数名,闭包,和迭代器)
1.函数名作用 函数名本质上就是函数的内存地址或对象. 1.可以被引用 2.可以被当作容器类型的元素 3.可以当作函数的参数和返回值 4.如果记不住的话,那就记住一句话,就当普通变量用 2.闭包 什么 ...
- LR回放https协议脚本失败:[GENERAL_MSG_CAT_SSL_ERROR]connect to host "XXX" failed:[10054] Connection reset by peer [MsgId:MERR-27780]
Loadrunner默认发送是通过sockets(将http转换为sockets)发送的,而sockets默认SSL的版本为SSL2和SSL3.HTTPS协议录制的脚本以SSL3版本回放时会使sock ...
- 解决Kettle与Kerberos集成问题
本文目的:记录Kerberos环境下,通过Kettle将MySQL数据清洗到HDFS过程解决的2个问题,希望对大家有所帮助. Kettle版本:pdi-ce-7.1.0.0-12 1.在Kerbero ...
- matplotlib 绘图报错 RuntimeError: Invalid DISPLAY variable
ssh 远程登录 Linux 服务器使用 matplotlib.pyplot 绘图时报错 原因: matplotlib 在 windows 下的默认 backend 是 TkAgg:在 Linux 下 ...
- LinkedList - 好一个双向链表
LinkedList是常用的集合结构之一,数据存储结构为链式存储,每个节点都有元素.前指针和后指针,指针指向了前节点和后节点的位置.同是LinkedList也是一个队列,实现了Deque接口,Dequ ...
- 【NIFI】 Apache NiFI 授权配置
当NIFI未配置需要单向SSL(例如LDAP,OpenId Connect等)的替代认证机制时,NiFi的Web服务器将要求访问用户界面的用户使用基于证书的客户端身份验证.启用备用身份验证机制会将We ...
- 微信小程序开发之搞懂flex布局1——Flexbox
Flexbox ——弹性布局 Flexbox is a layout model for displaying items in a single dimension — as a row or as ...
- python语法之函数1
函数 计算机中的函数和数学中的函数不是一回事,而是一个subroutine .子程序.procedures.过程. 作用: 1.减少重复代码: 2.方便修改,更易扩展: 3.保持代码的一致性. 最简单 ...