随着云原生应用的流行,作为其代表技术的微服务架构,在业内的实践已经逐步走向成熟。国内一线互联网公司都在落地微服务的前沿,或将已有系统拆分为微服务,或用微服务来开发新系统。
Go 以简明的语法、丰富的内置类型、极高的并发性能,成为落地微服务架构的绝佳利器。目前各大公司都在将服务端技术栈往 Go 迁移,作为一线开发者,掌握 Go 微服务,紧跟服务端开发趋势,能更从容应对业务需求,提高个人职场竞争力。
我们基于货运平台来进行实战,下面就来概述货运平台应用的需求。
比如,现在有一家货运公司,它在每个城市都设立了对应的码头,客户可以在码头上寄送货物,还可以预定寄送的货物、寄送的目的地等。在这个寄送过程中,货运公司会根据寄送货物的相关信息分配对应的行程在各个码头中流转,最终送达目的地码头。客户可以在货物寄送的任意节点查看跟踪货物,并最后在目的地码头上领取货物。
这时货运公司就需要开发一个货运平台应用,帮助它管理码头的信息和货物的流转行程,并提供一定的方式让客户查询货物的流转情况。从上述的描述可以分析出货运平台的主要功能有如下:
- 码头管理,货运公司通过应用添加位于不同城市的码头;
- 路线管理,不同码头之间的流转路线需要在系统中指定,货物需要在指定的路上在不同的码头上流转;
- 货物管理,包括货物寄送、货运流转记录、货物提取等;
- 费用计算,根据路线和货物的信息计算寄送成本。
除了主要的业务服务,还有诸如 API 网关、用户服务、鉴权服务、链路监控等基础服务。都会在课程中一一介绍。
under the MIT license. See the LICENSE file for details.