栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Apollo搭建与实战(分布式部署)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Apollo搭建与实战(分布式部署)

目录

一、背景

二、Apollo的环境的搭建(分布式多环境)

三、Java程序的应用(SpringBoot)

四、总结


一、背景

最近在公司需要完成一个技术优化事项:由于SpringCloudConfig在使用上修改配置以后需要进行服务器重启的形式来进行配置变更,流程比较麻烦以及繁琐,所以需要配合运维把手头上负责的项目的配置中心SpringCloudConfig替换成Apollo作为新的注册中心。所以就想认真的学习下Apollo,做好技术储备。

二、Apollo的环境的搭建(分布式多环境)

首先Apollo的文档真的很全,强烈推荐大家直接走官方文档Apollo,也不用去看网上的一些博客,除非遇到搭建不成功的情况下,可以通过别人的博客看看是否有遗漏的地方进行查漏补缺。当然如果你觉得麻烦,不想看文档,可以直接看这篇博客讲我是怎么搭建环境以及使用的。

补充:这里讲的是分布式多环境的部署和运用,如果是QuickStart形式的搭建建议直接看文档,这里不做多的描述

(1)在搭建的过程中还是要基本了解下Apollo的组件,如果想要完整的了解具体组件定义还是需要你去看文档。

apollo-adminservice

用于对管理界面提供支持的管理服务。apollo-config-service

分布式配置中心核心,提供配置的更新、客户端推拉功能。apollo-portal-service

管理界面的权限、用户相关服务,拥有自己的数据库。

(1)准备两台机器,我是直接使用ubuntu虚拟机,你也可以用linux。

(2)安装Java JDK, 这是基础,这里不再赘述。

(3)安装数据库MySql,可以使用docker一键安装,这里也不再赘述。

(4)导入DB文件,两个DB文件,一个是configDB,一个portalDB,会自动帮你创建数据库,无需新建一个库再执行SQL文件

apollo-build-scripts/apolloconfigdb.sql at master · apolloconfig/apollo-build-scripts · GitHub

apollo-build-scripts/apolloportaldb.sql at master · apolloconfig/apollo-build-scripts · GitHub

(5)安装apollo-adminservice、apollo-config-service、apollo-portal-service

https://github.com/apolloconfig/apollo/releases,通过下载地址分别下载三个安装包

也可以直接我的项目里面已经压缩好的安装包apollo-all.zip(包含三个服务)

    安装apollo-adminservice

编辑config目录下面的application-github.properties

 

写上你的configDB地址

 配置好了以后直接script启动。 

2、apollo-config-service

 同理,在config目录下面的application-github.properites配置数据库地址,然后启动即可。

3、apollo-portal-service,同样是数据库配置,不过多了apollo-env.properites的配置,配上FAT和DEV的配置

 注意如果是多个环境,apollo-adminservice、apollo-config-service 需部署多套。像我就是在两台ubuntu上面分别部署apollo-adminservice和apollo-config-service。

apollo-portal-service因为是管理多套环境的,只需要部署一套就行了。

然后补全dev、fat环境参数,将所有服务启动。访问页面 http://ip地址:8070 即可访问apollo控制台

  

 三、Java程序的应用(SpringBoot)

这里没什么好说的,上jar包


      com.ctrip.framework.apollo
      apollo-client
      1.9.2
   
   
      com.ctrip.framework.apollo
      apollo-core
      1.9.2
   

加上启动注解

 上配置(注意环境区分) 

就像使用其他配置中心一样的使用注解@Value即可获取数据

@RestController
@RequestMapping("/apolloMockController")
public class ApolloMockController {

    @Value("${spring.demo.apollo:0}")
    private String value;

    @GetMapping("/mock")
    public String mock(){
        return value;
    }
}

四、总结

这里只讲述了最基本的Apollo分布式的玩法(两套环境),总体来说搭建环境并不是很难,作为学习的情况下,如果需要了解更详细的apollo还是建议直接看官方文档,讲解的非常的详细。

Apollo

Javademo项目Git地址spring-boot-apollo: SpringBoot应用下的apollo实战

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/785902.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号