加入收藏 | 设为首页 | 会员中心 | 我要投稿 济宁站长网 (https://www.0537zz.cn/)- 行业智能、边缘计算、专有云、AI硬件、5G!
当前位置: 首页 > 站长资讯 > 动态 > 正文

为智慧城市革命做好准备了吗?

发布时间:2021-02-13 14:36:40 所属栏目:动态 来源:互联网
导读:陈宏基是这样回答的 比如MOBA类游戏/王者荣耀/LOL,就看王者荣耀的客户端吧,想象一下。 账号系统,符文系统,英雄系统,皮肤系统,好友系统,好友之间messaging,这些都是常规操作,如果流量足够大,当然可以用微服务的架构去做。 不过这不是这个游戏的核心

陈宏基是这样回答的

比如MOBA类游戏/王者荣耀/LOL,就看王者荣耀的客户端吧,想象一下。

账号系统,符文系统,英雄系统,皮肤系统,好友系统,好友之间messaging,这些都是常规操作,如果流量足够大,当然可以用微服务的架构去做。

不过这不是这个游戏的核心,核心是MOBA:Multiplayer online battle arena。特性是什么?

10个人之间各种游戏事件的高速多向通讯streaming/broadcast/multicast/pubsub各种通讯模式。

所以游戏的核心在于小规模群体之间的高速网络通信。就是对方说的realtime。多了一个10ms的延迟玩家就要骂娘了。

  1. 微服务为了把业务完美拆解,把原来的同一个进程里的模块拆分成不同的服务,显著增加额外的网络开销。更别说什么Service Mesh,各种Gateway,Proxy,Sidecar简直就是担心延迟太低。
  2. 微服务基本只有request/response的模式。做不了streaming?微服务通常要求应用是无状态的才能做到水平扩展。streaming本身就是加入了状态
  3. 我可以想像,为了提高通讯的性能,一场英雄联盟游戏很可能会使用同一个服务器负责这10个玩家之间的通讯,这样就使得数据可以在本地交换,性能最大化。这对客户端或者说服务端统一网关的要求是必须支持sticky routing。假设客户端连接断了,接下来的必须重连之前的同一个服务器。微服务的stateless,水瓶扩展要求本身就是反sticky routing的,因为sticky routing本身就是状态。
  4. 对服务端集群来说,同时有无数个王者荣耀的比赛在进行,每个都可以看成一个沙盒,每个沙盒都处于一个不同的状态:塔被推了几个了,你被杀了几次了,对面几个超神了,20分钟到了没。

背景介绍

笔者最近去面试了家游戏公司(有上市)。我问他,公司有没有做微服务架构的打算及考量?他很惊讶的说,我没听说过微服务耶,你可以解释一下吗?

我大概说了,方便测试,方便维护,方便升级,服务之间松耦合,可多语言开发,自动扩容……之类的点。

然后他说游戏server不太需要微服务,因为要求real time,做微服务会影响效能,分模组来开发就好了。

我也不确定,但微服务不是趋势吗?特别是大公司,游戏server的服务应该很容易拆分吧?。

 

Jaeger

Jaeger是一种端到端的分布式跟踪解决方案,由Uber Engineering开源。帮助你在复杂的分布式系统中监视和排查事务故障。在现代微服务体系结构中,大多数操作问题都属于网络和可观察性的范畴。当发生服务故障时,你不知道请求是如何通过网络从一个服务转到另一个服务来完成单个业务请求的。调试变得异常困难。Jaeger目前在CNCF下孵化,Jaeger使用跟踪技术来寻找出错原因、性能和延迟优化,以及分布式事务监控。Jaeger可以与Istio一起使用,Istio是由谷歌开源的一款流行的服务网格实现。

 

Sysdig Inspect

Sysdig公司有两款开源产品:Sysdig Inspect和Falco。在这里,我们将重点讨论Inspect,Sysdig Inspect用于监视和捕获系统中运行的容器进程,并允许深入这些进程以进行事后取证,帮助分析应用程序性能、排查错误并监视任何可能出现错误的处理器。此外,如果你的系统遭到了破坏,Sysdig帮助你了解破坏是如何发生的,以及在这个过程中丢失了哪些数据。Sysdig Inspect是一个非常强大的工具,它关注于系统的性能调优和安全性调查。

相关工具和技术:Grafana、Sysdig、Sysdig Falco。


 

(编辑:济宁站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读