根据网上公开的一些信息,顺丰从2018年开始对自己的app和软件架构进行了升级。目前看到的APP如下,我们通过表象去研究顺丰软件架构演进特点。




顺丰架构人员 顺丰架构图_架构


从APP上架的功能,主要有主页,查快递,寄快递,超级福利和我四大模块业务功能。

根据我在面向互联网系统架构方法一文中所提到的现在目前Java架构四大框架

基础架构

业务架构

数据架构

部署架构

我们通过填空题看看顺丰在这方面有什么改进。

基础架构方面:

从2018年开始,懂得了对架构进行规划,统一,开始描绘发展方向,使用了统一的工具和流程进行开发,搭建统一的基础架构。

通过成了架构委员会,把握基础架构的方向。不过自研的还是很少,主要是借助开源的能力。没有什么核心技术。


顺丰架构人员 顺丰架构图_基础架构_02


业务架构方面:

顺丰以业务架构为驱动,而且是重点,就是上面第一张图APP里的各种业务功能,主要使用微服务的方式进行搭建。开始进行一些公共组件的封装。做了一些质量把控。这也是复合当下软件研发方法的。不过没什么创新。


顺丰架构人员 顺丰架构图_Powered by 金山文档_03


数据架构方面:

顺丰讲的是数据中台或者功能中台,顺丰把它归类为应用架构。我觉得这一块做的马马虎虎。在数据架构方面中台是一个思路,去中台化为网格化也是一种思路。中台的思路就是把计算资源和计算能力集中到一个平台中,对各终端进行服务。优势是:数据资源丰富,集中计算,输出更丰富的接口和标签。缺点是:集中程度太高,计算压力较大,形成数据生产力速度较慢。

而网格化可能更适合顺丰的业务,一切软件唯快不破。


顺丰架构人员 顺丰架构图_顺丰架构人员_04


部署架构方面:

顺丰使用了云生态,租用,托管的方式,应用主要以K8S的方式部署为主。这也是复合当下开源技术主流的,反正也是没什么创新,3000多人的研发团队,别人怎么干顺丰也怎么干,还是比较能接进当下流行开源技术的。大概技术特点就是这样。


顺丰架构人员 顺丰架构图_Powered by 金山文档_05