Apollo(阿波罗)架构由浅入深剖析

news/2024/9/20 20:38:48 标签: 架构

1.最简架构

如果不考虑分布式微服务架构中的服务发现问题,Apollo 的最简架构如下图所示:

注意事项:

ConfigService 是一个独立的微服务,服务于 Client 进行配置获取。
Client 和 ConfigService 保持长连接,通过一种拖拉结合 (push & pull) 的模式,实现配置实时更新的同时,保证配置更新不丢失。
AdminService 是一个独立的微服务,服务于 Portal 进行配置管理。Portal 通过调用 AdminService 进行配置管理和发布。
ConfigService 和 AdminService 共享 ConfigDB,ConfigDB 中存放项目在某个环境的配置信息。ConfigService/AdminService/ConfigDB 三者在每个环境 (DEV/FAT/UAT/PRO) 中都要部署一份。
Portal 有一个独立的 PortalDB,存放用户权限、项目和配置的元数据信息。Portal 只需部署一份,它可以管理多套环境。

2. 高可用保障
为了保证高可用,ConfigService 和 AdminService 都是无状态以集群方式部署的,这个时候就存在一个服务发现问题:Client 怎么找到 ConfigService?Portal 怎么找到 AdminService?为了解决这个问题,Apollo 在其架构中引入了 Eureka 服务注册中心组件,实现微服务间的服务


http://www.niftyadmin.cn/n/5667611.html

相关文章

Node-RED和物联网分析:实时数据处理和可视化平台

这篇论文的标题是《Node-RED and IoT Analytics: A Real-Time Data Processing and Visualization Platform》,发表在《Tech-Sphere Journal of Pure and Applied Sciences (TSJPAS)》2024年第一期上。论文主要探讨了Node-RED和物联网分析在物联网(IoT)实时数据处理…

开源 AI 智能名片链动 2+1 模式 S2B2C 商城小程序与社交电商的崛起

摘要:本文深入探讨了社交电商迅速发展壮大的原因,并分析了开源 AI 智能名片链动 21 模式 S2B2C 商城小程序在社交电商中的重要作用。通过对传统电商与社交电商的对比,以及对各发展因素的剖析,阐述了该小程序如何为社交电商提供新的…

JAVA SE8

文章目录 一,介绍LambdaLambda 表达式简介Lambda 表达式的应用场景示例代码Lambda表达式作为方法参数Lambda表达式与集合操作方法引用示例 Stream APIStream API 介绍创建 Stream过滤数据映射数据排序数据聚合数据匹配数据其他功能 java.time包新的日期和时间API&am…

视频编辑新纪元,打造高效迭代SDK解决方案

传统的视频编辑方式往往受限于技术门槛高、迭代速度慢等问题,难以满足快速变化的市场需求,美摄科技作为视频编辑技术领域的佼佼者,凭借其深厚的多媒体处理积累和创新精神,推出了革命性的视频编辑SDK解决方案,彻底颠覆了…

数据库系统原理与应用【笔记总结】

笔记链接:CongSec电脑端可能需要科学上网,手机端不用 笔记部分展示: 笔记列表形式: 数据库系统概述 数据与信息 数据信息数据处理 数据管理技术的发展 人工管理阶段文件系统阶段数据库系统阶段 数据库系统的基本概念 数据库数据…

【Elasticsearch系列十五】强大特性

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

基于Delphi的题库生成系统

基于Delphi的题库生成系统是一个复杂的项目,涉及到多个模块的设计和实现。以下是一个简化的代码案例,展示了如何使用Delphi构建一个基本的题库生成系统。 1. 数据库设计 首先,你需要设计一个数据库来存储试题信息。一个简单的数据库设计可…

SpringBoot框架之KOB项目 - 配置Mysql与注册登录模块(上)

框架模型 每一个客户端(client)都会和后端(SpringBoot)进行通信,例如如果一个用户进行登录,需要向后端发送username、password,SpringBoot可以理解为一个一直在跑的程序,不断对用户…