| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> springcloud集成apollo -> 正文阅读 |
|
[Java知识库]springcloud集成apollo |
apollo 配置中心,官网?Apollo,官网有设计,部署说明。 系统架构图 ? github开源官网https://github.com/apolloconfig/apollo/releases releases上下载后发现有这4个文件 apollo-adminservice-1.7.1-github ?apollo-configservice-1.7.1-github ?apollo-portal-1.7.1-github ?apollo-quick-start-1.7.1 quick-start是本机搭建测试用,这个不用管他。 实际我们用到的是apollo-adminservice-1.7.1-github ?apollo-configservice-1.7.1-github ?apollo-portal-1.7.1-github 参考上面的架构图 apollo-portal-1.7.1-github就是客户端页面,用来增删改查配置项的 apollo-adminservice-1.7.1-github 这个是portal的服务端,portal远程调用它 apollo-configservice-1.7.1-github 其实是三合一,就是配置中心的服务端config service和微服务注册中心eureka,服务发现meta server。 另外配置中心的客户端,也就是我们需要集成到项目中的,添加依赖即可。 <dependency> <groupId>com.ctrip.framework.apollo</groupId> <artifactId>apollo-client</artifactId> <version>1.8.0</version> </dependency>? 部署指南 分布式部署指南 · apolloconfig/apollo Wiki · GitHub mysql下载 MySQL :: Download MySQL Community Server (Archived Versions) 搭建步骤: 我这里使用了apollo 1.7.1这个版本,目前搭建的是单机版,需要集群的话,多搭几台服务器 数据库mysql需要5.6以上,发现使用5.1的执行数据库脚本会报错,因为脚本用了timestamp,删除timestamp,发现站点也启动不了 1.登录Mysql后??mysql -u root -p? 执行数据库脚本 mysql>source /usr/local/apollo/apollo-quick-start-1.7.1/sql/apolloconfigdb.sql mysql>source /usr/local/apollo/apollo-quick-start-1.7.1/sql/apolloportaldb.sql 2.更改配置启动各个服务和站点 cd到 apollo-configservice-1.7.1-github ? apollo-adminservice-1.7.1-github apollo-portal-1.7.1-github这3个目录 先将config里面application-github.properties里面数据库链接改成自己mysql数据库链接 再将scripts文件夹里面授权 chmod 777 startup.sh chmod 777 shutdown.sh 依次启动各个服务 apollo-configservice-1.7.1-github? ?(配置中心服务端,metaserver及eureka注册中心 端口号 8080,可以到startup.sh里面更改 ) apollo-adminservice-1.7.1-github? (后台管理服务端,也会注册到eureka,端口号8090 ) apollo-portal-1.7.1-github (后台管理客户端页面,增删改查配置,端口号8070) ./startup.sh启动 启动后即可访问后台管理客户端页面站点portal,这里假设是部署在本机127.0.0.1,改成你们自己的服务器ip地址。 http://127.0.0.1:8070 初始密码apollo/admin 注册中心 http://127.0.0.1:8080 portal后台 http://127.0.0.1:8090 3.springboot集成apollo客户端 3.1 pom.xml新增apollo客户端依赖 <dependency> <groupId>com.ctrip.framework.apollo</groupId> <artifactId>apollo-client</artifactId> <version>1.8.0</version> </dependency> 3.2 application.properties新增 #apollo #这里直接使用了测试的SampleApp,实际请自行创建项目 app.id=SampleApp spring.application.name=demo #配置中心地址 apollo.meta=http://131.252.10.118:8080/ #允许启动 apollo.bootstrap.enabled=true #名称空间 apollo.bootstrap.namespaces =application 3.3 指定虚拟机参数 如果是在idea或者eclipse调试,那么需要增加虚拟机参数VM options新增,这里是测试环境选了DEV,生产需要另外改,apollo.configService是配置中心地址,如果不指定,部署在外网就有可能使用外网服务器的内网地址访问造成,连接超时的情况。目前是单机测试,如果是集群,那么需要改成负载中心的地址。 -Denv=DEV -Dapollo.configService=http://131.252.10.118:8080 生产部署时写脚步,指定参数这么写: java? -Denv=DEV? -Dapollo.configService=http://131.252.10.118:8080 -jar xxx.jar 参数名称注意有区别:
参考: 3.4 写个controller来测试
这个jdbc-url就是在apollo配置中心新增的, 修改之后记得点发布,目前测试下来,发布后客户端能实时更新到最新的值,但是发现其实会自动重启demo这个应用的。根据官方文档,配置中心portal调用admin-service修改配置后,没有通过mq通知config-service,按照官方说法是尽量少引入第三方组件,config-service每秒轮询检查是否有配置更新,有更新,再通过长链接发送到客户端client的,客户端会重启应用来更新本地properties,客户端会下载一份备份properties到本地,如果连接不上服务端,会使用本地的配置文件。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 4:21:43- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |