基于Sermant实现小游戏出海场景的微服务治理

举报
华为云开源 发表于 2025/11/17 14:57:40 2025/11/17
【摘要】 某公司专注于休闲小游戏和APP开发,面对海外市场扩展的挑战,通过选择Sermant框架,实现了零侵入式服务治理,提升了监控、动态日志等核心能力,显著降低了改造和运维成本。

基于Sermant实现小游戏出海场景的微服务治理

作者: 肖钊 Sermant社区Committer 李来 华为云高级工程师

 

摘要:某公司专注于休闲小游戏和APP开发,面对海外市场扩展的挑战,通过选择Sermant框架,实现了零侵入式服务治理,提升了监控、动态日志等核心能力,显著降低了改造和运维成本。

 

一、       背景

某公司以自主研发为核心,专注于休闲小游戏和应用APP的研发与运营,产品覆盖App Store、Google Play、国内安卓APP商店等多个发行渠道。公司致力于为全球手机用户提供优质易用的移动游戏产品,并为广告业主提供精确的互联网广告营销方案。

在公司成立初期,容器化、微服务等成熟技术方案尚未普及,而初创企业往往缺乏足够的资源去构建复杂的基础设施。小游戏服务端的业务逻辑相对简单,因此在架构设计上多采用单体模式或烟囱式架构,部署流程也较为直接。然而,随着国内游戏版号政策的收紧,众多小游戏厂商开始转向海外市场,以寻求新的业务增长点。这一战略转变带来了诸多挑战:不同国家和地区的玩家需求差异显著,业务复杂性急剧上升;同时,合规性要求、网络环境多样性、业务逻辑的复杂性以及部署难度等问题也成倍增加。正是在这一背景下,小游戏厂商面临着微服务架构改造的迫切需求,以应对全球化运营中的种种挑战。

二、       服务现状

截至目前,该公司的中台服务体系已涵盖了80多个核心服务,在业务高峰期,服务实例数量超过900个,单个服务的峰值QPS达到5K以上。同时,海外流量占比超过50%,业务覆盖范围遍及全球170多个国家和地区。

在这样的业务规模和技术背景下,该公司面临着复杂多样的基础设施环境:自建机房、IDC机房、多家主流云服务商的公有云资源,以及国内外多区域部署的网络架构。这种混合云和多区域部署的复杂性,对微服务架构提出了更高的要求。不仅需要确保服务的高可用性和稳定性,还要兼顾跨区域、跨平台的网络优化和资源调度效率。因此,对微服务架构设计必须充分考量这些复杂的网络环境和业务需求,以实现全球化部署和高效运维的目标。

三、       微服务架构选型

在微服务架构演进的落地实践中,该公司探索了多种架构升级的解决方案,包括 Nacos SDK 接入Consul Agent 方案Service Mesh 网格化架构,以及阿里开源的 Koupleless 模块化方案。这些方案各具特色,在不同应用场景下有一定优势,同时也存在明显的局限性

3.1 SDK方案(如Nacos

优势:成熟度高,与Spring Boot等框架无缝集成,适合快速搭建基础能力。

痛点:存量系统改造需业务方全量升级代码、测试验证,该企业80+服务为例,历史系统(如老旧订单模块)改造需跨团队协调,周期长达数月,且后续能力迭代仍需业务侧同步适配,协调成本极高。

3.2 Agent方案(如Consul

优势:无代码侵入,通过独立进程提供服务发现等基础功能。

痛点:无法深度集成业务逻辑(如基于业务参数的流量控制),且Agent进程需独立维护,升级时易引发兼容性问题(如与JDK版本的冲突)。

3.3 Service Mesh方案

优势:治理能力与业务解耦,支持精细化流量管理。

挑战:强依赖容器化技术,传统非容器化系统(如物理机部署的支付服务)改

造成本陡增,且Sidecar代理增加链路延迟,对高并发场景性能影响显著。

3.4 模块化方案(如Koupleless

优势:轻量化模块拆分,降低新业务接入成本。

风险:技术生态尚未完善(如监控工具缺失),复杂业务场景下模块依赖管理易失控,生产环境稳定性验证案例不足。

四、       为什么选择Sermant

Sermant是一款创新的Proxyless Service Mesh框架,其设计理念和技术实现极具巧思。它基于Java Agent技术构建,与业务服务运行在同一个进程中,因此性能损耗极低,同时能够实现对业务服务的高度控制,完全满足各种个性化需求。首先,由于采用Java Agent的实现方式,Sermant对业务代码做到了零侵入,业务方无需修改任何代码即可接入。其次,框架的升级与业务服务完全解耦,维护和管理更加便捷,大幅降低了运维成本。

与业界常见的Java Agent框架相比,Sermant的独特之处在于其完整的功能覆盖。虽然许多Java Agent框架主要用于调用链追踪、监控等可视化场景,但Sermant将其扩展到了全面的服务治理领域,包括流量管理、服务发现、监控、多活容灾等核心功能。

五、       基于Sermant实现的功能

基于Sermant框架层,该公司自主研发了一系列功能强大的插件,全面提升了服务治理的能力。这些插件覆盖了监控、服务注册与发现、配置中心、动态日志管理、日志染色等核心领域,构建了一个完整且高效的服务治理体系。

1.png

5.1 监控场景

通过集成SermantPrometheus,先实现了实时采集服务运行的关键指标,提供多维度的可视化分析,包括JVM监控、接口监控、服务调用外部监控、SQL执行监控等。例如SQL执行监控可以实时监控SQL语句的执行性能,包括执行时间、扫描行数、锁等待等关键指标,识别慢查询与潜在优化点,提升数据库操作效率,降低系统负载。

基于Sermant技术,实现了线上服务的无缝监控接入,无需进行任何代码改造或业务逻辑调整。该解决方案已成功应用于1000+线上服务节点,有效降低了服务治理过程中对业务系统稳定性的影响,显著提升了系统的可观测性和运维效率。通过非侵入式的服务治理方式,确保了业务系统的连续性和稳定性,为大规模微服务架构的监控管理提供了可靠的技术支撑。

2.png

5.2 动态日志与日志染色

基于Sermant,该公司开发了动态日志与日志染色核心能力,来解决企业实现高效运维的问题。其中动态日志支持运行时动态调整日志级别,无需重启服务即可在高负载场景减少日志输出以降低性能损耗,或在排查问题时快速开启详细日志,平衡系统性能与诊断效率;日志染色通过为请求链路注入唯一标识,实现跨服务全链路日志精准追踪,复杂业务场景下问题定位效率显著提升。两项能力均通过Java Agent技术实现,业务零代码侵入,分钟级完成接入,避免传统方案改造风险,同时支持策略实时生效,降低运维成本。

5.3 注册中心

服务注册与发现插件实现了服务实例的自动化管理和高效路由;企业的集中式网关架构可以借助 SpringBoot 注册插件实现去网关并接入 Nacos 等注册中心,逐步向云原生无代理服务网格架构演进,并具有如下优势:

• 代码无侵入,降低企业接入成本。

• 服务治理功能升级只需更新 Sermant,业务应用不用重新出包,降低升级成本。

• 微服务可以灰度接入,保证架构升级的平滑演进,如下图所示。

3.jpg

5.4 配置中心

基于Sermant实现了优先级加载、灰度发布和动态配置的能力。通过灵活的优先级管理,能够在复杂环境中精准控制配置的加载顺序,避免配置冲突,提升系统的可维护性;在可控范围内验证配置变更的效果,确保业务平滑过渡,最大限度减少对线上环境的影响。通过动态配置能力,能够快速适应业务需求变化,同时确保系统稳定性,为业务的持续迭代与优化提供坚实的技术保障。

·       

4.png

六、       落地实施

·       全面落地应用:已实现全量接入,覆盖 80+ 服务 和 900+ 实例,形成了稳定的应用生态。

·       成本显著优化:有效节省 20% 的运维成本 和业务沟通成本,提升了整体协同效率。

·       插件化能力输出:公司公共组件通过 插件化 形式提供,减少了业务侧频繁进行 SDK 升级的工作量,大幅降低了升级推动的难度与成本。

5.png

七、       展望

基于Sermant框架,自主研发插件,期望解决多数据中心和跨区域服务发现的复杂问题,实现高效的跨区域网络访问。具体而言,插件通过智能路由和负载均衡机制,能够自动识别并选择最优的数据中心或区域节点,确保服务调用的高效性与稳定性。

同时,为了进一步提升系统性能,期望通过拦截请求的方式,将同步调用转化为异步化处理,并结合虚拟线程技术,降低跨区域访问的延迟,提升系统的并发处理能力。

6.png

Sermant的实践充分展现了字节码增强技术在微服务治理领域的巨大潜力。通过零侵入、高性能的技术特性,该公司成功解决了传统微服务架构中的诸多痛点,为业务提供了更加灵活、高效的治理能力。Sermant开源社区和行业伙伴持续深入合作,分享实践经验,共同探索字节码增强技术的创新应用,致力于微服务治理领域的持续发展与突破。

 

Sermant作为专注于服务治理领域的字节码增强框架,致力于提供高性能、可扩展、易接入、功能丰富的服务治理体验,并会在每个版本中做好性能、功能、体验的看护,广泛欢迎大家的加入。

 Sermant官网:https://sermant.io

 GitHub仓库地址:https://github.com/sermant-io/Sermant

 扫码加入Sermant社区交流群

7.png

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。