从上个月公司乔迁新址以来,在组织结构及其他方面上做了大调整。以服务端为例,有以下几个大事件:
- 开发模型从“固定发版周期”改为“班车模式”
- 新技术经理引进了低代码平台——“快码”
- 服务端代码重构
- 数据库迁移并从MySQL5升级为MySQL8
原定的计划还包括“微服务框架:从Tars改为使用Go Micro”、“支持Kubernetes部署微服务”。不过这两项计划暂未开始实施,所以接下来介绍的架构还不会出现”Go Micro”和”Kubernets”。
本文不会对上面几个事件做深度的剖析,因为这些资料在网上都能查到,只是不同个人/公司具体实施的细节所有不同,而这些细节也不是一两篇文章能说的明白,所以在此也过不过多叙述。本文为读者简单介绍目前所在公司开发的语音社交软件架构,具体细节不便公开发布,仅作技术分享之用。

我相信对绝大多数读者来说图中用到的技术产品都已经耳熟能详了,只是如何搭配在一起使用,这张图片可能会对部分读者产生一些新思路。
“洞察(洞察中心)”:数据来源主要依赖于:
- 客户端埋点上报数据
- 服务端埋点上报数据
- 定时从业务数据库同步数据
数据中心汇总这些数据做实时/定时的计算,服务端也可以通过数据中心的接口获取计算后的数据,以用作业务流程开发。开发/产品/运营会定时在数据中心提供的网页查看各类报表,以了解及分析用户在APP各种使用习惯。
图里其他技术产品的描述及详细资料,读者们可自行在网上查阅。其实本文最重要的部分就是上面那张图片,笔者认为与其花大量文笔去描述架构,不如把用些时间将图片总结出来,这样更方便读者们理解。