apollo服务器(Apollo软件)
客户端应用接入Apollo
本文将介绍如何让现有的Spring Boot项目接入Apollo,还未搭建Apollo服务端的请移步到我前面的文章进行阅读。
下面以 Cas单点登录项目为例,进行简单的接入操作,更多详细的方法请参考:
[github官方文档] 客户端使用指南
接入之前,需要先在 Apollo服务器创建需要的配置项。
默认访问: localhost:8070创建项目
添加并发布配置项
修改 application.properties或 bootstrap.properties配置
在启动类添加@EnableApolloConfig注解。
目前在我们公司的项目中,cas使用第一种方式,其他项目使用第二种方式。因为cas单点登录的启动类不是我们自定义的,直接在配置文件中配置比较方便。
其他方式这里不进行介绍了,想具体了解的可以到官网。
在 application.properties或者 bootstrap.properties中按照如下样例进行配置
这种配置方式不适用于多个war包部署在同一个tomcat的使用场景,考虑到我们公司虽然是做往微服务方向发展,但是可能也会以war包的形式部署到同一个tomcat,所以我没采用这种方式,而是采用了第二种方式。
在 resources/META-INF/目录下创建 app.properties文件,把 app.id和 apollo.meta的配置移到该配置文件.
下图中,我采用了占位符形式是为了便于实施人员在Maven编译部署时可以以设置变量的方式进行赋值,避免更改配置文件(这里可以不用Maven设置变量的方式,直接写configserver的地址也可以。)。而开发人员在本地进行开发时,可以在通过 server.properties配置文件来进行配置 apollo.meta,因为通过 server.properties配置的方式优先级比在 app.properties配置的方式高。
使用Maven设置变量的方式需要在pom.xml文件添加resources标签
通过server.properties配置文件
启动 Cas成功,登录后,访问上面的测试接口:
apollo配置起效。
配置中心:Apollo入门了解
深入理解Apollo配置中心,它是一个微服务环境下重要的配置管理工具,由携程框架研发部开发。Apollo的核心功能是集中管理和实时推送不同环境、集群的配置,支持Spring Boot和Spring Cloud服务端,Java与.Net客户端广泛适用,并具备权限管理和流程治理特性。
设计上,Apollo通过基础模型、服务端与客户端设计实现了配置发布与获取。客户端在接收到服务端的最新配置后,存储在内存和本地文件系统中,应用程序可实时订阅配置更新。配置关系上,应用由多个环境、环境包含集群,集群中则有多个命名空间。
安装Apollo可通过快速入门,下载安装包,安装数据库(包内提供SQL),修改连接信息,确保服务器端口访问权限,然后执行启动命令。默认的访问地址包括Portal、Config Service和AdminService。在使用方面,可以通过管理界面发布和修改配置,应用能实时响应配置变化,实现热发布。
集成SpringBoot时,需要在新项目中加入Apollo依赖,配置application.properties,并在启动类中加入必要的JVM参数。Apollo支持@Value和自定义的@ApolloJsonValue注解,配置文件以特定格式存储。更多详细步骤和参考资源可以在教程和博客中找到。
百度Apollo平台运行环境搭建
搭建百度Apollo平台运行环境时,需要解决公司服务器无sudo权限的问题。为满足后期开发需求,决定采用docker环境,绕过sudo限制。接下来将详细记录Apollo平台运行环境搭建过程。
第一步:构建第一层开发镜像,基于英伟达CUDA镜像进行操作。这层镜像为后续开发环境的构建打下基础。
第二步:在开发容器中安装docker。此步骤确保开发环境具有docker操作权限,便于后续Apollo平台的搭建。
第三步:构建Apollo镜像。首先在开发容器内构建docker镜像,然后启动容器,完成Apollo平台的镜像构建。
第四步:进入Apollo开发容器。此操作为后续Apollo平台的运行环境搭建做好准备。
第五步:启动Dreamviewer后端服务。确保Apollo平台后端服务正常运行,为后续前端访问提供支持。
第六步:通过本地浏览器访问Dreamviewer前端。确保前端服务正常运行,为用户提供访问Apollo平台的入口。
第七步:下载示例数据。为验证Apollo平台功能,获取并使用示例数据进行测试。