• 一个程序员的战斗:在线客服系统,一年30个版本更新,收获首批忠实用户


    就像没有一个画匠不想办一场属于自己的画展,没有一个歌者不想写一首自己的歌。
    也许只有为数不多的听众,但是当他怀疑自己时,还是会有忠实的听众支持他继续走下去。

    我在业余时间开发维护了一款在线客服系统,一是兴趣使然,另一方面,正如上文。
    我想如果有一天我离开了这个行业,我也会继续维护更新,作为我曾经做过这个行业的一个见证。

    也许,我可以休息一段时间了

    本文记录我这一年主要的版本更新情况和心路历程。

    经过这一年的战斗,客服系统终于稳定了下来,基本功能满足了用户的需要,稳定性得到了充足的验证,针对各种复杂网络都有了很好的兼容性。

    可是最近因为疫情对生活的影响,以及作为一个35岁的打工人,工作中的种种烦心事,越来越难以沉静下来继续客服系统下一步的规划和开发。

    很想好好休息一段时间,希望客服系统能够为用户提供一些价值吧,就像开头所说的:如果有一天我离开了这个行业,作为我曾经做过这个行业的一个见证。


    最新免费版本下载:https://kf.shengxunwei.com

    2021年3月28日,首个版本发布

    回望一年前的第1个版本,称之为“简陋”毫不为过,仅仅实现了基本的网站访客监测和会话功能,以及基础的历史记录管理、留言管理功能。

    更不提首个版本中,对于消息处理的各种 BUG,因为我在开发环境中无法完全模拟用户的真实场景,以至首个用户在上线使用之后,频繁出现各种不稳定的情况,无数次救火,花了超过一个月的时间,才勉强稳定下来,正常应对日常使用,在这一过程中,第1个用户给予了巨大的耐心和理解,如果没有第1个用户的支持,产品基本稳定不知还要走多少弯路。

    2021年5月16日,发布支持 Linux 的版本

    服务端程序是用 .net core 编写的,原生支持 Linux ,但在此之前,我没有在 Linux 环境下完整部署验证,也没有编写如何在 Linux 上部署的说明书。

    直到 5 月份我遇到了另1个热心的用户,帮助我完成了在 Linux 环境上的全过程部署,测试,并向我反馈了遇到的问题,还告诉了我应该采用的处理方法。

    在我彻底完成对 Linux 版本兼容性的处理后,发布了新的版本,并编写了在 Linux 上安装部署的详细说明书。

    2021年6月5日,发布自动化配置工具

    在安装部署客服系统时,一直需要手工修改一些配置文件,对程序员来说似乎并不是很难,但我遇到了越来越多的普通用户,一直使用记事本修改配置文件就显得繁琐了,于是我做了一个小工具,让用户能够很容易的理解各项配置,并一次性写入对应的目录。

    我把这个小工具与新版本一并发布,在此之后,联系我询问如何配置的用户少了许多,我想他们能够自行完成安装配置了。

    2021年7月4日,发布支持 MySQL 数据库的版本

    随时用户越来越多,特别是使用 Linux 作为服务器的用户越来越多,希望能够支持 MySQL 数据库的反馈意见就像雪花一样飞了过来,堆积在我的邮箱里、QQ上。

    在此之前,系统只支持 SQL Server,虽然其也有 Linux 版本,但是安装使用和大多数用户的习惯有所差异。

    于是我在2021年7月4日,正式发布了新版本,实现了对 SQL Server 和 MySQL 的同时支持,可以在一套程序中通过切换配置文件,切换所要使用的数据库引擎。

    这个版本似乎像是一个里程碑,越来越的用户采用了我的客服系统,大部分使用了 Linux + MySQL 的方案,这件事也让我意识到开源世界的强大。

    2021-10-13,生日当天,我没有闲着,发布了高并发稳定版

    印象中在2021年8月的时候,有1个用户联系我,反馈了一些使用过程中的不稳定现象,经过和对方技术的沟通协调,我震惊了:仅仅使用了我的客服系统两三个月,他们的数据库中就已经存储了超过100万条聊天记录!使用强度之大远远超过我的想像,我自己都从来没有验证过几百个访客同时在线聊天会是什么场景,他们做到了。

    之所以与我联系,还是出现了一些稳定性的故障,如偶发的掉线或者消息中断,不能收到新消息。

    这个问题我和他们对接的时间可能长达两个月左右,问题实在是很难定位,大流量、大并发、还是偶发,极难重现。问题定位和修复的过程很艰难。

    好在,赶在10月13日生日那天,更新了版本,完善的解决了问题。

    2022年1月8日,实现多国语言自动翻译

    大约是2021年下半年,陆续有用户联系我,表示从事外贸行业,希望客服系统能够实现客服与访客之间双向的实时自动翻译。

    一开始我想的比较复杂,拖着没做这个功能,后来询问的朋友越来越多,我仔细调研了一下这个需求,发现通过公有云上的接口实现起来,也不复杂,那段时间工作很忙,一直拖到了年底,才算把这件事完成,在2022年1月8日,正式发布了新版。

    2022年3月13日,在 TCP 通信的基础上,实现纯 HTTP 通信

    随时用户越来越多,时常有用户将服务器部署在香港或其它海外地区,从中国大陆登录客服端时,会出现容易掉线的情况。

    我调查之后发现在香港不管是阿里、亚马逊、微软都无法向中国大陆提供稳定的长连接,且网络一般都比较慢,而一些专门做香港服务器的二线服务商,反而有可能可以通过专线的方式提供更稳定和更高速的连接。

    一些用户重新选择服务商后问题得以解决,但仍然有一些用户,因为各种网络问题,客服端无法维持长连接,为了彻底解决这个问题,服务好每一个用户,我对数据传输层进行了大的改造,通过纯 HTTP 的方式实现了原来的 TCP/IP 报文传输。

    几天前,我发布了最新版本,可以在登录画面选择纯HTTP通信模式了。第一时间,我将这个版本推送给了所有的用户。

    也许,可以休息一段时间了

  • 相关阅读:
    诡异的Integer
    你已经创建了多少个对象?
    静态方法中使用非静态化数据
    静态化初始块的执行顺序
    java中的多构造函数以及类字段的初始化顺序
    java中类的构造方法出错点
    程序员修炼之道读后感
    纯随机数发生器,以及函数重载的问题
    递归判断回文
    使用jQuery操作DOM元素
  • 原文地址:https://www.cnblogs.com/sheng_chao/p/16037370.html
Copyright © 2020-2023  润新知