技术和基础架构→无服务器方法和功能
无服务器方法和功能
1)什么是serverless,什么时候需要
Serverless是一种模型,其中云接管服务器管理,缩放和补丁,团队编写事件处理程序并使用FaaS(功能即服务)和BaaS(托管服务:队列,DB,存储)。您在交付速度方面获胜,为实际执行付费并轻松扩展"尖峰"负载。
在iGaming/fintech中特别有用的地方:- PSP/KYC webhooks(许多简短的查询,不可预测的高峰)。
- Antifrod/得分(事件功能,enrichment,功能商店)。
- 报告/CDC → DWH(批处理和流媒体处理)。
- 营销/CRM(触发事件,大衣,优惠券,细分)。
- 轻量级backend-API和服务任务(throttling,cron函数)。
- 需要恒定的低P99潜伏度(子到10毫秒)而无需犹豫。
- 长寿命连接/协议(无代理的高频实时)。
- 大型,静态计算,具有CPU/GPU和紧贴。
2)建筑砖块
2.1 FaaS
事件处理程序:HTTP/API网关、队列、流、计时器、对象存储、DB触发器。
精细启动/批处理:图层/图像功能,加热。
2.2个BaaS和集成
队列/流媒体(at-least-once), Pub/Sub用于域事件。
存储:对象(原材料/工件)、KV/缓存、文档/关系。
编排:状态机器/步骤功能,传奇和补偿。
API网关:身份验证(OAuth/OIDC/HMAC),限制,转换。
2.3网络环路
公共前端(边缘/API网关)+VPC中的私有功能,用于访问DB/Secret/PSP。
Egress控制:allow-list到PSP/KYC,固定NAT-IP。
3)性能: 冷启动、竞争力、持续时间
冷启动:停机后首次启动功能容器。
Mitigy:最大限度地减少依赖性,使用"预热"(periodic invoke),将功能与源保持在同一区域,小心地应用长时间时间。
竞争力:设置"max_concurrency"和源限制(队列/网关),以免被PSP/DB"淹没"。
执行时间:对于长任务,分为步骤+编排(step functions),对于重计算-batch/containers。
4)可靠性: 等效性,中继,DLQ
相似性:"Idempotency-Key"/接收重复数据消除(键+TTL存储)。
Retrai:指数backoff+jitter,尝试极限;将业务错误(4xx)与时间(5xx/timeout)分开。
DLQ (dead-letter queue):对于N尝试后未完成的消息;replay控制台和跟踪是强制性的。
Exactly once(实际):outbox/inbox模板,事务事件日志。
5)状态和编排
函数中没有状态,状态在外部存储中。
State machines:付款/退出步骤,KYC-workflow,反欺诈检查;明确的错误/补偿模式。
传奇:回滚时"保留→确认→补偿"。
6)安全性和合规性
IAM最小特权原则:按函数角色,在队列/垃圾箱/表上进行扫描。
秘密:秘密经理/KMS,轮换,HSM级密钥。
mTLS/HMAC用于webhook,身体签名,时间窗口± 5分钟。
内置WAF/机器人保护 API网关,rate-limits/quotas。
细分:prod/stage,服务帐户,私人sabseti。
PII/PCI:PAN标记化,log掩码,"最小化数据"。
审计:不变逻辑(WORM),呼叫跟踪,监管存储。
7)可观察性和质量控制
度量标准:RPS,P50/P95/P99,代码错误,持续时间,冷启动,中继传送带,DLQ尺寸。
Tracing (OTel):通过网关→ →队列函数→ DB/PSP的"trace_id"相关性;强制性标签"api_version","region","partner"。
Logs:结构化,带有PII掩码。
Alerts的症状是:burn-rate SLO,retrae生长,P99尾巴。
合成:来自目标国家的检查(TR/BR/EU),模拟网络手册。
8) FinOps和成本
支付"呼叫和毫秒"。跟踪:启动频率,持续时间,内存,流量。
分析热路:将沉重的依赖性放入图层/映像,缓存连接。
通过限制和战斗来限制球迷(大规模平行呼叫)。
识别"泄漏":无休止的转发,DLQ中的消息无需处理。
规划峰值窗口(锦标赛/活动)-预测预热和配额。
9) CI/CD和版本控制
IaC:Terraform/CloudFormation/SAM/CDK是功能,队列,权利,网关的模板。
批处理:依存锁文件,最小映像/图层。
测试:合同测试(OpenAPI/gRPC),与局部rantime集成,等效性测试。
Deploy:金丝雀/蓝绿色,功能横幅,快速滚回。
API转化:'/vN/'或介质;Deprecation/Sunset和事件图的兼容性。
10)iGaming/fintech的模式
付费/结账网页:签名的接收→验证→可持续性→发布'payout活动。updated '→编排钱包更新/报告。
反亲和力得分:功能enricher(IP/devys/geo/history),异步解决方案,时空和后退策略。
KYC/AML管线:并行检查(文件,制裁,PEP),结果汇总,重复查询的传奇。
比赛/排名:回合赛事→流汇总→排行榜更新,TTL缓存读取。
向监管机构报告:疾病预防控制中心→ DWH,SLA的数据新鲜度中的转换→展示功能。
营销/CRM:行为触发器→优惠券/大篷车,重复数据消除和用户限制。
11)片段示例
11.1 vebhook(伪代码)的偶数接收)
python def handler(event):
assert verify_hmac(event. headers, event. body, secret)
key = f"idemp:{event. headers['Idempotency-Key']}"
if kv. exists(key):
return kv. get (key) # repeat - give the same result result = process (event. body) # public event, state record kv. set(key, result, ttl=86400)
return result
11.2提取编排(state machine,想法)
1. 'validate_request' → 2) 'lock_balance' → 3) 'call_psp'(带转发)→
2. 'await_webhook'(计时→补偿)→ 5) 'finalize/notify'。
12)无服务器实施支票
1.确定了事件来源和合同安排(计划/版本)。
2.已设置了竞争限制和"精益"转发,有DLQ和replay。
3.包括私有网络/VPC,egress-allow-list,固定IP到PSP。
4.IAM最小特权原则,KMS/Secret Manager中的秘密。
5.观察力:OTel跟踪,P99/错误/冷启动的行车记录板。
6.FinOps:预算,成本差,持续时间/内存控制。
7.CI/CD:金丝雀/蓝绿色,合约/同位素自动测试。
8.文档:DevPortal/Postman系列,付费示例,Deprecation/Sunset。
13)反模式
具有一堆依赖性的"厚"功能→缓慢的冷启动。
缺乏相同能力和网上图书签名→复制/欺诈。
没有限制的球迷→竞争风暴,与供应商争吵。
没有轨迹/差速器的计时器/克朗中的逻辑→"安静"的SLA失败。
在无加密的环境变量中溷合prod秘密。
没有Schema Registry和兼容性规则的事件合同。
14)结果
Serverless是一个事件云操作系统:您专注于业务逻辑,而扩展和基础架构则是"按需"。连接FaaS+托管服务,增加等效性、编排和可观察性,对成本进行纪律处分-并获得一个能够承受高峰、快速演变并保持经济的平台。