apollo 项目配置中心开源框架部署
apollo 于我带来的好处
1. 项目之前的配置信息全部都在 resources 目录下,当然这里我使用的是 Spring Boot 搭建的项目。使用 apollo 后,配置信息全部转移到 apollo 中管理,之后在 apollo 中修改配置后,只需要重启服务器就好了。
2. 热刷新 业务配置
,修改 apollo 中的配置后,不需要重启服务器,直接再次访问接口,即可获取到配置中的信息。这里的热刷新肯定不是随口一说或者集成一下 apollo 就可以刷新,需要自己写代码,集成 apollo 的 client,监听 apollo 的配置修改,然后进行数据刷新。
3. apollo 的功能还是很多的,比如 灰度发布
之后也需要用到。
apollo 如何在 win 上启动
1. 在 win 上一般情况下启动时,会出现数据库配置找不到的问题,解决方案如下
2. 如果 端口
需要修改,就需要去调整 configservice、adminservice、portal
三个模块下的 application.yml
配置文件的 server.port
属性,并在改配置文件下面新增数据库配置
spring
datasource:
url: jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8
username: root
password: 123456
3. 以上数据库的配置,根据不同的模块进行修改即可,然后按照下面所说的启动顺序去启动项目。
apollo服务端部署步骤
1. 下载 apollo master 的代码
2. win 上修改 build.bat,mac 上修改 build.sh 文件里面的 MySql 数据库配置信息,包括 eurake 注册中心的端口修改
3. 运行 build 文件
4. 将 adminservice、configservice、portal 三个模块中 target 目录下的 xxx-github-xxx.zip 文件解压,并上传至 centos 服务器中
5. 运行三个解压包中的 script 目录下的 start 脚本
6. 访问路径 ip:port
apollo service 启动顺序
1. config service
2. admin service
3. portal service
apollo client 配置步骤
1. 引入 apollo-client
1.3.0 依赖
2. 启动类上加上注解 @EnableApolloConfig
3. yml or properties 配置文件中写上访问 apollo 的配置
集成 apollo client 所需要注意的地方
1. 依赖我使用的是 apollo-client 1.3.0 ,这个版本支持 yml 配置文件的。
2. 将 apollo client 配置信息写在 application.properties 或者 bootstrap.properties/yml 都是可以的。
3. 重点注意 apollo.meta 这个配置,配置指向的是 apollo 中 eurake 启动的地址,而不是,不是,不是 apollo管理界面的地址
。
在 docker 容器中部署 apollo
1. 编写 Dockerfile,默认 apollo 的源码是自带 Dockerfile
> apollo-configservice 的 Dockerfile 配置,这里需要注意的是 unzip -d 会默认在指定的目录下创建一个解压文件包对应的名称目录,所以在赋予启动脚本命令及启动时,需要注意路径!
> http://mirrors.aliyun.com/alpine/v3.8 使用 docker 构建镜像时,可能会下载失败,重启一下 docker 就可以正常下载了。
> 重启命令:systemctl restart docker
# Dockerfile for apollo-configservice
# 1. Copy apollo-configservice-${VERSION}-github.zip to current directory
# 2. Build with: docker build -t apollo-configservice .
# 3. Run with: docker run -p 8080:8080 -d -v /tmp/logs:/opt/logs --name apollo-configservice apollo-configservice
FROM openjdk:8-jre-alpine
MAINTAINER ameizi <sxyx2008@163.com>
ENV VERSION 1.5.0-SNAPSHOT
ENV SERVER_PORT 8080
# DataSource Info
ENV DS_URL ""
ENV DS_USERNAME ""
ENV DS_PASSWORD ""
RUN echo "http://mirrors.aliyun.com/alpine/v3.8/main" > /etc/apk/repositories \
&& echo "http://mirrors.aliyun.com/alpine/v3.8/community" >> /etc/apk/repositories \
&& apk update upgrade \
&& apk add --no-cache procps unzip curl bash tzdata \
&& ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo "Asia/Shanghai" > /etc/timezone
ADD apollo-configservice-${VERSION}-github.zip /apollo-configservice/apollo-configservice-${VERSION}-github.zip
RUN unzip /apollo-configservice/apollo-configservice-${VERSION}-github.zip -d /apollo-configservice \
&& rm -rf /apollo-configservice/apollo-configservice-${VERSION}-github.zip \
&& sed -i '$d' /apollo-configservice/apollo-configservice-${VERSION}-github/scripts/startup.sh \
&& chmod +x /apollo-configservice/apollo-configservice-${VERSION}-github/scripts/startup.sh \
&& echo "tail -f /dev/null" >> /apollo-configservice/apollo-configservice-${VERSION}-github/scripts/startup.sh
EXPOSE $SERVER_PORT
CMD ["/apollo-configservice/apollo-configservice-1.5.0-SNAPSHOT-github/scripts/startup.sh"]
2. 构建脚本命令
> docker build -t apollo-configservice:v1 .
3. 运行 apollo-configservice 镜像
> docker run -p 58080:8080 -d -v /root/apollo/apollo-configservice/logs:/opt/logs --name apollo-configservice apollo-configservice:v1
4. 查看容器运行日志
> docker logs -f -t apollo-configservice
ps:未完待续...
apollo 项目配置中心开源框架部署的更多相关文章
- netcore项目中使用 SpringCloudConfig 和apollo做配置中心
版权所有,转载请注明出处 https://www.cnblogs.com/netqq/p/14251403.html 一.使用apollo作为配置中心 首先apollo 项目简介和安装请自行百度,本文 ...
- .Net Core 商城微服务项目系列(十四):分布式部署携程Apollo构建配置中心
一.开场白 在系统设计里我们有很多配置希望独立于系统之外,而又能够被系统实时读取.但是在传统的系统设计里,配置信息通常是耦合在系统内的,比如.net里通常会放在App.config或者web.conf ...
- Apollo分布式配置中心部署以及使用
一.简介Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流程治理等特性,适用于微服务配置管理场 ...
- 携程Apollo统一配置中心的搭建和使用
原文链接:https://blog.csdn.net/luhong327/article/details/81453001 一.Apollo配置中心介绍 1.What is Apollo 1.1 Ap ...
- 携程阿波罗(Apollo)配置中心
携程阿波罗(Apollo) https://www.cnblogs.com/xiaxiaolu/p/10025597.html 一.瞎扯点什么 1.1 阿波罗 阿波罗是希腊神话中的光明之神.文艺之 ...
- Apollo 分布式配置中心
1. 介绍 Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流程治理等特性,适用于微服务配置 ...
- Apollo 分布式配置中心(补充)
1. Namespace 1.1. 什么是Namespace Namespace是配置项的集合,类似于一个配置文件的概念. Apollo在创建项目的时候,都会默认创建一个“application ...
- 使用Apollo做配置中心
https://blog.51cto.com/12980017/2158490?source=dra 由于Apollo支持的图形化界面相对于我们更加的友好,所以此次我们使用Apollo来做配置中心 本 ...
- 携程apollo分布式配置中心
原理 : apollo的部署 jdk 要求8以上 mysql 5.7以上 执行build.sh 这样就把configService,adminService 打包到对应的target下面 把这个放到l ...
随机推荐
- WEB缓存系统之varnish缓存项修剪
前文我们聊了下varnish的状态引擎和不同类型的变量对应该使用在那个状态引擎中,以及每个状态引擎的对应处理事务:回顾请参考https://www.cnblogs.com/qiuhom-1874/p/ ...
- C# 快速开发框架搭建—开发工具介绍
C# 快速开发框架搭建—开发工具介绍 一.VS2013,SQL SERVER R22008 以上两种工具如有不会者自行百度学习下. 二.动软代码生成器 对于经典的三层架构框架来说,使用动软代码生成器会 ...
- 1036 Boys vs Girls (25分)(水)
1036 Boys vs Girls (25分) This time you are asked to tell the difference between the lowest grade o ...
- C++头文件应该干的事情
C++头文件应该干的事情 最近在写自己项目的时候,头文件老是编译错误,后来发现还是对头文件掌握不牢. 头文件应该干什么? 所谓的头文件,其实它的内容跟 .cpp 文件中的内容是一样的,都是 C++ 的 ...
- PTA | 1009说反话(20分)
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串.字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有 ...
- 好玩Python——PIL项目实训
PIL学习总结: 1. 2,PIL库概述: pil库可以完成图像归档和图像处理两方面功能的需求: 图像归档:对图像进行批处理,生成图像预览,图像转换格式等: 图像处理:图像基本处理,像素处理,颜色处理 ...
- [一起面试AI]NO.5过拟合、欠拟合与正则化是什么?
Q1 过拟合与欠拟合的区别是什么,什么是正则化 欠拟合指的是模型不能够再训练集上获得足够低的「训练误差」,往往由于特征维度过少,导致拟合的函数无法满足训练集,导致误差较大. 过拟合指的是模型训练误差与 ...
- 家庭版记账本app开发之关于(数据库查找出数据)圆饼图的生成
这次完成的主要的怎样从数据库中调出数据.之后通过相关的数据,生成想要的圆饼图.以方便用户更加直观的看见关于账本的基本情况. 在圆饼图生成中用到了一些外部资源 具体的import如下: import c ...
- Linux基础篇,系统服务(service)的管理
一.服务是什么? 用白话文说,服务就是"常驻在内存中的进程",用来提供一些系统或网络功能. 二.service和daemon的区别与联系 因为服务(service)本质上来说也是程 ...
- javascript 入门 之select2获取远程数据
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"/> <meta lan ...