网站导航

电话
短信
地图
Store

门店信息

分类
思考:王者荣耀为什么不使用微服务架构?【半岛官方下载入口】时间:2023-11-21 00:50:01
本文摘要:


思考:王者荣耀为什么不使用微服务架构?【半岛官方下载入口】(图1)

作者 | hongjic93、brice

像这类游戏都是对网络内存CPU 的优化需求很高整个游戏举行历程中险些不存在什么 RPC call真的需要 Remote Data也应该是 Rrefetch就是在游戏刚开始的时候加载好。


思考:王者荣耀为什么不使用微服务架构?【半岛官方下载入口】(图1)

作者 | hongjic93、brice

像这类游戏都是对网络内存CPU 的优化需求很高整个游戏举行历程中险些不存在什么 RPC call真的需要 Remote Data也应该是 Rrefetch就是在游戏刚开始的时候加载好。

①微服务自己是为了应对业务逻辑的庞大需要要的新的组织接口的方式。

1.配景先容

所以虽然不用把这些状态写进持久性存储可是一定会在内存中存在很长时间。都是状态横竖有状态就别想用微服务。


思考:王者荣耀为什么不使用微服务架构?【半岛官方下载入口】(图3)

虽然上面说了许多点可是其实也是可以思量用 Spring Cloud 革新的因为游戏集群一样有注册中心需要服务发现需要编排启动顺序只是 Spring Cloud 没有为了游戏设计而已。

好比玩家出牌两次在 HTTP 就可能泛起序次纷歧致。游戏服务器集群一般使用长毗连互联。可能需要用 Dubbo?(听说是长毗连)

网关支持 TCP 或者至少封装或者袒露一些 Netty 的 Decoder Encoder(或者允许注入)等等。

微服务的 Stateless水瓶扩展要求自己就是反 Sticky Routing 的因为 Sticky Routing 自己就是状态。


思考:王者荣耀为什么不使用微服务架构?【半岛官方下载入口】(图4)

账号系统符文系统英雄系统皮肤系统挚友系统挚友之间 Messaging这些都是通例操作如果流量足够大固然可以用微服务的架构去做。

2.hongjic93 是这样回覆的

不外这不是这个游戏的焦点焦点是 MOBA:Multiplayer online battle arena。

特性是什么?10 小我私家之间种种游戏事件的高速多向通讯Streaming/Broadcast/Multicast/Pubsub 种种通讯模式。

服务注册发现用处不大开服都是确定的事情另有一系列运营手段配合关服也是绝对不能随便关的。

微服务不是什么银弹也就是利便拆解一下原来的 CRUD 应用而已而已一没触及高级的交互方式二没触及漫衍式系统真正的难点:状态其实没有大家想的那么有用。

多线程模型处置惩罚游戏性能差还很是庞大一般都是使用单历程/线程 驱动牢固数量房间的方式(这也是为何服务器一定有状态一定不能直接读写 MySQL)。

一般就直接 Netty 了。

对方没有听说过微服务完全没有问题因为这自己就不是什么高深的观点反而对方听你一说一下就知道微服务不适合游戏说明对方明白能力很强对游戏系统设计也相识足够深。

③游戏服务器一般纯需要主动推送所以第一代微服务网关就没措施满足需求 TCP 的没有网关用Spring Cloud Gateway 的 Web Socket 也许可以用(可是从防攻击角度讲端游用 TCP 绝对比 Web Socket 合理)。

好比至少要完全支持 Webflux吧(没有仔细研究)需要一个单线程的长毗连最好支持 Protobuf RPC 框架吧(集成服务发现相关功效与接口)。

更多微服务专题内容:http://blog.didispace.com/micro-serivces-arch/

这对客户端或者说服务端统一网关的要求是必须支持 Sticky Routing。假设客户端毗连断了接下来的必须重连之前的同一个服务器。

②游戏逻辑服务器自己(好比斗田主等棋牌)因为网络响应性能要求问题(玩家对每个操作的反馈时长敏感度远高于业务系统)所以游戏服务器都是有状态的。

④服务间通信 RPC 首先 RibbonFeign 等并不是合。


本文关键词:半岛官方下载入口,半岛官方下载地址,半岛官网App下载

本文来源:半岛官方下载入口-www.yl-tly.com