查看原文
其他

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

The following article is from 百递云 Author 百递云技术团队

导读

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)。

扫码交流  共创共赢





【百递云】是快递100旗下B端品牌。快递100是中国快递物流信息云服务领导品牌,国家级高新技术企业,工信部重点实验室工作组成员单位。传承金蝶技术基因,基于12年行业专注,快递100 集成聚合了全球1500家快递物流公司,自2010年以来累计为超过250万家电商企业、泛电商企业、品牌企业、政府与公共组织提供了“全场景、全云化、高可靠、高价值”的一站式物流信息云服务。


快递100 始终坚持“以客户为中心,以技术创新为引领,以新型信息基础设施为产业定位,以产业互联网级高可靠性与安全性为安身立命之本”,立志做“最值得信赖与托付的快递物流信息云服务平台”,巩固先进企业与追求高可靠性企业的首选品牌地位。


继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存