Frigate:高可靠分布式应用发布系统
版权申诉
80 浏览量
更新于2024-08-12
收藏 153KB DOCX 举报
“App热发布(高可靠的分布式应用发布系统).docx”
本文档详细介绍了Frigate,一个高可靠的分布式应用发布系统,其设计目标是确保应用服务的质量,特别是强调发布系统的稳定性和健壮性。系统支持三种发布模式:分组发布、快速发布和全量发布,以适应不同类型的发布需求。
1. **发布模式**
- **分组发布模式(GroupMode)**:适用于常规更新,允许新老版本并存,减少服务中断的影响。
- **快速发布模式(ExpressMode)**:针对Bug修复,旨在快速部署新版本,提高修复效率。
- **全量发布模式(FullMode)**:用于非兼容性更新,需要全部节点升级至新版本,避免版本混杂。
2. **系统架构**
- **CI(持续集成)**:负责应用的打包上传,并管理发布流程,包括错误回滚。
- **LBPlugin(负载均衡插件)**:动态调整负载均衡配置。
- **AppRepository(应用仓库)**:存储由CI构建的程序包。
- **AppAgent**:在各个节点上执行发布、启动、停止和回滚操作。
- **AppWatcher**:实时监控应用运行状态。
- **AppHealthCenter**:维护应用健康状态数据。
3. **系统拓扑结构**
- **Group-#**:基于特定策略(如IP或用户ID)划分流量组。
- **Cluster-***:将应用集群分为多个应用组,每个流量组对应一个应用组,一个应用组可关联多个流量组。
- **Standby-Cluster**:备用组,发布期间保持在旧版本,发布完成后切换至新版本。
4. **分组发布模式(GroupMode)**
- **发布流程**:首先,LBPlugin将流量从Cluster-A切换到Standby-Cluster,AppAgent下载并发布新版本到Cluster-A,然后恢复Cluster-A的流量。
- **验证机制**:AppWatcher监测Cluster-A的状态,包括异常数、WS连接数、HTTP请求失败率和消息延迟,确保新版本的稳定运行。
- **回滚流程**:若AppWatcher检测到异常,将触发回滚,流程与发布类似,将流量从Cluster-A切回Standby-Cluster。
Frigate的设计充分考虑了发布过程中的风险控制,通过细致的验证和回滚机制确保服务的连续性和可靠性。这种架构对于大型分布式应用尤其重要,因为它允许在不影响大部分用户的情况下进行更新,并且能够快速应对可能的问题,降低运维风险。同时,通过动态配置负载均衡,Frigate能够灵活地管理流量分配,实现高效且安全的发布。
2019-07-31 上传
2019-08-02 上传
2023-12-19 上传
2023-06-10 上传
2023-02-24 上传
2023-05-31 上传
2023-05-27 上传
2023-05-30 上传
2023-09-04 上传
等天晴i
- 粉丝: 5694
- 资源: 10万+
最新资源
- 多功能HTML网站模板:手机电脑适配与前端源码
- echarts实战:构建多组与堆叠条形图可视化模板
- openEuler 22.03 LTS专用openssh rpm包安装指南
- H992响应式前端网页模板源码包
- Golang标准库深度解析与实践方案
- C语言版本gRPC框架支持多语言开发教程
- H397响应式前端网站模板源码下载
- 资产配置方案:优化资源与风险管理的关键计划
- PHP宾馆管理系统(毕设)完整项目源码下载
- 中小企业电子发票应用与管理解决方案
- 多设备自适应网页源码模板下载
- 移动端H5模板源码,自适应响应式网页设计
- 探索轻量级可定制软件框架及其Http服务器特性
- Python网站爬虫代码资源压缩包
- iOS App唯一标识符获取方案的策略与实施
- 百度地图SDK2.7开发的找厕所应用源代码分享