为什么要扩展基础架构
为什么企业需要扩展
没有"上限"的收入。高峰赛事(德比,决赛,主要插槽发布)会增加RPS的倍数。可扩展性将流量激增转换为GGR增长而不是5xx错误。
稳定SLO。在任何在线情况下,我们在目标框架中保持p95关键路径潜伏期(投注,资产负债表更新,输出)。
成本得到控制。弹性=为"热时钟"而不是"恒定最大值"付费。
监管和品牌。可用性和可预测的收银机/钱包操作是审核和玩家信任的主题。
缩放类型
水平(尺度)
我们添加服务实例。stateless-API的基础,通往提供商的桥梁,Web网关,操作员。优点:容错性,弹性。缺点:需要等效性和外部状态。
垂直(尺度)
增加节点资源。适合DB和OLAP集群,但每单位收益的极限和成本更高。
地理位置
Multi-AZ和必要时的multi-Region:更接近玩家→较低的投注/流延迟和更容易发生事故。
究竟是什么在赌场缩放
边缘和API:网关,WAF,GraphQL/REST,WebSocket枢纽(投注/事件)。
通往提供商的桥梁: 直播/RNG适配器与HPA通过RPS和时间到'bet。accepted`.
钱包/ledger:静态内核-通过副本进行缩放以进行读取、散列和事务优化。
收银员:付款提供商/加密/越位,付款队列的各个池。
事件队列/总线:带有自动计算消费者的Kafka/NATS群集。
缓存/目录:Redis/Memory热键缓存,用于静态asset的CDN。
流媒体:WebRTC/LL-HLS边缘笔记,带有自动回程和QoS自动轨迹。
工程原理
1.钱的相等性。通过'bet的任何转发。place`/`payout.request'正好被处理一次(等效键)。
2.队列和背景。关键路径不会被阻止:如果提供者/DB犹豫不决,则请求会以受控的"李子"进入缓冲区,次要仙女首先降级。
3.缓存首先。重读查询(平衡,大厅)-通过缓存/实例化视图;残疾-通过事件。
4.硬化。共享数据/线程(通过"playerId",国家/地区,提供商,货币)。
5.金钱所在的一致性。严格的ACID 仅适用于钱包/ledger;剩下的就是事件。
6.发布前的可观察性。度量/轨迹是服务合同的一部分,否则自动轨道"盲目"。
指标和目标(SLO/SLA)
p95/p99潜伏期:- `bet.地方"≤ 150-250毫秒(区域内),"wallet。debit/credit` ≤ 50–100 мс, `payout.quote/submit` ≤ 500–800 мс.
- 错误分数:'5xx' <0。1–0.API的3%,博彩的"reject_rate" <0。2%的正常工作。
- 吞吐量:每个API/bridge的RPS;总线上的活动/sec。
- 队列:长度和等待时间(例如,高峰时段支付≤ 2-5分钟)。
- 流式QoS:下垂的框架,RTT投注信号,流产回合。
- 快取热门:热门>85-95%。
- Cost/Revenue: 基础架构成本/GGR、查询成本(每通话$)。
跨域缩放模式
钱包和Ledger
Reader-replicas用于阅读;作家-一对一。
CQRS:记录(严格)与阅读(实例化切片)分开。
Batch对账和"调整"交易-严格通过仅附录日志。
桥梁/游戏集成
静态适配器,带有"bet"后缀自动轨迹。accepted`.
每个提供商的电路断路器,降级时-暂时降解UI和关闭桌子。
付款/加密
webhook和PSP/链听众下的专用池;重复处理idempotency。
基于SLA/成本/国家/地区的提供商路由器。
负载操作
Workers/jobs(奖金,任务,锦标赛)-排队;按队列长度和截止日期进行缩放。
流媒体
边缘池到区域,WebRTC → LL-HLS自动返还;比特率/质量的垂直限制,以保持QoS。
建筑解决方桉
HPA/VPA/Cluster Autoscaler: HPA — на API/bridge;VPA-在ETL/报告上;节点是多类型的池(CPU-heavy,memory-heavy,network-optimized)。
PodDisruptionBudget和优先级:资金核心不受挤压。
Feature flags和金丝雀发行版:按流量百分比扩展新的fici。
Geo-routing: Anycast/DNS和区域注入网关-更接近用户。
成本和效率
资源配置文件。Requests/limits设置并对应于实际配置文件(在关键路径上没有CPU-throttling)。
分析/ETL和背景跳的现货池。
自动实现工作窗口外围环境的测试/站台。
缓存代替内核。添加Redis命中比将CPU乘以DB便宜。
扩展时的安全性
服务之间的mTLS/mesh随着呼叫图的增长。
网络细分(NetworkPolicy):金钱/PII域是独立的信任区域。
保密轮换和图像签名-更多节点=更多风险位置。
blast-radius控制:硬化和查询限制可防止级联。
反模式
用全球锁定来扩展整体:pod增长=冲突增加。
永久加热集群"达到顶峰",代替HPA和"次要"幻想降解。
将OLTP和OLAP混合到一个数据库上-任何报告都会杀死赌注延迟。
缺乏幂等性-在回避中(尤其是在高峰期)出借。
CPU上的盲人自动轨道-忽略实际指标(时间'bet。地点,队列长度)。
一个国家的支付提供者-当它"躺着"时没有什么可扩展的。
扩展实施支票清单
二.战略
- 定义了SLO (p95潜伏期、错误、RPS)和错误预算。
- 领域细分:金钱/投注/结账-与次要信息分开。
数据
- 硬化/复制副本,CQRS读取,实例化视图。
- 具有清晰残障政策的缓存层。
基础设施
- HPA/VPA,不同的节点池,PDB和优先级。
- Geo-routing, multi-AZ, DR准备就绪。
应用程序
- IdempotencyKey 现金/付款/webhooks。
- 巡回赛决胜局和决胜局;backpressure/队列。
- 特色旗和金丝雀。
可观察性
- Traces是端到端(ingress → API → →提供商→ webhook)的钱包。
- Dashbords RPS/latency/errors/queues/QoS流。
- Alerta成长"reject_rate"和退化"round。settle`.
成本
- 正确的请求/限制,背景任务的Spots,自动睡眠非证明。
扩展基础架构与"更多服务器"无关。这是关于可控的弹性:在需要硬一致性(金钱)的地方-我们设计硬核和快速交易;您可以携带到事件、队列和缓存。加上可观察性,地理位置和发布纪律-并且该平台将在SLO,P&L和玩家信心方面保持任何高峰,而无需妥协。