日均调用4亿次!百递云•API开放平台高可用架构系统构建实践

​导读:API作为不同应用程序之间的桥梁,通过简单对接,即可让不同的企业平台之间自动化完成跨企业协作。快递100旗下B端品牌“百递云”,早在2010年开始投入研发快递物流查询订阅API,创造性推出支撑高并发、高可用、安全可靠、分布式的API开放平台,目前日均调用量已超过4亿次,是国内API经济的引领者与实践者!

01 API与API经济

API,即应用程序编程接口,是一种计算接口,它允许两个不同的应用程序在没有用户干预的情况下相互通信。通俗地说,它是不同应用程序之间的一座桥梁,可以保持两边消息互通,且不间断。

举个例子,一个程序员说中文,另一个程序员说英语,两人因为语言不通很难交流。而API 是一个既懂中文又懂英语的翻译器,可以在两个程序员之间传递消息。API相当于是一种双语软件,可以在不同程序的两个界面之间自由传递信息,让双方获取最新信息,相互理解。

API Economy(API经济)是IBM在2015年提出,即企业把自己转型为一个数字平台,而把平台能力以API(应用程序编程接口)的方式对内和对外提供,以让内外部的应用和其它平台能够接入和调用该企业的能力。在API Economy中,不同的企业平台之间通过API互相连接,自动化完成跨企业之间的协作,这也是可编程经济的概念。

作为国内首家快递物流信息查询网站,快递100早在2010年就投入研发快递物流查询订阅API,并迅速实现商业化,是国内API经济的引领者与实践者;目前快递100的API日均调用量超过4亿次,引领快递物流信息服务,已成为中国快递物流信息基础设施。

02 快递物流领域的API需求

伴随着电子商务的快速发展,消费者对快递物流的要求也越来越高。国内快递行业群雄并起:国企有中国邮政,民营知名度高的有顺丰、京东、三通一达(中通、圆通、申通、韵达)、极兔,以及刚刚宣布亲自下场的阿里系菜鸟速递,还有区域性联昊通、飞快达等众多快递公司。

无论是电商平台还是企业自建商城,快递物流信息能力作为基础服务,是电商交易类产品底层架构的重要组成部分。消费者在平台下单后,平台最需要考虑的是如何快速打单发货、获取并跟踪物流信息并可视性地呈现给消费者、根据快递签收状态确认冻结资金解冻、与商家及时准确结算、财务确认收入、快速处理用户退货等。如果要逐一跟每家快递公司进行系统对接,既费时又费人力,还要长期投入维护系统升级,快递公司接口也会因所有企业都来对接而承受不可承受之重。

基于企业对物流信息连接的刚性需求,快递100集成聚合了全球1500多家快递公司构建了一个快递物流信息基础设施,基于此基础底座与能力,面向企业客户重磅推出“百递云”系列产品——百递云·API开放平台、百递云·企业快递管理SaaS、百递云·电商快递管家SaaS,满足企业“查快递、寄快递、管快递”三大场景的快递物流管理需求。

百递云•API开放平台提供了企业级快递物流信息集成解决方案,帮助企业打通物流环节与商城系统的断点问题,是业内API Economy模式的引领者与践行者,同时作为企业与快递公司之间的超级连接器,助力企业实现数字化升级,打造中国快递物流管理现代化先锋!

百递云·API开放平台提供企业级的快递接口服务及部分SaaS化应用,基于专业的软、硬件技术研发,打造了丰富的查快递Open API 接口,包括快递实时查询与订阅推送、快递地图轨迹查询推送、快递电子面单获取打印、电商平台订单打单发货、快递公司寄件聚合服务、同城配送/跑腿聚合服务、国际跨境物流聚合服务、面单信息智能识别提取等快递物流全场景API能力,企业开发者、架构师、产品经理、运营经理等专业人才一次集成对接,即可获得所有快递公司的物流信息能力。

03 系统高可用架构设计

API开放平台由于其自身业务特点,诞生时就要能支撑高并发、高可用、安全可靠、分布式等特性,否则就会重蹈中心化架构系统的老问题,成为接入系统间的交互瓶颈。

百递云•API开放平台在高可用架构设计上注重全链路的高可用,包括网络层、应用层和存储层。另外,既然是开放平台,接口也就是开放给所有人的(这里的所有人并不是谁都可以来调,需要在开放平台注册,是平台合法用户,平台给注册用户颁发一套appId和appSecert,请求时用来认证是不是合法用户),安全校验、身份认证、鉴权、流控、加解密等也是系统设计必须要考虑的因素。

(1)   网络层高可用设计

网络层采用异地容灾设计,在异地使用XenServer搭建私有云主机,两地机房通过专线隧道连接。通过企业防火墙进行物理硬件安全保障下层应用,为应用层提供高可用的硬件支持。

(2)   应用层与存储层高可用设计

应用设计采用目前主流的微服务化框架设计,前置服务使用LVS+Nginx实现高可用负载均衡服务,应用服务使用Jekenis +K8S+Docker,实现微服务自动化扩容部署,利用高效开源组件实现统一配置中心,高效消息通讯。存储层系统使用Postgresql集群作为关系性数据存储,使用Redis集群实现应用中间缓存处理,利用ES集群进行数据操作采集分析,文件存储采用NFS网络存储。

(3)   安全性设计

在安全校验上对请求方的IP合法性进行校验,将认为存在不合法行为(单位时间内频繁请求、请求频繁报错,触发风控等)的IP纳入到黑名单IP集合中。

用户身份认证采用颁发的key和secret,用户请求业务接口时传key和通过接口参数+key+secret的签名,平台校验key和签名sign的合法性,校验通过则放行。

不同的用户具有不同的接口调用范围权限(电商平台订单打单发货、快递公司寄件聚合服务、同城配送/跑腿聚合服务等),不同用户状态下对接口调用范围进行控制(审核中、已注销、用户违规被封禁、被冻结等),这部分则通过用户鉴权来实现。

系统针对接口级别 、用户级别 、系统级别设置了3个粒度的流控来限制每秒调用量。

另外,API的调用全部采用https加密传输,同时对传输的参数进行MD5的加密签名验证,保障数据传输的安全和不可篡改。

04 系统性能与应用情况

传承金蝶技术基因,基于13年行业专注,当前百递云•API开放平台日均调用量已超4亿次,吞吐量近100万/秒,接口可用性大于99.97%,累计服务B端客户超250万家,包括平安银行、招商银行、建设银行等金融企业,腾讯、哔哩哔哩、携程等头部互联网企业,快手、小红书等电商平台,蒙牛、格力等消费品企业,经受住了头部企业的考验,形成了产业互联网级的安全性和可靠性,沉淀了行业领先的最佳实践与口碑积累。

合作客户只需要对接百递云•API开放平台,即可轻松获得快递100在快递物流信息领域的所有技术经验和能力,构建强大可靠的快递物流模块,加速程序开发过程,让开发者不再纠结不熟悉的快递物流领域的底层技术细节,更多专注于产品本身功能的研发和实现,是帮助企业提升研发效率、降本增效的首选!

快递100亮相GIAC全球互联网架构大会

B站、海管家、TCL、哈啰等客户展台交流点赞

如果您想了解快递物流API更多技术内容,请通过我们的企微与我们共创交流!有关百递云•API开放平台的资料及技术接入示例,可点击阅读原文访问快递100官方github资源库(https://github.com/kuaidi100-api)。

猜你喜欢

转载自blog.csdn.net/msup789/article/details/131855839