V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
Rooger
V2EX  ›  Go 编程语言

Go 游戏后端微服务后端求推荐

  •  
  •   Rooger ·
    luojiego · 2021-08-30 10:45:47 +08:00 · 3991 次点击
    这是一个创建于 941 天前的主题,其中的信息可能已经有所发展或是发生改变。

    游戏部分服务是有状态的,目前使用的是 go-micro V1 版本,但是只支持到 go1.14 。而 Go 已经更新到了 1.17 ,求游戏同行推荐靠谱的微服务框架。

    19 条回复    2021-09-07 17:03:01 +08:00
    dcoder
        1
    dcoder  
       2021-08-30 11:06:17 +08:00
    你们是做啥游戏, 卡牌回合制的话, 用啥都行
    real-time 的话 (e.g. ACT, FPS, MOBA), 就麻烦多了
    777777
        2
    777777  
       2021-08-30 11:08:00 +08:00   ❤️ 1
    建议 k8s 一把梭,不需要框架。
    cxytz01
        3
    cxytz01  
       2021-08-30 11:21:31 +08:00
    为什么要用微服务框架呢,go 这门语言不用微服务框架不行吗? 你使用框架是需要框架提供的什么能力?
    你的游戏服务是有状态的,和微服务有什么关系呢?

    目前公司微服务的项目,都是基于 go,但是就没用微服务框架。
    lesismal
        4
    lesismal  
       2021-08-30 11:24:14 +08:00
    网络层可以用我这个:
    https://github.com/lesismal/arpc

    微服务就是多个服务,他们之间怎么管理,自己设计实现接口就行了。
    KickAssTonight
        5
    KickAssTonight  
       2021-08-30 11:49:52 +08:00
    框架随意吧。。server 自己维护下 session 是不是就可以了?
    sunny352787
        6
    sunny352787  
       2021-08-30 12:04:44 +08:00
    我这边就是 grpc 一把,有状态的服务单独处理,redis 记录客户端对应的状态服务地址就好了
    HUNYXV
        7
    HUNYXV  
       2021-08-30 12:08:42 +08:00
    go-micro 不是都已经 v3 版本了吗?
    go 1.16
    hellodudu86
        8
    hellodudu86  
       2021-08-30 12:09:10 +08:00
    用 v3 版本
    ArJun
        9
    ArJun  
       2021-08-30 12:13:11 +08:00
    GRPC
    flycloud
        10
    flycloud  
       2021-08-30 12:30:34 +08:00
    我是自己撸了一套 RPC,基于 nats,用于 web 、app 的那些 RPC 其实不太适用于游戏后端,因为很难做到所有的服务都是无状态的(不追求实时性、业务简单的弱联网游戏除外)。
    e7
        11
    e7  
       2021-08-30 15:03:03 +08:00
    不是游戏行业,但听说游戏核心逻辑都是单体,分区服务
    nash
        12
    nash  
       2021-08-30 15:49:58 +08:00
    go-zero
    zyxdut
        13
    zyxdut  
       2021-08-30 17:21:05 +08:00
    可以看下 Google 的 agones
    zyxdut
        14
    zyxdut  
       2021-08-30 17:21:42 +08:00
    这个是基于 k8s 的游戏服务器框架,还挺好使
    wellsc
        15
    wellsc  
       2021-08-30 17:26:38 +08:00
    游戏后端,erlang/elixir 或者 c/c++ 更加合适,go 的锁和 gc 太慢了
    c88155745
        16
    c88155745  
       2021-08-30 18:51:39 +08:00
    gonet zinx agones goworld
    dcoder
        17
    dcoder  
       2021-08-31 02:16:21 +08:00
    感觉大家七嘴八舌说了一堆, 没几个靠谱的讨论 XD
    joesonw
        18
    joesonw  
       2021-08-31 10:10:30 +08:00
    两个卡牌游戏. 都是直接用 grpc 做通讯, 然后在此基础上自己搭架子. 部署是直接 k8s.
    Reid
        19
    Reid  
       2021-09-07 17:03:01 +08:00
    b 站的 Krotos 吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   947 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 21:28 · PVG 05:28 · LAX 14:28 · JFK 17:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.