Apollo和分布式配置

apollo分布式配置管理中心部署和nginx代理问题解决 今天我们来学习一个分布式环境下,配置管理中心。很多小伙伴可能会说:呵呵,用nacos不是挺好?哈哈,我只能说:nacos确实是挺好的,而且还包含了注册中心的功能。不过哥们也是没有办法呀,甲方要求用apollo,我们确实只能去学习下apollo相关的知识点和使用方法了。唉,又是掌握新技能的一天!!! 阅读详情

Apollo和分布式配置

传统配置文件有什么缺点

如果修改了配置文件,需要重新打包发布,而且每个环境变量配置文件复杂。

分布式配置中心

将配置文件注册到配置中心平台上,可以使用分布式配置中心实时更新配置文件,统一管理,不需要重新打包发布

 

 后面定义的所有相关配置文件信息:除了 server port  其他的不写在本地哦

 

什么是分布式配置中心

项目中配置文件比较繁杂,而且不同环境的不同配置修改相对频繁,每次发布都需要对应修改配置,如果配置出现错误,需要重新打包发布,时间成本较高,因此需要做统一的分布式注册中心,能做到自动更新配置文件信息,解决以上问题

 

常用分布式配置中心框架
 

市面上常见的:

Disconf(依赖于zookpeer)、Zookpeer、diamond(阿里巴巴)、Apollo(携程)、Redis、xxl-conf

 

ZK的原理:保证配置文件信息实时更新(事件通知) 

 

大型互联网公司自己内部都有自己独立分布式配置中心

独立RPC、独立分布式各种解决方案

注册中心解决 rpc服务治理

分布式配置中心 解决分布式配置文件管理

Apollo阿波罗简介

 

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

Apollo阿波罗特点

用户在Apollo修改完配置并发布后,客户端能实时(1秒)接收到最新的配置,并通知到应用程序。

统一管理不同环境、不同集群的配置

 

所有的配置发布都有版本概念,从而可以方便的支持配置的回滚。

配置修改实时生效(热发布)

用户在Apollo修改完配置并发布后,客户端能实时(1秒)接收到最新的配置,并通知到应用程序

版本发布管理

所有的配置发布都有版本概念,从而可以方便的支持配置的回滚

灰度发布

支持配置的灰度发布,比如点了发布后,只对部分应用实例生效,等观察一段时间没问题后再推给所有应用实例。

权限管理、发布审核、操作审计

应用和配置的管理都有完善的权限管理机制,对配置的管理还分为了编辑和发布两个环节,从而减少人为的错误。

所有的操作都有审计日志,可以方便的追踪问题。

客户端配置信息监控

可以方便的看到配置在被哪些实例使用

提供Java和.Net原生客户端

提供了Java和.Net的原生客户端,方便应用集成

支持Spring Placeholder, Annotation和Spring Boot的ConfigurationProperties,方便应用使用(需要Spring 3.1.1+)

同时提供了Http接口,非Java和.Net应用也可以方便的使用

提供开放平台API

Apollo自身提供了比较完善的统一配置管理界面,支持多环境、多数据中心配置管理、权限、流程治理等特性。

不过Apollo出于通用性考虑,对配置的修改不会做过多限制,只要符合基本的格式就能够保存。

在我们的调研中发现,对于有些使用方,它们的配置可能会有比较复杂的格式,如xml, json,需要对格式做校验。

还有一些使用方如DAL,不仅有特定的格式,而且对输入的值也需要进行校验后方可保存,如检查数据库、用户名和密码是否匹配。

对于这类应用,Apollo支持应用方通过开放接口在Apollo进行配置的修改和发布,并且具备完善的授权和权限控制

部署简单

配置中心作为基础服务,可用性要求非常高,这就要求Apollo对外部依赖尽可能地少

目前唯一的外部依赖是MySQL,所以部署非常简单,只要安装好Java和MySQL就可以让Apollo跑起来

Apollo还提供了打包脚本,一键就可以生成所有需要的安装包,并且支持自定义运行时参数

 

Apollo整体架构原理

 

 

官网: https://github.com/nobodyiam/apollo

 

原理解读:

分布式中心管理平台

  作用: 增删改查 配置

 

项目启动时候 连接阿波罗配置中心平台 

 项目进项扫包 获取当前包下的类 只要属性加上 @value注解  

  如果属性上加上了@Value注解 使用key(value的值)在远程服务器上面获取对应value信息

  缓存到对应的jvm

 

应用端向阿波罗服务器获取配置文件信息

阿波罗平台提供key查询配置文件信息接口

 

交付Apollo至Kubernetes集群 分布式配置中心有很多,springcloud的config、百度的disconfig、携程的apollo、淘宝的diamond。由于apollo极少的侵入性,以及面对springcloud开发,适用于微服务配置管理场景,这里我们选择交付Apollo至Kubernetes集群。 Apollo简介 Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。 官方GitHub 阅读详情

相关推荐

SpringCloud微服务 Apollo分布式配置中心客户端获取配置(一)

前言 本小结之前我们学习了如何定制开发与部署属于我们自己的分布式配置中心,以后的章节我们将陆续学习一下如何客户端获取配置中心中的配置信息。 案例 在apollo-portal的apollo-env-properties中做如下设置: local.meta=http://localhost:8080 dev.meta=http://localhost:8080 fat.meta=http://l...

Dusty丶one的博客 2332

Jenkins部署发布(基于svn、ant)

Jenkins搭建、部署、发布(基于svn、ant)一、安装1、下载安装2、部署Jenkins3、安装推荐插件二、配置1、创建用户2、JDK、ANT配置3、安装插件4、创建任务5、创建自由风格项目6、配置SVN7、配置构建8、配置构建后操作三、发布1、配置SVN版本号(不写版本号表示更至最新版)2、Undeploy项目(无法通过jenkins undeploy的项目需进行此操作)3、发布4、查看状态 一、安装 1、下载安装 Jenkins V2.204.5 http://mirrors.jenkins.io

weixin_43881345的博客 430

【01】Canoe零基础手把手教学 --- Canoe安装

Canoe零基础手把手教学

jaytinlove的博客 7764

微服务架构技术栈深度解析

微服务架构技术栈深度解析

1176

Vivado DDR IP自定义型号避坑指南:如何正确填写CSV参数表(附常见错误排查)

本文详细解析了Vivado DDR IP自定义型号配置中的关键步骤与常见问题,特别针对DDR4内存颗粒的参数提取、CSV参数表填写误区及故障排查提供了实用指南。通过实际案例和调试技巧,帮助工程师避免配置陷阱,提升DDR4系统稳定性和性能。

weixin_29280657的博客 414

避坑指南:STM32CubeMX安装后,你的第一个工程为什么中文全是乱码?

本文详细解析了STM32CubeMX安装后中文乱码问题的根源及解决方案。从诊断乱码现象到分析编码冲突背景,提供了新项目UTF-8化、旧项目GBK兼容及版本降级等多种实用方案,帮助开发者彻底解决这一常见问题。

weixin_30699955的博客 474

分布式配置管理平台XXL-CONF

一、简介 1.1 概述 XXL-CONF 是一个分布式配置管理平台,其核心设计目标是“为分布式业务提供统一的配置管理服务”。现已开放源代码,开箱即用。 1.2 特性 1、简单易用: 上手非常简单, 只需要引入maven依赖和一行配置即可;2、在线管理: 提供配置管理中心, 支持在线管理配置信息;3、实时推送: 配置信息更新后, Zookeeper实时推送配置信息, 项目中配置数据会实时

lovelichao12的专栏 1197

IGS精密星历高效获取与解析指南

本文详细介绍了IGS精密星历在高精度定位中的核心作用,对比了IGS Final、IGR和IGU等不同产品的精度与时效性差异。指南提供了从武汉大学、NASA CDDIS等数据中心高效下载数据的实战方法,并深入解析了SP3文件格式,帮助用户掌握精密星历的获取、解析与自动化处理技巧,以支持厘米级定位应用。

garlic的博客 839

一文学懂配置中心组件:XXL-CONF、Apollo和SpringCloudConfig!

Apollo(阿波罗)是携程公司开源的一款分布式配置管理中心,可以集中管理不同环境下的应用配置信息。配置数据修改后,可以将其实时推送到服务端。Apollo同时还提供了权限管理和发布流程管理功能,适用于各种需要配置管理的场景,支持应用(Application)、环境(Environment)、集群(Cluster)和命名空间(Namespace)4个维度的配置。Apollo具有以下特性:提供统一的管理页面,可以管理不同的环境和集群。可以使配置实时生效。应用部署的发布与版本回滚。

程序员高级码农的博客 1351

使用Python从图像中提取表格

python 实现图片表格提取

qq_30895747的博客 2570

【C++】【STL算法】数据窄化及代码安全性

本文系统探讨了C++工程中数据窄化(narrowing conversion)的隐患与解决方案。数据窄化指将高精度/大范围类型转换为低精度/小范围类型,虽语法合法但会导致静默精度损失。其危险性体现在:错误隐蔽、STL会放大问题、数值错误具有传播性。现代C++要求窄化必须显式声明,文中提出四种工程解决方案:显式转换、边界统一转换、范围检查转换和使用GSL工具。建议在系统边界集中处理窄化,保持计算链路类型一致性,并通过分层策略(建模用double,控制用float)确保数值稳定性。核心思想是让窄化成为清晰可控的

Double Galaxy 80

Zookeeper与Apollo的对比分析

1.背景介绍 1. 背景介绍 Apache Zookeeper 和 Alibaba Apollo 都是分布式系统中常用的配置管理和协调服务。Zookeeper 是一个开源的分布式协调服务,用于构建分布式应用程序的基础设施。Apollo 是 Alibaba 公司开发的一款分布式配置中心,用于管理、分发和更新应用程序的配置信息。 在本文中,我们将对比 Zookeeper 和 Apollo 的特点...

AI天才研究院 1655

Unity大世界流式加载:工业级架构与优化秘籍

游戏大厂Unity大世界流式加载框架全景解析:从《原神》《和平精英》等标杆案例出发,深入剖析工业级流式加载的完整技术架构。文章系统介绍了大世界分区块管理、异步加载机制、资源优化策略、多平台适配方案,以及业务联动与团队协作流程。重点阐述了Addressable与AssetBundle应用、空间触发器设计、性能自适应等核心技术,并展望AI预测加载、云游戏等未来方向。全面展现了大厂如何通过流式加载技术实现无缝开放世界体验的技术路径与实践经验。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 607

分布式配置中心Apollo详解(二):Apollo设计原理、将Config Service和Admin Service注册到自己的Eureka Server、Apollo配置信息加密

五、Apollo设计原理 1、架构模块 上图简要描述了Apollo的总体设计,从下往上看: Config Service提供配置的读取、推送等功能,服务对象是Apollo客户端 Admin Service提供配置的修改、发布等功能,服务对象是Apollo Portal(管理界面) Config Service和Admin Service都是多实例、无状态部署,所以需要将自己注册到Eureka中...

hxt的博客 9229

YOLOv12改进策略【模型轻量化】| 替换骨干网络为EfficientNet v1 高效的移动倒置瓶颈结构

本文记录的是基于。采用了创新性的方法,通过精心平衡网络和来提升性能。本文将的设计优势融入YOLOv12中,提升YOLOv12的性能与效率,使其在目标检测任务中表现更为出色。本文配置了原模型中的共种不同大小的模型结构,以满足不同的需求。

Limiiiing的博客 964

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Disconf、Apollo和Nacos分布式配置框架差异对比

对比国内Disconf、Apollo和Nacos三款分布式配置中心的差异

Armyyyyy丶的博客 1013

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

精华!分布式配置中心 Zookeeper SpringCloud-Config 和 Apollo 配置中心选型对比

文章目录一、配置中心的优势二、SpringCloud Config + SpringCloud Bus作为配置中心和消息总线2.1 Server服务端说明2.2 Client客户端说明2.3 spring-config 流程图2.4 spring-config 特点三、Spring Cloud Zookeeper Config3.1 选举Leader算法3.2 Zookeeper作为配置中心的特点四、携程Apollo配置中心---最全面的配置中心4.1 Apollo配置中心的流程描述4.2 Apollo配置

qq_34168515的博客 2567

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

携程Apollo配置中心分布式部署(包含windows和linux注意事项及些许不同)

1.一定要仔细阅读apollo分布式部署指南,你想要的都在里面,尤其注意指南里的【注:】 https://github.com/ctripcorp/apollo/wiki/%E5%88%86%E5%B8%83%E5%BC%8F%E9%83%A8%E7%BD%B2%E6%8C%87%E5%8D%97 2.安装jdk1.8 3.安装mysql5.7 ,并将两个数据库sql文件导入:apollop...

用心丈量世界 1174

Apollo 配置中心:分布式部署

Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,...

dotNET跨平台 511

分布式解决方案-Apollo分布式配置中心环境搭建

分布式配置中心 什么是分布式配置中心 项目中配置文件比较繁杂,而且不同环境的不同配置修改相对频繁,每次发布都需要对应修改配置,如果配置出现错误,需要重新打包发布,时间成本较高,因此需要做统一的分布式注册中心,能做到自动更新配置文件信息,解决以上问题 常用分布式配置中心框架 Disconf(依赖于zookpeer)、Zookpeer()、diamond、携程(阿波罗)、Redis、xxl-conf Zookpeer保证配置文件信息实时更新 (事件通知) 大型互联网公司自己内部都.

魔法革1996 233

Apollo分布式配置中心踩坑

最近学习了一下分布式配置中心,在本地使用Quick Start 进行了部署测试,在测试部署过程中也遇到了一些问题。 apollo分布式配置中心主要可以分为四个模块 1. apollo-portal 平台  可视化的配置界面,可以增删改查 各个配置环境的信息然后通过发布实时更新到服务器端 2.apollo-adminservice 配置管理的接口服务,提供服务给portal平台进行配置的增删改...

qq_35448165的博客 5363

全网最全的Apollo教程从入门到精通

项目地址:https://github.com/ctripcorp/apollo使用手册(多读多看):https://github.com/ctripcorp/apollo/wikiApollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。服务端基于Spring Boot和Spring Cloud开发,打包后可以直接运行,不需要额外安装Tomcat等应用容器。Java客户

博学谷狂野架构师的博客 2万+

Apollo配置中心

Apollo介绍

Janet的博客 3万+

分布式配置中心Apollo详解(一):简介、云服务器部署实践、SpringBoot集成、操作namespace和cluster

前言 最近在回顾SpringCloud相关的知识点,有关于分布式配置中心这块还是决定总结一下携程开源的Apollo分布式配置中心。最初接触的时候是今年年初,当时刚到公司实习没多久,项目开始前培训框架的时候看技术架构介绍了解到新产品采用的分布式配置中心是Apollo,刚刚了解的时候就对这块很感兴趣,个人感觉比SpringCloud的ConfigServer要好用很多,自己做了一个简单的Demo,在毕...

hxt的博客 4998

分布式配置中心-Apollo

返回结果给客户端了,客户端收到结果后重新拉取配置的信息进行覆盖本地的配置。配置跟代码是存储在一起的,一旦代码泄露就会导致你的配置信息也被别人知道了,比如数据库,一些比较敏感的信息是绝对不能泄露的,如果我们的配置在配置中心里,就算源代码泄露了,别人也无法获取到这个项目的配置信息,配置仍旧是安全的,当然在配置中心里我们也可以将敏感的配置进行加密存储来提高安全性。之所以说推送是必须要有的功能,是因为我们在配置中心修改配置之后,可以将配置实时地推送给客户端进行更新,这样项目不用重启,修改配置实时生效,延迟较低。

我乐了的博客 1333
上一篇: Spring Boot2.0之 整合XXL-Job
下一篇: Centos6.8安装Mysql5.7
Art&Code
博客等级 码龄7年 77粉丝 554原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值