【Github】项目名:Apollo – 可靠的微服务配置管理系统
一、项目简介
Apollo是一个可靠的配置管理系统,适用于微服务配置管理场景。它能够集中管理不同应用和不同集群的配置。服务端基于Spring Boot和Spring Cloud开发,无需安装额外应用容器(如Tomcat)即可运行。Java SDK不依赖任何框架,可在所有Java运行环境中运行且对Spring/Spring Boot环境有良好支持,.Net SDK同样不依赖框架且能在所有.Net运行环境运行。
二、项目核心技术
– 多环境适配技术:可以对不同环境、不同集群和不同命名空间的配置进行统一管理,使相同代码库在不同集群部署时有不同配置,通过命名空间概念支持多应用共享配置并可定制。
– 实时生效技术:用户修改配置并在Apollo中发布后,SDK能实时(1秒内)接收最新配置并通知应用,实现配置的热发布。
– 版本管理技术:每个配置发布都有版本,便于配置回滚。支持灰度发布,可先对部分应用实例生效,观察无问题后再推送给所有实例。
– 多语言支持技术:用户界面提供多种语言(目前有中文和英文)。
– 权限管理与审计技术:针对应用和配置管理设计了完善的授权机制,将配置管理分为编辑和发布两个操作,减少人为错误,所有操作都有审计日志以便问题追踪。
– 客户端监控技术:易于查看哪些实例正在使用配置以及使用的版本。
– 丰富的SDK技术:提供Java和.Net的原生SDK方便应用集成,支持Spring占位符、注解和Spring Boot配置属性以便应用使用(要求Spring 3.1.1+),提供Http API方便非Java和.Net应用集成,还有Golang、Python、NodeJS、PHP、C等丰富的第三方SDK。
– 开放平台API技术:Apollo自身提供统一配置管理接口,支持多环境、多数据中心配置管理、权限和流程治理等功能,同时允许应用通过开放API修改和发布配置,且有授权和权限控制机制。
– 简单部署技术:唯一外部依赖是MySQL,只要安装Java和MySQL即可运行,还提供打包脚本,可一键生成所有需要的安装包并支持定制运行参数。
三、项目总结
Apollo配置管理系统功能丰富,从多环境配置管理到权限控制、从多种语言支持到多种SDK方便集成,在微服务配置管理场景下有着诸多优势。希望大家对这个项目积极留言讨论,分享使用经验或者提出改进建议等。
项目地址
数据统计
数据评估
本站链氪巴士提供的项目名:Apollo-可靠的微服务配置管理系统都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由链氪巴士实际控制,在2024年12月6日 上午12:00收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,链氪巴士不承担任何责任。