apolloconfig分布式部署

apollo更改配置刷新@ConfigurationProperties配置类 但是apollo配置变化时不会把@ConfigurationProperties的值进行更新,具体看,需要配合或使用。使用@ApolloConfigChangeListener注册了apollo配置变化监听器,内部使用了cloud发布EnvironmentChangeEvent事件进行更新。使用了RefreshScope进行刷新配置(重新create bean),但是不够高效,最理想的事一个值发生变化只要重新把对应的属性set即可。 阅读详情

apolloconfig搭建

前言

apollo(阿波罗)是一款可靠的分布式配置管理中心,诞生于携程框架研发部,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。

apollo的官方文档很详细,但是有点过于详细和全面了,对于想快速搭建apollo环境试用的人来说,干扰信息太多。为了给后来者参考,也作为自己部署apollo的笔记,故写下这篇文章。

本文记录从源码编译开始,在单机上以分布式部署的方式,部署单环境单实例apollo服务,以及多环境多实例的apollo服务的过程,并附上简单的使用示例。

编译及运行环境

  • 系统版本:Windows 10

  • apollo版本:2.0.1

  • MySQL版本:5.7.20

  • Java版本:1.8.0_101

  • Git Bash:2.12.0.windows.1


单机部署单环境单实例

  • 本次部署除MySQL配置外,其它均使用默认配置,需要使用以下三个端口:8070、8080、8090
1.下载代码

github地址:https://github.com/apolloconfig/apollo/tree/v2.0.1

2.数据准备

执行apollo-2.0.1/scripts/sql目录下的两个sql文件:apolloconfigdb.sql、apolloportaldb.sql

3.修改apollo-2.0.1/scripts/build.bat文件(如果是Linux系统,请修改apollo-2.0.1/scripts/build.sh)
3.1.修改数据库连接信息
rem apollo config db info
set apollo_config_db_url="jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8"
set apollo_config_db_username="root"
set apollo_config_db_password="root"

rem apollo portal db info
set apollo_portal_db_url="jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8"
set apollo_portal_db_username="root"
set apollo_portal_db_password="root"
3.2.修改meta service信息

(本次部署使用默认配置, 默认环境为dev,此处可以跳过)

rem meta server url, different environments should have different meta server addresses
set dev_meta="http://localhost:8080"
set fat_meta="http://someIp:8080"
set uat_meta="http://anotherIp:8080"
set pro_meta="http://yetAnotherIp:8080"
4.执行apollo-2.0.1/scripts/build.bat,执行完毕后获取以下文件,并拷贝到安装目录
apollo-2.0.1/apollo-adminservice/target/apollo-adminservice-2.0.1-github.zip
apollo-2.0.1/apollo-configservice/target/apollo-configservice-2.0.1-github.zip
apollo-2.0.1/apollo-portal/target/apollo-portal-2.0.1-github.zip
5.解压并启动

进入安装目录,解压:

unzip apollo-adminservice-2.0.1-github.zip -d apollo-adminservice-2.0.1-github
unzip apollo-configservice-2.0.1-github.zip -d apollo-configservice-2.0.1-github
unzip apollo-portal-2.0.1-github.zip -d apollo-portal-2.0.1-github

按configservice -> adminservice -> portal的顺序依次启动服务,可以使用以下脚本启动:

sh apollo-configservice-2.0.1-github/scripts/startup.sh
sh apollo-adminservice-2.0.1-github/scripts/startup.sh
sh apollo-portal-2.0.1-github/scripts/startup.sh
6.访问apollo

地址:http://localhost:8070

用户名:apollo

密码:admin

7.停止apollo
sh apollo-portal-2.0.1-github/scripts/shutdown.sh
sh apollo-adminservice-2.0.1-github/scripts/shutdown.sh
sh apollo-configservice-2.0.1-github/scripts/shutdown.sh
8.修改启动端口(重启后生效)
8.1.修改configservice端口

configservice和meta service在同一个服务中,共用一个端口,所以修改configservice的端口后,也要将meta service信息进行更新

  • 修改apollo-configservice-2.0.1-github/scripts/startup.sh中的SERVER_PORT

  • 修改meta service信息,包括以下两个内容:

    • 修改apollo-portal-2.0.1-github/config/apollo-env.properties中的meta service地址的端口为configservice的端口

    • 修改ApolloConfigDB.ServerConfig表中Key='eureka.service.url'的数据对应的Value值,修改端口为configservice的端口

8.2.修改adminservice端口
  • 修改apollo-adminservice-2.0.1-github/scripts/startup.sh中的SERVER_PORT即可
8.3.修改portal端口
  • 修改apollo-portal-2.0.1-github/scripts/startup.sh中的SERVER_PORT即可
9.添加环境(重启后生效)

步骤一:在apollo-portal-2.0.1-github/config/apollo-env.properties中添加meta service地址,环境名以.meta结尾

步骤二:修改支持的环境列表(以下方式任选一种即可)

  • 方式一:在ApolloPortalDB.ServerConfig表中Key='apollo.portal.envs'的数据对应的Value值中添加环境名,多个环境间以英文逗号分隔

  • 方式二:在apollo页面,依次点击 管理员工具 -> 系统参数 -> 在Key中填入apollo.portal.envs,点击查询 -> 在Value中添加环境名,多个环境间以英文逗号分隔,点击保存


单机部署多环境多实例

  • 多个环境的情况下,portal只需要部署一套即可,但configservice和adminservice需要每个环境部署一套,每个环境也需要一个对应的ApolloConfigDB数据库

  • 本次部署test和production两个环境,其中:

    • portal部署两个实例,所有环境共用这两个portal,访问其中任一portal即可

    • configservice和adminservice在test环境部署单实例,production环境部署两个实例

  • 各服务实例的端口占用如下:

portal1:11000
portal2:11001
configservice(test):11002
adminservice(test):11003
configservice1(production):11004
configservice2(production):11005
adminservice1(production):11006
adminservice2(production):11007
1.下载代码

github地址:https://github.com/apolloconfig/apollo/tree/v2.0.1

2.数据准备
2.1.准备ApolloPortalDB数据

直接执行apollo-2.0.1/scripts/sql/apolloportaldb.sql

2.2.准备ApolloConfigDB数据

复制apollo-2.0.1/scripts/sql/apolloportaldb.sql为apollo-2.0.1/scripts/sql/apolloportaldb-test.sql和apollo-2.0.1/scripts/sql/apolloportaldb-production.sql

将apollo-2.0.1/scripts/sql/apolloportaldb-test.sql中的数据库改为ApolloConfigDBTest,包括创建和使用数据库的两条语句,然后执行该sql文件

将apollo-2.0.1/scripts/sql/apolloportaldb-production.sql中的数据库改为ApolloConfigDBProduction,包括创建和使用数据库的两条语句,然后执行该sql文件

3.删除默认配置
3.1.删除打包脚本apollo-2.0.1/scripts/build.bat中关于数据库的内容,被删除部分示例:
rem apollo config db info
set apollo_config_db_url="jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8"
set apollo_config_db_username="root"
set apollo_config_db_password=""

rem apollo portal db info
set apollo_portal_db_url="jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8"
set apollo_portal_db_username="root"
set apollo_portal_db_password=""
3.2.删除meta service配置

通过打包脚本传入的环境变量,其优先级高于我们后面要修改的配置文件,所以先删掉这部分内容(apollo加载meta service配置的源码位于com.ctrip.framework.apollo.portal.environment.DefaultPortalMetaServerProvider#initializeDomains)

被删除部分示例:

rem meta server url, different environments should have different meta server addresses
set dev_meta="http://localhost:8080"
set fat_meta="http://someIp:8080"
set uat_meta="http://anotherIp:8080"
set pro_meta="http://yetAnotherIp:8080"

set META_SERVERS_OPTS=-Ddev_meta=%dev_meta% -Dfat_meta=%fat_meta% -Duat_meta=%uat_meta% -Dpro_meta=%pro_meta%

并删除后面maven打包时使用到META_SERVERS_OPTS变量的地方

4.执行apollo-2.0.1/scripts/build.bat,执行完毕后获取以下文件,并拷贝到安装目录
apollo-2.0.1/apollo-adminservice/target/apollo-adminservice-2.0.1-github.zip
apollo-2.0.1/apollo-configservice/target/apollo-configservice-2.0.1-github.zip
apollo-2.0.1/apollo-portal/target/apollo-portal-2.0.1-github.zip
5.解压文件到对应目录,可参考如下脚本
# 创建文件夹
mkdir -p portal/portal1
mkdir -p portal/portal2
mkdir -p test/configservice
mkdir -p test/adminservice
mkdir -p production/configservice1
mkdir -p production/configservice2
mkdir -p production/adminservice1
mkdir -p production/adminservice2

# 解压
unzip apollo-portal-2.0.1-github.zip -d portal/portal1/
unzip apollo-portal-2.0.1-github.zip -d portal/portal2/
unzip apollo-configservice-2.0.1-github.zip -d test/configservice/
unzip apollo-configservice-2.0.1-github.zip -d production/configservice1/
unzip apollo-configservice-2.0.1-github.zip -d production/configservice2/
unzip apollo-adminservice-2.0.1-github.zip -d test/adminservice/
unzip apollo-adminservice-2.0.1-github.zip -d production/adminservice1/
unzip apollo-adminservice-2.0.1-github.zip -d production/adminservice2/
6.修改端口、数据库连接信息、meta service服务地址等
6.1.修改test环境中configservice和adminservice配置

修改端口

  • 修改test/configservice/scripts/startup.sh的SERVER_PORT为11002

  • 修改test/adminservice/scripts/startup.sh的SERVER_PORT为11003

添加数据库连接信息

以上两个文件,在JAVA_OPTS变量被定义后,被使用前,添加如下代码(启动时,JAVA_OPTS参数被放在-jar之前,所以此处需要用-D传参,而不能用--。下同)

# 数据库连接信息
apollo_config_db_url='jdbc:mysql://localhost:3306/ApolloConfigDBTest?characterEncoding=utf8'
apollo_config_db_username='root'
apollo_config_db_password='root'

JAVA_OPTS="$JAVA_OPTS -Dspring.datasource.url=$apollo_config_db_url -Dspring.datasource.username=$apollo_config_db_username -Dspring.datasource.password=$apollo_config_db_password"
6.2.修改production环境中configservice和adminservice配置

修改端口

  • 修改production/configservice1/scripts/startup.sh的SERVER_PORT为11004

  • 修改production/configservice2/scripts/startup.sh的SERVER_PORT为11005

  • 修改production/adminservice1/scripts/startup.sh的SERVER_PORT为11006

  • 修改production/adminservice2/scripts/startup.sh的SERVER_PORT为11007

添加数据库连接信息

以上四个文件,在JAVA_OPTS变量被定义后,被使用前,添加如下代码

# 数据库连接信息
apollo_config_db_url='jdbc:mysql://localhost:3306/ApolloConfigDBProduction?characterEncoding=utf8'
apollo_config_db_username='root'
apollo_config_db_password='root'

JAVA_OPTS="$JAVA_OPTS -Dspring.datasource.url=$apollo_config_db_url -Dspring.datasource.username=$apollo_config_db_username -Dspring.datasource.password=$apollo_config_db_password"
6.3.修改portal配置

修改端口

  • 修改portal/portal1/scripts/startup.sh的SERVER_PORT为11000

  • 修改portal/portal2/scripts/startup.sh的SERVER_PORT为11001

添加数据库连接信息

以上两个文件,在JAVA_OPTS变量被定义后,被使用前,添加如下代码

# 数据库连接信息
apollo_portal_db_url='jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8'
apollo_portal_db_username='root'
apollo_portal_db_password='root'

JAVA_OPTS="$JAVA_OPTS -Dspring.datasource.url=$apollo_portal_db_url -Dspring.datasource.username=$apollo_portal_db_username -Dspring.datasource.password=$apollo_portal_db_password"

添加环境信息

将portal/portal1/config/apollo-env.properties和portal/portal2/config/apollo-env.properties的内容清空,然后添加如下内容

test.meta=http://localhost:11002
production.meta=http://localhost:11004,http://localhost:11005

修改数据库中的配置

  • 修改ApolloConfigDBTest.ServerConfig中Key=eureka.service.url的数据,将对应的Value改为http://localhost:11002/eureka/

  • 修改ApolloConfigDBProduction.ServerConfig中Key=eureka.service.url的数据,将对应的Value改为http://localhost:11004/eureka/,http://localhost:11005/eureka/

  • 修改ApolloPortalDB.ServerConfig中Key=apollo.portal.envs的数据,将对应的Value改为test,production

7.启动apollo

依次启动各个环境的configservice、adminservice,最后启动portal,可参考如下脚本

sh test/configservice/scripts/startup.sh
sh test/adminservice/scripts/startup.sh
sh production/configservice1/scripts/startup.sh
sh production/configservice2/scripts/startup.sh
sh production/adminservice1/scripts/startup.sh
sh production/adminservice2/scripts/startup.sh
sh portal/portal1/scripts/startup.sh
sh portal/portal2/scripts/startup.sh
8.访问apollo

由于启动了两个portal服务,所以以下两个地址都可以访问

9.停止apollo

可参考如下脚本

sh portal/portal1/scripts/shutdown.sh
sh portal/portal2/scripts/shutdown.sh
sh production/adminservice1/scripts/shutdown.sh
sh production/adminservice2/scripts/shutdown.sh
sh production/configservice1/scripts/shutdown.sh
sh production/configservice2/scripts/shutdown.sh
sh test/adminservice/scripts/shutdown.sh
sh test/configservice/scripts/shutdown.sh

apollo的使用

1.apollo配置
1.1.修改/添加部门(无特殊说明则修改完一分钟内实时生效)

方式一:在apollo页面,依次点击 管理员工具 -> 系统参数 -> 在Key中填入organizations,点击查询 -> 修改Value的Json字符串,点击保存

方式二:直接修改数据库数据,修改ApolloConfigDB.ServerConfig表中Key='organizations'的数据对应的Value值

1.2.修改/添加/删除用户

修改/添加:在apollo页面,依次点击 管理员工具 -> 用户管理,输入用户信息(若用户已存在,则修改用户)

删除:直接修改数据库数据,删除ApolloPortalDB.Users表中对应的行

1.3.修改用户权限

在apollo页面,依次点击 管理员工具 -> 系统权限管理,修改用户权限

1.4.创建应用

填写参数说明:

1.5.创建Namespace

Namespace相关知识

Q:什么是Namespace?

A:Namespace是配置项的集合,类似于一个配置文件的概念。

Q:Namespace支持哪些格式?

A:支持properties、xml、json、yml、yaml、txt。推荐使用和项目一致的格式。

Q:公共(public)Namespace和私有(private)Namespace的区别是什么?

A:public权限的Namespace能被任何应用获取;private权限的Namespace,只能被所属的应用获取到;private权限的Namespace可以关联(继承)自public权限的Namespace,关联(继承)类似Java的类继承,可以在子Namespace中覆盖父Namespace的配置。

Q:Namespace的命名格式是否有要求?

A:没有要求。应用创建后,会创建一个默认名为application的Namespace,绝大部分情况下,该Namespace已经满足日常配置使用场景了。

创建Namespace

  1. 点击左下角“添加Namespace”;
  2. 选择权限类型,填写Namespace名称,选择Namespace类型;
  3. 点击提交即可。
1.6.新增/修改配置

在应用的Namespace下新增或修改单条配置后,提交,此时配置还未生效,可批量新增/修改配置项,最后点击Namespace对应的发布按钮,即可生效新增/修改的配置。

2.应用配置

2.1.在pom.xml中添加maven依赖

        <dependency>
            <groupId>com.ctrip.framework.apollo</groupId>
            <artifactId>apollo-client-config-data</artifactId>
            <version>2.0.1</version>
        </dependency>

2.2.在application.properties中添加如下配置

# apollo中配置的AppId
app.id=001
# meta service服务地址(和configservice地址相同),多个地址用英文逗号隔开
apollo.meta=http://localhost:11004,http://localhost:11005
# 该开关必须打开,否则apolloconfig不生效(默认关闭-false)
apollo.bootstrap.enabled=true
# apollo中配置的Namespace,多个Namespace有相同的key时,从左到右优先级从高到低
apollo.bootstrap.namespace=application,localhost

3.启动应用后即可接入apolloconfig

Apollo-client加载数据解析 如需参考源码解析,请访问:https://gitee.com/lidishan/apollo-code-analysis 阅读前声明:本文不做相关用法说明,只解析Apollo-client源码 阅读本文前请参考《Apollo-client 初始化入口流程解析》 上面解析到了initialize()初始化,其是通过ConfigService.getConfig()来加载数据,那这个调用方式是怎么加载的?见下面 实时获取apollo配置解析ConfigService.getConfig() 如何使用?例子如下 阅读详情

相关推荐

Apollo配置中心学习教程

Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。 第一步:分了解一些名词 Apollo-config:配置服务中心,包括新增,修改的配置参数;客户端拉取新的,修改的配置参数。需要与数据库ApolloConfigDB连接。在多环境部署时,每...

bluewoo的博客 8245

Apollo阿波罗配置中心

一、准备工作 1.2.1 AppId classpath:/META-INF/app.properties  内容app.id=YOUR-APP-ID 1.2.2 Environment 对于Mac/Linux,文件位置为/opt/settings/server.properties 例如env=DEV 详细见文档。 1.2.3 本地缓存路径 /opt/data/{appId}/config

爱吃鱼油 9210

Apollo配置中心实战:从零搭建到生产环境部署指南

分布式配置管理是现代微服务架构中的核心技术,通过集中化管理应用配置实现环境隔离和动态更新。其核心原理是基于配置中心服务器与客户端的交互机制,支持配置的实时推送和版本控制。这种技术能够显著提升开发效率,避免因配置不一致导致的系统故障。在实际工程实践中,配置中心广泛应用于多环境部署、灰度发布和权限管理等场景。以携程开源的Apollo为例,它提供了完善的实时推送和版本管理功能,帮助企业构建可靠的配置管理体系。本文基于Spring Boot集成实践,详细解析Apollo的全环境部署方案,涵盖从开发到生产的完整链路,

weixin_30455023的博客 434

Apollo Config原理浅析

本文章主要用于解决对Apollo的一些疑问,如Apollo有哪些组件,整体架构是什么?,每个组件各自的关系是什么?Apollo实现高可用为什么要用Eureka?Apollo通信方式是什么等。

Armyyyyy丶的博客 1911

基于Apollo的配置中心实战:从Docker部署到Spring Boot动态刷新

配置管理是分布式系统和微服务架构中的基础技术,它实现了应用参数与代码的分离。其核心原理在于将配置信息集中存储和管理,通过客户端拉取或服务端推送机制实现动态更新。这项技术的核心价值在于提升运维效率、保障配置一致性,并支持灰度发布等高级特性。在实际应用场景中,配置中心常用于微服务架构下的多环境配置管理、运行时参数动态调整等需求。本文以开源配置中心Apollo为例,结合Docker容器化部署和Spring Boot客户端集成,详细演示了如何实现配置的集中管理、实时推送与动态刷新,为构建高可用的微服务体系提供了完整

weixin_30432579的博客 385

Apollo配置中心从入门到精通:架构、部署与动态配置实战

在微服务架构中,配置管理是保障系统稳定性和灵活性的关键技术。其核心原理是将原本分散在各个应用中的配置文件,集中到统一的服务端进行管理,实现配置的版本化、环境隔离与实时推送。这种模式的技术价值在于,它彻底改变了传统需要重启应用才能生效的配置更新方式,极大地提升了运维效率和故障响应速度。典型的应用场景包括动态调整业务参数、功能开关的灰度发布、多环境配置的统一管理等。本文以广泛应用的Apollo配置中心为例,深入剖析其核心架构与‘推拉结合’的更新机制,并详细演示如何从零搭建服务端、实现Spring Boot客户端

weixin_30425949的博客 398

apollo local 模式_Apollo配置中心转

尊重原创,本文转自:https://www.cnblogs.com/FlyAway2013/p/8811385.html前我们项目,所有的配置基本都是通过本地properties文件进行配置的,比如ip地址、端口、消息中间件和数据库连接的各种参数,当我们需要切换环境或调整参数的时候,我们必须手动的修改这些配置。如果只有一个配置文件还好,但是,如果有很多这样的配置文件,而且又分布式部署在多台机器,...

weixin_39667041的博客 328

SGLang:结构化生成语言推理框架深度解读

SGLang是由斯坦福大学和加州大学伯克利分校联合提出的高性能大语言模型推理框架,针对复杂多轮对话、结构化输出等场景优化。其核心创新包括: RadixAttention机制:通过基数树数据结构实现跨请求的KV Cache自动复用,避免重复计算共享前缀 跳跃前瞻解码:对格式化输出中的固定模板部分直接填充,仅采样变量槽位,提升3-5倍生成速度 约束解码引擎:通过正则表达式和JSON Schema保证输出严格符合预定义格式 声明式DSL:提供类Python的编程接口简化复杂推理流程开发 相比传统框架,SGLang

Ricky Yang的专栏 331

Apollo配置中心搭建全指南:从0到1实现动态配置管理

Apollo 是携程开源的分布式配置管理平台,能够实现配置的统一管理、动态更新、版本控制等功能,是微服务架构中配置管理的首选工具。本文从环境准备、数据库搭建、服务端部署、Portal 部署、客户端接入到常见问题解决方案,全方位讲解 Apollo 平台的搭建流程,涵盖单机部署和集群部署两种方式,适配不同技术水平的开发者,帮助快速搭建企业级配置管理平台,提升项目的配置管理效率。

这里没有晦涩理论,只有项目踩坑实录、问题速解、效率工具、源码封装与架构思路。专注项目实战,用最简单直白的方式,带你轻松搞定开发难题,高效写码,快乐下班。 684

【自动驾驶控制算法】 第一讲 绪论

声明【自动驾驶控制算法】系列是博主对所分享教学内容的学习笔记,并且该系列每篇博客都会将博主听课后总结的纸质版笔记附于文末,供大家参考。是一位研究汽车领域,无人驾驶方向及其相关方向的大佬,也算是博主在无人驾驶方向的启蒙老师。所以研究相关领域的朋友推荐去听一听他的视频讲解。...

iamtbon_1的博客 1796

告别手动核对!用这个ABAP报表一键导出所有物料的库存与需求清单

本文介绍了如何通过定制化ABAP报表一键导出SAP系统中所有物料的库存与需求清单,整合MD04、MB52、ME2N等多个事务码的数据,大幅提升供应链管理和生产计划效率。该报表可自动生成包含库存状态、MRP需求、采购订单等关键指标的物料全景视图,帮助企业减少手工操作错误,节省时间成本。

weixin_33725515的博客 467

Apollo 配置中心核心用法(实战版)

Apollo(阿波罗)是携程开源的分布式配置中心,核心解决微服务架构中「配置集中管理、动态刷新、环境隔离、版本控制」等问题,支持配置实时推送、多环境多集群、权限管控,是企业级项目的主流配置中心选型。以下从核心概念、环境准备、项目集成、核心操作、高级用法展开,覆盖日常开发全场景,步骤清晰可落地。

Vivienne_ChenW的博客 1199

《QGIS快速入门与应用基础》223:纸张大小与方向(A4/A3/自定义)

本文详细介绍了QGIS布局页面设置的核心操作,重点讲解了纸张大小与方向的设置方法。文章首先指出页面设置是地图排版的基础前提,强调合理设置可避免导出打印时出现尺寸不符等问题。随后详细说明了三种打开页面设置面板的方式,并重点解析了纸张设置的要点:标准预设纸张(A4/A3等)适用于大多数场景,提供国内常用规格对照表;自定义纸张则需谨慎使用,需注意单位选择和尺寸限制。通过界面标注图和操作步骤示意图,帮助用户掌握正确的设置方法,确保最终出图符合规范要求。文章特别提醒新手要优先使用标准预设纸张,避免常见错误,为后续地图

LuckyHanMo的博客 346

Apollo 分布式部署指南

本文档介绍了如何按照分布式部署的方式编译、打包、部署Apollo配置中心,从而可以在开发、测试、生产等环境分别部署运行。 如果只是需要在本地快速部署试用Apollo的话,可以参考Quick Start 一、准备工作 1.1 运行时环境 1.1.1 OS 服务端基于Spring Boot,启动脚本理论上支持所有Linux发行版,建议CentOS 7。 1.1.2 Java Apollo服务端:1.8+ Apollo客户端:1.7+ 由于需要同时运行服务端和客户端,所以建议安装Java 1.

专注基础架构领域 3217

基于Simulink和Control System Toolbox的线控转向(Steer-by-Wire)系统设计

通过上述步骤,我们成功设计并实现了基于 Simulink 和 Control System Toolbox 的线控转向(Steer-by-Wire)系统。该系统能够接收来自方向盘的角度指令,经过控制器处理后,驱动转向执行器(如电动机),实现对车辆前轮转向角度的精确控制。通过虚拟场景仿真、硬件在环测试和实车测试,验证了系统的响应速度、控制精度、车辆稳定性和实时性能,并通过参数优化进一步提升了系统的性能。

MHD0815的博客 549

【ATC/DTC方法第四期】GOT09-dT-tao 昼夜温度周期模型方法介绍(含Python代码实现)

GOT09-dT-tao 模型是一种经过简化和参数固定的 昼夜温度周期模型(Diurnal Temperature Cycle, DTC)。它从 GOT09 模型(Göttsche and Olesen, 2009)衍生而来,但更加轻量化,更适合在数据不足或参数估计困难的情境下使用。

WW、forever的博客 146

apolloconfig/apollo 介绍

apolloconfig/apollo Apollo(阿波罗)是一款可靠的分布式配置管理中心,诞生于携程框架研发部,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景 官方文档: https://www.apolloconfig.com/#/zh/README 是一款便于管理配置的开源产品 Apollo 部署拓扑图 +------------------

范安崇的博客 1840

时间门控拉曼进展

拉曼光谱就像是用光给分子拍“指纹照”,通过激光照射样品,散射光会揭示样品的分子结构。但问题来了,样品有时会发荧光,就像拍照时闪光灯太亮,把指纹照模糊了。时间门控拉曼光谱技术就像加了个“快门”,只在拉曼信号出现的那一瞬间开门,把慢吞吞的荧光挡在门外,这样就能拍到清晰的“指纹”。

qq_53529450的博客 537

Apollo部署踩坑记录

写在前面 Apollo官方文档写的还是很详细的,但是坑怎么来的呢,没错就是我自己没有好好看文档了。。。 这里附上GitHub:https://github.com/ctripcorp/apollo 简介一下 简单说下,Apollo分为三个服务:ConfigService、AdminService、Portal。采用分布式部署的话,不同的环境需要部署ConfigService和AdminSe...

zwz的学习之路 1630

【麒麟桌面系统】企业微信提示当前副设备的企业微信版本较低

银河麒麟系统中登录企业微信时出现"副设备版本较低"的报错,可通过两种方案解决:1)更新最新版企业微信,需替换软件源并刷新软件商店安装8.0-50-4.1.26.6019kylin5版本;2)安装内测5.0版本企业微信,需下载deb包后使用sudo dpkg命令安装。文章还提供了常见问题解决表和长期维护建议,包括系统更新检查、软件源验证等维护项目及具体操作指南。

信创运维工程师 · 银河麒麟 & 容器实战 | 金融生产环境迁移·等保加固 | 142篇原创·17万+阅读 2272

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

在Linux部署Apollo配置中心

Spring Cloud Config太难用了,还是这个香

水妖 2866

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Agollo企业级部署指南:高可用架构与集群配置方案

Agollo作为Go语言生态中功能最完整的Apollo配置中心客户端,为企业级应用提供了强大的配置管理能力。本文将详细介绍Agollo的高可用架构设计和集群配置方案,帮助您构建稳定可靠的分布式配置管理系统。🚀 ## 为什么需要企业级部署方案? 在微服务架构中,配置管理是核心基础设施之一。Agollo提供了实时配置同步、灰度发布、客户端容灾等关键功能,但要在生产环境中稳定运行,必须考虑高可用性

gitblog_00191的博客 523

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Apollo配置中心实战:从基础概念到生产级部署完整指南

配置中心作为微服务架构中的核心基础设施,通过集中化管理解决了传统配置文件分散带来的环境差异、配置漂移等问题。其核心原理是将应用配置从代码中分离,实现配置的动态加载和实时更新,从而提升系统的可维护性和灵活性。在技术价值层面,配置中心支持灰度发布、版本管理、权限控制等高级特性,大幅降低了配置变更风险。Apollo作为业界广泛采用的分布式配置中心,具备实时推送、环境隔离、开放API等优势,适用于电商、金融、物联网等需要频繁配置变更的业务场景。本文基于分布式系统和微服务架构的热点需求,详细解析Apollo 1.9.

weixin_30824479的博客 794

Apollo 配置中心详细教程

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

牧小农 1万+

Apollo配置中心从零搭建:Spring Boot集成与生产环境部署指南

配置中心是现代分布式系统中的核心组件,通过集中化管理机制解决多环境配置同步难题。其技术原理基于配置的版本控制与实时推送机制,能够在微服务架构中实现配置的动态更新而无需重启服务。从技术价值看,配置中心显著提升了系统可维护性和部署效率,有效降低了配置错误导致的生产事故风险。典型应用场景包括微服务配置管理、特性开关动态切换和多环境部署流程优化。本文以携程开源的Apollo配置中心为例,详细演示了从单机部署到Spring Boot客户端集成的完整流程,并重点介绍了生产环境下的高可用架构设计和灰度发布等高级特性,为分

agcozdwdfvds08078的博客 530

Spring Boot集成Apollo配置中心:从Docker部署到动态刷新实战

在微服务架构中,配置管理是保障系统稳定性的关键技术。传统配置文件方式存在环境隔离困难、更新需重启等问题。配置中心通过集中化管理、环境隔离和实时推送等原理,实现了配置的动态更新与统一管控,其技术价值在于提升运维效率、降低发布风险。Apollo作为携程开源的分布式配置中心,提供了完善的配置管理能力,广泛应用于微服务配置管理、多环境部署等场景。本文基于Docker快速部署Apollo服务端,详细解析Spring Boot客户端集成步骤,并深入探讨配置热更新机制与生产环境最佳实践,为开发者提供从零搭建到生产落地的完

weixin_30607029的博客 383
上一篇: Redis Cluster搭建(单机搭建)
下一篇: 关于Redis集群的一些问题的理解
java_t_t
博客等级 码龄9年 171粉丝 107原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值