点击空白处退出提示
作品详情
地址归集引擎面向韵达物流,具有地址计算、地址解析匹配、数据维护等功能,提供地址分单预测能力。由地址解析模块、对外接口模块、基础缓存模块、计算模块、结果归并模块等构成。后台选用了Spring Boot+Spring Cloud技术栈来实现,利用Feign实现对外提供接口,利用kafka实现模块间数据传递以及引擎计算流量削峰,利用redis、内存实现二级缓存动态实时更新,对外接口使用sentinel进行流量监控与白名单权限控制。整体服务无状态多实例上云部署,实现动态扩容。所用中间件使用上云部署实现高可用。
责任描述:
计算引擎模块:
通过kafka获取上游数据文件地址等信息解析结果,串行计算始发网点、录单来源、地址区划信息等前置数据,并行计算1-5段码得到预测分拨、预测网点、预测派送码、预测POI、预测代收点等结果信息。预测结果信息通过kafka发送到下游归并模块消费并推送自动线。
结果入库模块:
地址归集引擎的计算结果按五分钟一个批次生成csv文件,入库模块需要根据每一个批次文件的结束标记flg来将文件读取入库。批次文件数据量平均在20万左右,使用多线程批量写入,单个文件的入库时间在20s左右。入库表只做为内部人员查询预测结果以及统计使用,故采用单库单表。
统计模块:
统计模块以预测结果入库表中的预测数据和追加的快递单号签收信息为基础,统计所有记录中所有规则的准确率和识别率,提供给业务做分析使用。由于入库结果表使用的是mysql,单库单表外加数据量比较大,查询的性能严重影响使用。后续替换成开源的列式存储数据库clickhouse,查询性能提升约80%。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论