V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
gy123
V2EX  ›  问与答

相同接口不同客户端

  •  
  •   gy123 · 2022-03-12 08:16:59 +08:00 via iPhone · 1429 次点击
    这是一个创建于 994 天前的主题,其中的信息可能已经有所发展或是发生改变。

    接口逻辑都一样,但是有 ios 安卓 公众号 小程序。目前是相同代码,一个服务器分别部署三个不同端口的服务提供给客户端。请问这样是常规操作吗,的确出现过安卓服务问题导致 oom 啥的宕机,别的客户端没影响。但感觉这样都在一个实例,三个服务无形中增加了内存使用和 cpu 使用。你们有什么更好的方案吗。

    9 条回复    2022-03-14 09:42:03 +08:00
    RedBeanIce
        1
    RedBeanIce  
       2022-03-12 08:43:32 +08:00 via iPhone
    服务端配置拉满 or 多台服务负载均衡,性能优化
    securityCoding
        2
    securityCoding  
       2022-03-12 10:51:13 +08:00 via Android
    没见过这么蠢的方案
    CEBBCAT
        3
    CEBBCAT  
       2022-03-12 10:51:56 +08:00
    不太能理解为什么要分开部署,OOM 那块也没有说清楚到底是发生了什么。一般来说 OOM 是代码设计出现了问题,最好通过 debug 来彻底解决

    我觉得按照常见的部署就可以,但可以增加压测等等部分
    xlsepiphone
        4
    xlsepiphone  
       2022-03-12 10:58:02 +08:00 via Android
    android 调用 api 接口导致服务器宕机?不太懂。。。
    Puteulanus
        5
    Puteulanus  
       2022-03-12 11:55:56 +08:00
    想起了以前看的段子。。

    安卓端接口为啥宕了
    跑了三份,OOM 了
    为啥跑三份
    怕安卓端的宕了影响其他端
    那它之前会 OOM 吗
    不会
    msaionyc
        6
    msaionyc  
       2022-03-12 12:29:23 +08:00
    你们可以做三个接口,底层调用同一个业务逻辑层的方法。接口层可以做不同平台用户登录信息的处理和交互,这样比方哪次小程序的平台要换登录方式或者说小程序平台不用了,只用处理这个接口就行了。

    或者都用同一个接口,传不同的用户参数(客户端传不同的 tag ,用户鉴权信息等),然后接口层单独处理这些。

    做多个服务是应该的,但安卓端问题导致 oom 是其他的问题,应该用其他方式去解决。把这些资源拿来做负载均衡,做好限流啥的操作,是更优的选择
    gy123
        7
    gy123  
    OP
       2022-03-14 09:39:58 +08:00
    @CEBBCAT 没错,是代码问题,并且只有安卓端会引起的 bug...
    gy123
        8
    gy123  
    OP
       2022-03-14 09:41:33 +08:00
    @Puteulanus 哈哈,前人应该不是蠢到因为这个理由
    gy123
        9
    gy123  
    OP
       2022-03-14 09:42:03 +08:00
    @securityCoding 也算是第一次见到..
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2783 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 09:24 · PVG 17:24 · LAX 01:24 · JFK 04:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.