Directories
¶
| Path | Synopsis |
|---|---|
|
afterwork + handler 示例:声明式 handler + 响应后副作用。
|
afterwork + handler 示例:声明式 handler + 响应后副作用。 |
|
audit 示例:操作审计,仅记成功请求。
|
audit 示例:操作审计,仅记成功请求。 |
|
backoff 示例:指数退避 + 抖动重试。
|
backoff 示例:指数退避 + 抖动重试。 |
|
bitmap 示例:签到统计。
|
bitmap 示例:签到统计。 |
|
chat 示例:频道消息持久化 + 游标分页历史拉取。
|
chat 示例:频道消息持久化 + 游标分页历史拉取。 |
|
clan 示例:用现有原语组合出"公会"语义,不新增包。
|
clan 示例:用现有原语组合出"公会"语义,不新增包。 |
|
complete
|
|
|
example
command
|
|
|
example/api/v1
Package v1 is a reverse proxy.
|
Package v1 is a reverse proxy. |
|
配置热加载示例:beauty.WithConfig 接入文件/远程配置,变更自动重载。
|
配置热加载示例:beauty.WithConfig 接入文件/远程配置,变更自动重载。 |
|
cooldown 示例:技能冷却 / 操作限时。
|
cooldown 示例:技能冷却 / 操作限时。 |
|
counter 示例:滑动窗口计数 / 时间窗配额。
|
counter 示例:滑动窗口计数 / 时间窗配额。 |
|
cron-leader 示例:多实例部署下,Cron 只在选主当选的实例上跑。
|
cron-leader 示例:多实例部署下,Cron 只在选主当选的实例上跑。 |
|
DAG 示例:build -> [test, lint 并行] -> deploy。
|
DAG 示例:build -> [test, lint 并行] -> deploy。 |
|
dberr 示例:把数据库错误翻译为带业务码的 *Status。
|
dberr 示例:把数据库错误翻译为带业务码的 *Status。 |
|
delayqueue 示例:定点单次延迟触发。
|
delayqueue 示例:定点单次延迟触发。 |
|
ephemeral 示例:短期 TTL KV(验证码 / 临时数据 / 缓存)。
|
ephemeral 示例:短期 TTL KV(验证码 / 临时数据 / 缓存)。 |
|
eventbus 示例:进程内按主题分发的事件总线。
|
eventbus 示例:进程内按主题分发的事件总线。 |
|
Feature Flag 示例:百分比灰度 + 属性定向 + A/B 实验。
|
Feature Flag 示例:百分比灰度 + 属性定向 + A/B 实验。 |
|
fsm 示例:有限状态机(对局生命周期)。
|
fsm 示例:有限状态机(对局生命周期)。 |
|
gameloop lockstep demo:基于 beauty 原语搭一个「帧同步」服务端骨架。
|
gameloop lockstep demo:基于 beauty 原语搭一个「帧同步」服务端骨架。 |
|
geohash 示例:经纬度地理编码 + 附近检索。
|
geohash 示例:经纬度地理编码 + 附近检索。 |
|
group + inbox + ratelimit 示例:群组离线私聊。
|
group + inbox + ratelimit 示例:群组离线私聊。 |
|
xDS 客户端示例:通过 xds:///service 目标,由 xDS 控制平面(如 Istio/istiod) 下发端点与负载均衡策略。
|
xDS 客户端示例:通过 xds:///service 目标,由 xDS 控制平面(如 Istio/istiod) 下发端点与负载均衡策略。 |
|
hls demo:用 pkg/hls 起一个直播 origin,挂在 webserver 上,后台每 2s 喂一个 合成分片(内容是占位字节,非真实 TS——本示例只演示 origin 的播放列表/分片分发, 不涉及编解码)。
|
hls demo:用 pkg/hls 起一个直播 origin,挂在 webserver 上,后台每 2s 喂一个 合成分片(内容是占位字节,非真实 TS——本示例只演示 origin 的播放列表/分片分发, 不涉及编解码)。 |
|
http-service-discovery 示例:HTTP 客户端 + 服务发现 + 负载均衡。
|
http-service-discovery 示例:HTTP 客户端 + 服务发现 + 负载均衡。 |
|
idempotency 示例:幂等执行(去重 + 并发合并)。
|
idempotency 示例:幂等执行(去重 + 并发合并)。 |
|
idgen 示例:分布式唯一 ID(Snowflake)。
|
idgen 示例:分布式唯一 ID(Snowflake)。 |
|
keyedmutex 示例:按 key 的细粒度锁。
|
keyedmutex 示例:按 key 的细粒度锁。 |
|
kvstore-shared 示例:让 counter/cooldown/idempotency 跨实例共享状态。
|
kvstore-shared 示例:让 counter/cooldown/idempotency 跨实例共享状态。 |
|
leaderboard 示例:排行榜内存缓存 + "我的名次"查询。
|
leaderboard 示例:排行榜内存缓存 + "我的名次"查询。 |
|
leveling 示例:经验 / 等级曲线。
|
leveling 示例:经验 / 等级曲线。 |
|
live-hls-gohlslib demo:RTMP 推流 → gohlslib → LL-HLS 播放。
|
live-hls-gohlslib demo:RTMP 推流 → gohlslib → LL-HLS 播放。 |
|
live-multi demo:多路直播——一个 RTMP 端口收多路流,按 streamKey 各自成流、各自分发, 用 pkg/media.Hub 做多路管理 + OTel 指标,每路 HLS 由 pkg/media/hlsmux(gohlslib)产出 LL-HLS。
|
live-multi demo:多路直播——一个 RTMP 端口收多路流,按 streamKey 各自成流、各自分发, 用 pkg/media.Hub 做多路管理 + OTel 指标,每路 HLS 由 pkg/media/hlsmux(gohlslib)产出 LL-HLS。 |
|
live-pk 组合 demo:多房间直播 PK 后端,展示多个原语如何协作。
|
live-pk 组合 demo:多房间直播 PK 后端,展示多个原语如何协作。 |
|
live-transcode demo:拓扑 A —— beauty 收 RTMP,把流管道喂给 ffmpeg 转码成多码率 (ABR)HLS,再用 pkg/hls.Master 组主清单分发。
|
live-transcode demo:拓扑 A —— beauty 收 RTMP,把流管道喂给 ffmpeg 转码成多码率 (ABR)HLS,再用 pkg/hls.Master 组主清单分发。 |
|
loadbalance 示例:一致性哈希(会话粘性)+ 平滑加权轮询(按容量分发)。
|
loadbalance 示例:一致性哈希(会话粘性)+ 平滑加权轮询(按容量分发)。 |
|
loot 示例:加权随机抽卡(含保底)。
|
loot 示例:加权随机抽卡(含保底)。 |
|
match 示例:一个 20Hz tick 的 echo 房间。
|
match 示例:一个 20Hz tick 的 echo 房间。 |
|
matchmaker 示例:按属性匹配组队。
|
matchmaker 示例:按属性匹配组队。 |
|
momentum 示例:连击 + 热度时间衰减。
|
momentum 示例:连击 + 热度时间衰减。 |
|
mq demo:消息队列抽象 + 「消费者即 Service」。
|
mq demo:消息队列抽象 + 「消费者即 Service」。 |
|
notification 示例:离线通知队列,上线拉取。
|
notification 示例:离线通知队列,上线拉取。 |
|
party 示例:无权威小队,Leader 审核 + 状态广播。
|
party 示例:无权威小队,Leader 审核 + 状态广播。 |
|
pathfind 示例:网格 A* 寻路。
|
pathfind 示例:网格 A* 寻路。 |
|
presence 示例:在线状态追踪 + 频道成员列表。
|
presence 示例:在线状态追踪 + 频道成员列表。 |
|
protobuf-example
|
|
|
gen/go/api
Package v1 is a reverse proxy.
|
Package v1 is a reverse proxy. |
|
questlog 示例:每日任务 / 成就进度。
|
questlog 示例:每日任务 / 成就进度。 |
|
reddot 示例:小红点 / 未读聚合树。
|
reddot 示例:小红点 / 未读聚合树。 |
|
relationship 示例:社交图谱——好友 + 关注 + 拉黑。
|
relationship 示例:社交图谱——好友 + 关注 + 拉黑。 |
|
resilience
|
|
|
circuitbreaker
command
|
|
|
timeout
command
|
|
|
resume 示例:断线重连的在场状态还原。
|
resume 示例:断线重连的在场状态还原。 |
|
ringbuffer 示例:最近 N 条弹幕。
|
ringbuffer 示例:最近 N 条弹幕。 |
|
router 示例:多语义消息路由 + 攒批。
|
router 示例:多语义消息路由 + 攒批。 |
|
saga 示例:跨服务 Saga 编排(抽卡流程)。
|
saga 示例:跨服务 Saga 编排(抽卡流程)。 |
|
scheduler 示例:工作池 + 暂停/恢复。
|
scheduler 示例:工作池 + 暂停/恢复。 |
|
security
|
|
|
auth-ratelimit
command
|
|
|
services
|
|
|
k8s
command
|
|
|
svc
command
|
|
|
session 示例:有状态 WebSocket 会话,echo + 广播。
|
session 示例:有状态 WebSocket 会话,echo + 广播。 |
|
spatial 示例:网格空间索引(附近的人)。
|
spatial 示例:网格空间索引(附近的人)。 |
|
SSE 示例:一个定时推送端点 + 一个广播端点。
|
SSE 示例:一个定时推送端点 + 一个广播端点。 |
|
statesync demo:基于同一个 pkg/gameloop.Room,换个 Handler 就从帧同步切到「状态同步」。
|
statesync demo:基于同一个 pkg/gameloop.Room,换个 Handler 就从帧同步切到「状态同步」。 |
|
statesync-quic demo:把状态同步搬到 QUIC,用一条连接的两种通道分流两类数据。
|
statesync-quic demo:把状态同步搬到 QUIC,用一条连接的两种通道分流两类数据。 |
|
status 示例:用户上下线时给关注者推送状态通知。
|
status 示例:用户上下线时给关注者推送状态通知。 |
|
storage 示例:版本化对象存储,OCC 乐观锁。
|
storage 示例:版本化对象存储,OCC 乐观锁。 |
|
tally 示例:高频累计聚合 + 批量刷写。
|
tally 示例:高频累计聚合 + 批量刷写。 |
|
token 示例:会话令牌签发、续签、注销全流程。
|
token 示例:会话令牌签发、续签、注销全流程。 |
|
tournament 示例:每日重置排行榜。
|
tournament 示例:每日重置排行榜。 |
|
txn 示例:跨域原子事务——扣钱包 + 写存档,任一失败全回滚。
|
txn 示例:跨域原子事务——扣钱包 + 写存档,任一失败全回滚。 |
|
versus 示例:直播 PK(限时双方对抗计分)。
|
versus 示例:直播 PK(限时双方对抗计分)。 |
|
wallet 示例:虚拟货币账本,差额更新 + 不可超扣。
|
wallet 示例:虚拟货币账本,差额更新 + 不可超扣。 |
|
Webhook 示例:注册端点(事件过滤 + 签名 + 幂等去重 + DLQ),按事件触发通知。
|
Webhook 示例:注册端点(事件过滤 + 签名 + 幂等去重 + DLQ),按事件触发通知。 |
|
webrtc-voice-room demo:多人实时语音(SFU 会议室)。
|
webrtc-voice-room demo:多人实时语音(SFU 会议室)。 |
|
webrtc-whip-whep demo:最小 SFU 广播——一路 WHIP 推流,转发给任意多个 WHEP 播放端。
|
webrtc-whip-whep demo:最小 SFU 广播——一路 WHIP 推流,转发给任意多个 WHEP 播放端。 |
|
WebSocket 示例:echo 端点 + JSON 广播端点。
|
WebSocket 示例:echo 端点 + JSON 广播端点。 |
Click to show internal directories.
Click to hide internal directories.