在微服务构建的分布式系统,有一个组件很重要,就是配置中心。配置中心集中管理所有微服务的配置信息,这样做既规范了开发配置规范,也方便于后期的运维管理。这一篇我们讲一下携程的开源配置中心Apollo的使用。

Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。服务端基于Spring Boot和Spring Cloud开发,打包后可以直接运行,不需要额外安装Tomcat等应用容器。

配置中心架构图:

下面我们介绍通过docker的方式安装Apollo

1、准备工作:

Apllo的部署需要Mysql数据库,需要5.6.5以上版本。

2、创建数据库:

Apollo服务端共需要两个数据库:ApolloPortalDB和ApolloConfigDB,我们把数据库、表的创建和样例数据都分别准备了sql文件,只需要导入数据库即可。

执行两个sql文件

sql/apolloportaldb.sql

sql/apolloconfigdb.sql

会创建两个数据库

sql文件可在官网:Quick Start · apolloconfig/apollo Wiki · GitHub 下载

3、涉及的脚本:

1.在/home/docker/script路径下创建“apollo”文件夹

2.在/home/docker/script/apollo路径下创建“apollo-portal.sh”脚本文件,内容为:

docker run -d \

--name apollo-portal \

--net=host \

-v /tmp/logs:/opt/logs \

-e SPRING_DATASOURCE_URL=

"jdbc:mysql://数据库地址/ctg_apollo_portal_test?characterEncoding=utf8" \

-e SPRING_DATASOURCE_USERNAME=数据库账号\

-e SPRING_DATASOURCE_PASSWORD=数据库密码\

-e APOLLO_PORTAL_ENVS=test \

-e TEST_META=http://服务器ip地址:8080 \

apolloconfig/apollo-portal:1.9.1

3.在/home/docker/script/apollo路径下创建“apollo-config.sh”脚本文件,内容为:

docker run -d \

--name apollo-configservice \

--net=host \

-v /tmp/logs:/opt/logs \

-e SPRING_DATASOURCE_URL=

"jdbc:mysql://数据库地址/ctg_apollo_config_test?characterEncoding=utf8" \

-e SPRING_DATASOURCE_USERNAME=数据库账号\

-e SPRING_DATASOURCE_PASSWORD=数据库密码\

apolloconfig/apollo-configservice:1.9.1

4. 在/home/docker/script/apollo路径下创建“apollo-admin.sh”脚本文件,内容为:

docker run -d \

--name apollo-adminservice \

--net=host \

-v /tmp/logs:/opt/logs \

-e SPRING_DATASOURCE_URL=

"jdbc:mysql://数据库地址/ctg_apollo_config_test?characterEncoding=utf8" \

-e SPRING_DATASOURCE_USERNAME=数据库账号\

-e SPRING_DATASOURCE_PASSWORD=数据库密码\

apolloconfig/apollo-adminservice:1.9.1

4、docker拉取apollo镜像

4 docker拉取apollo
命令:
1.docker pull apolloconfig/apollo-configservice:1.9.1
2.docker pull apolloconfig/apollo-adminservice:1.9.1
3.docker pull apolloconfig/apollo-portal:1.9.1

5、运行Apollo

在/home/docker/script/apollo路径下运行指令1. chmod 755 apollo-portal.sh2. chmod 755 apollo-config.sh3. chmod 755 apollo-admin.sh执行运行命令1. ./ apollo-portal.sh2. ./ apollo-config.sh3. ./ apollo-admin.sh

6、访问Apollo

访问服务器IP:8070可以进行访问,默认的用户名是apollo,密码是admin。

JAVA开发与运维(配置中心Apollo的使用)相关推荐

  1. JAVA开发与运维(web生产环境部署)

    web生产环境部署,往往是分布式,和开发环境或者测试环境我们一般使用单机不同. 一.部署内容 1.后端服务 2.后台管理系统vue 3.小程序 二.所需要服务器 5台前端服务器 8台后端服务 三.所需 ...

  2. JAVA开发与运维(JavaWeb测试环境搭建)

    本例子测试环境搭建在腾讯云平台之上. 系统架构: 微服务+Eureka+Apollo+gateWay+redis+rocketMq+OSS+spark+ETL+mysql+pgsql+clickHou ...

  3. JAVA开发与运维(Nginx配置详解)

    对于Nginx的使用,最重要的是理解每个配置项的作用.所以一份详细的Nginx的配置对于JAVA开发和运维尤为重要.我们一般使用两个Nginx配置文件对Nginx进行配置,一个是公共文件nginx.c ...

  4. apollo java客户端_携程配置中心Apollo的Java客户端API的使用

    一.SpringBoot集成 1.发布配置信息 设置本机为DEV环境:Linux在/opt/settings/server.properties增加配置env=DEV,windows在c:\opt\s ...

  5. JAVA开发与运维(云安全产品)

    在现在的开发和运维中,云生态组件的使用率非常高,很少公司自己维护自己的物理机,网络流量 ,监控,第三方中间件,除了少数涉密程度高的部分和公司外,大多数的企业都在使用云生态.比如我们正在开发的系统,服务 ...

  6. JAVA开发与运维(docker运维常规操作)

    使用docker来安装软件步骤. 1.先装好docker环境. 1.4 docker环境及部署 1.4.1 版本 Client: Docker Engine – Community version: ...

  7. 写给java开发的运维笔记

    转载至:https://github.com/biezhi/java-bible/tree/master/learn_server 转载于:https://www.cnblogs.com/zhuawa ...

  8. apollo local 模式_「架构」 - 配置中心 Apollo基本使用

    公司需要使用Apollo配置中心,下面会出现大段Apollo官网文字截取引用. 一.Apollo(配置中心) Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境.不同 ...

  9. 微服务中集成分布式配置中心 Apollo

    背景 随着业务的发展.微服务架构的升级,服务的数量.程序的配置日益增多(各种微服务.各种服务器地址.各种参数),传统的配置文件方式和数据库的方式已无法满足开发人员对配置管理的要求:配置修改后实时生效, ...

最新文章

  1. 压力与动力是否成正比?
  2. [Leedcode][JAVA][第94/144/145题][前中后序遍历][递归][迭代][二叉树]
  3. 计算机网络课程设计之Tracert与Ping程序设计与实现
  4. 深度学习stride_深度强化学习成名作——DQN
  5. vue php 加载速度,Vue加载优化,速度提高一倍。
  6. easyui datagrid reload后自动全选解决
  7. 【window操作系统下Github版本的回滚问题】
  8. oracle11g视频
  9. 【优化分配】基于matlab遗传算法求解医疗资源分配优化问题【含Matlab源码 1419期】
  10. 最新华为悦盒V9_V9U_V9E_V9A_V8通用傻瓜式破解
  11. python编程从入门到实践练习7-10:梦想的旅游胜地
  12. android 7.0 新功能介绍(Nougat)
  13. Pygame实战:家里的小孩数学算数能力很差嘛?别慌—这款“巧算24点小游戏”等你来玩,管用。
  14. 解决一个assign问题,assign怎么用,assign有啥物理意义
  15. Using getResponseBodyAsStream instead is recommended
  16. 网络层核心协议:IP协议
  17. moviepy中视频时长修改
  18. 3dmax顶点动画导入unity_3DMAX点缓存的动画怎么导入unity呀?
  19. kali更新源,没有公钥,没有release文件,签名失效,404
  20. laravel导出excel并设置单元格格式

热门文章

  1. JavaScript内置对象一周知识点总结
  2. 涨知识!原来中国南海岛礁竟有这么诗情画意的名字!
  3. 【ZZULIOJ】 Python 1016: 银行利率
  4. 大数据为各国信息安全带来挑战 美率先采取措施
  5. 选择排序法(C语言)
  6. 算法设计与分析 二叉树
  7. 5G大规模天线基站下的多用户性能测试技术
  8. CDS View_01
  9. 保存OpenGL窗口每一帧代码段(freeimage库)
  10. loadrunner入门教程(11)--回放脚本