首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
TapCode
V2EX  ›  程序员

多客服系统,服务端用什么编程语言和数据库搭配合适?

  •  
  •   TapCode · 55 天前 · 1235 次点击
    这是一个创建于 55 天前的主题,其中的信息可能已经有所发展或是发生改变。

    公司上了一个项目,打算自己做一套多客服系统,前期公司内部自用,后期了打算接入替换之前购买的客服系统。 目前我们要配合做服务端,服务端编程语言不知道选择哪个?数据库选择哪个?

    1. 要求就是高并发,一秒上百个客服接入(甚至峰值 1-2 千),多用户同时聊天传输文件。
    2. 目前团队技术已有或者可以通过学习掌握的编程语言:Go,Python,PHP,Java,JavaScript ( nodejs )
    3. 数据库 MongoDB,MySql,MsSql,PostgreSQL
    4. 还有哪些需要注意的坑

    非常感谢!

    23 回复  |  直到 2019-12-04 14:40:15 +08:00
    TapCode
        1
    TapCode   55 天前
    有大佬给个思路没?用哪个语言+数据库更合适?,感谢!
    tadtung
        2
    tadtung   55 天前   ♥ 1
    客服系统的话,php+mysql 的挺多的。 java python 的开源客服系统也不少,看你自己喜欢了。

    如果想低成本,国外买一套或者这开源的 做二开就行。
    TapCode
        3
    TapCode   55 天前
    @tadtung
    感谢,能推荐几个还不错的开源客服系统吗?我平时不了解这个细分行业。
    tadtung
        4
    tadtung   55 天前   ♥ 1
    @TapCode 名字忘了,也是几年前二开、汉化过,你 google 和 GitHub 搜一下,时间比较久了,现在国外开源的应该更多。
    jimrok
        5
    jimrok   55 天前   ♥ 1
    java 吧,如果你的团队 java 的人多,数据库留存的话,Mysql 和 PostgreSQL 都可以。
    misaka19000
        6
    misaka19000   55 天前   ♥ 1
    你目前的性能还不到需要考虑语言的程度,所以选你一个你最熟悉的就行了
    tadtung
        7
    tadtung   55 天前   ♥ 1
    @TapCode 刚看了一下,php livechat 现在依旧还在,我以前二开和汉化的就是这个。
    另外 Rocket.Chat 这个应该是最热门的。 https://github.com/RocketChat/Rocket.Chat

    还有其他很多的,你自己搜下就行。
    opengps
        8
    opengps   55 天前   ♥ 1
    峰值 1000-2000,这得相当大型的系统了
    opengps
        9
    opengps   55 天前   ♥ 1
    这个业务规模下,架构的优秀指标要比语言的选型指标更重要了
    TapCode
        10
    TapCode   55 天前
    @opengps
    系统不是很大,就是商城的客服,目前也就赶上店庆和双十一的时候能达到峰值 1-2k,平日里每天的高峰期也就 3-5 百,闲暇时段 几十个而已。

    @tadtung
    非常感谢,这边去看一下

    @misaka19000
    确实是,但是公司开发好以后打算直接移植替换之前买的 saas 版的客服系统,所以一开始还是估算的大一些,语言选的好一些,这样后期麻烦也少。

    @jimrok
    感谢
    lhx2008
        11
    lhx2008   55 天前 via Android
    同时一两千和一秒一两千可不是一个概念吧,同时一两千挂个消息队列,一秒能出 50 个消息算多了,直接写 mysql 也不慢
    janxin
        12
    janxin   55 天前
    为什么不买现成的...
    lhx2008
        13
    lhx2008   55 天前 via Android
    所以相比高性能,可靠性才是重点,怎么合理地容灾,这个又是一个基础设施的问题了
    lc7029
        14
    lc7029   55 天前
    追求安全和高可用的话,Oracle RAC。
    重点是买完授权出问题有人背锅
    TapCode
        15
    TapCode   55 天前
    @janxin
    因为我们之前买的长期没人维护,问题还蛮多,而且还要按钮缴费。公司想直接自己先做一套最小上线版的,不需要乱七八糟的功能,如果效果好,会替换之前买入的。

    @lhx2008
    确实是,感觉问题还蛮多
    npe
        16
    npe   55 天前 via iPhone
    Java 吧, 生态完善。IM 用 Netty,DB 用 newSQL,MQ 用 RocketMQ。后期也顶得住。
    hzgit
        17
    hzgit   55 天前
    用什么语言取决于成本,团队的学习成本,后期的维护成本,招人的成本等等等等
    zzcworld
        18
    zzcworld   55 天前
    Go 加 Postgresql 就行
    815979670
        19
    815979670   55 天前
    建议 Go 不建议 php+swoole
    laminux29
        20
    laminux29   55 天前   ♥ 1
    1.客服系统的业务有点像火车站售票大厅,单个用户在窗口买票时,无论流量还是 CPU 压力,其实并不大,而且每个业务实例之间的关联度还很低,多买票窗口的并行度非常高。麻烦的地方只有一个,就是新用户进来时,需要排队,同时快速通过负载均衡选一个空闲的窗口进行买票。

    2.通过上诉分析,技术选型也就简单了。最重要的是前端排队,要能撑起来 1-2k 的峰值。建议 C++,选择一个轻量级内存数据库模块,来做排队前级,后级就是 java 或 Python 甚至 PHP 做的窗口,数据库用龟速 mysql 都行,流量大时多开几个节点。
    PureWhiteWu
        21
    PureWhiteWu   55 天前
    Go 最合适。
    PureWhiteWu
        22
    PureWhiteWu   55 天前   ♥ 1
    Go + MySQL,不选 pgsql 的原因就是生态不如 MySQL。

    选择的时候生态很重要,pgsql 虽然理论上比 MySQL 好,但是各种支持、工具之类的都不如 MySQL。
    wangyzj
        23
    wangyzj   55 天前
    语言只是手段
    选择最适合团队的就好了
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2316 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 23ms · UTC 13:57 · PVG 21:57 · LAX 05:57 · JFK 08:57
    ♥ Do have faith in what you're doing.