跳到主要内容

公共组件与可复用服务

工程既提供独立组件,也提供可复用业务服务。日常接入先准备对应服务与配置, 再在消费方填写 SDK 依赖声明并使用公开 API,参见组件接入。

按功能选择​

功能服务/位置消费方 SDK 声明
消息队列src/component/dtmq/,dtmq-proxysvrUSE_COMPONENTS "dtmq-proxy-sdk"
分布式事务src/component/distributed_transaction/,dtcoordsvrUSE_COMPONENTS "distributed-transaction-sdk"
合规文本过滤src/component/compliance/,compliance-svrUSE_COMPONENTS "compliance-sdk"
聊天src/lobbysvr/service/logic/chat/,DTMQLobby 内置;USE_COMPONENTS "dtmq-proxy-sdk"
邮件src/lobbysvr/service/logic/mail/,src/lobbysvr/sdk/rpc/mail/USE_SERVICE_SDK "lobbysvr-sdk"
道具操作与来源src/component/GameSharedComponent/ItemAlgorithm/,Lobby item 模块USE_COMPONENTS "ItemAlgorithmSDK"
排行榜src/component/rank/,rank_board_svrUSE_COMPONENTS "rank-board-svr-sdk" "rank-logic-sdk"
好友src/friendsvr/,管理与推荐服务USE_SERVICE_SDK "friend-sdk-management"
匹配与组队src/matchsvr/、src/teamsvr/USE_SERVICE_SDK "matchsvr-sdk" "team-common-sdk" "team-sdk-room"
UE DS 管理(Orbit)src/component/orbit/,controller / agent / server / client按进程角色选择对应 SDK,见 Orbit 上手
用户与 Router 接入src/component/user/sdk/USE_COMPONENTS "user-sdk"
共享算法src/component/GameSharedComponent/USE_COMPONENTS "ItemAlgorithmSDK" "BattleUtilitySDK"

这些参数追加到已有服务声明,所需 API 决定具体依赖;无需为每个功能重建服务目标。 共享算法 SDK 不需要独立进程。Orbit 的 client 运行时也在 GameSharedComponent/Orbit/。

快速上手​

  1. 服务组件按运行与部署启动,按需准备 Redis、Excel 和实例布局。 纯算法 SDK 直接从依赖声明开始。
  2. 参照 src/lobbysvr/service/CMakeLists.txt 添加所需 SDK 参数,重新配置/构建。
  3. 在业务 action 中调用 SDK;需要通知的组件同时注册通知 handler。
  4. 服务组件验证请求、响应和所需的通知,纯算法验证调用结果。已有 lobbysvr 演示 DTMQ、排行榜、好友、匹配与组队接入, orbitsvr 演示 Orbit server 接入。

定制与详细设计​

常见组件采用 protocol/、服务实现和 sdk/ 的结构;纯算法组件只提供库。 协议、生成和链接声明参照新增组件。 各组件后面的设计章节分别介绍持久化、副本、恢复与生命周期规则。