京麦开放平台架构演进与优化之路

简介

—— 从全视角以时间线的方式,介绍京麦开放平台的发展演变和架构体系,重点讲解京麦HTTP网关和京麦TCP平台,如何实现API快速接入承载海量HTTP请求调用,以及如何建立TCP全双工的长链接会话通道;深度剖析基于Zookeeper的网关Register Center、基于Netty的平台TCP长链接Container、基于ElasticSearch、HBase的消息Search Engine等。

京麦(jingmai.jd.com)是京东面向卖家的多端多角色一站式协同工作台,其核心是为商家整合:店铺管理工具、经营咨询消息、商业伙伴关系,借此提升卖家的经营效率,促进彼此间的合作共赢。

京麦从2014年初创,逐步完成平台化转型,实现对外服务开放。

开发版图

不断优化京麦插件流程,搭建京麦开发者中心、运营中心、服务市场等,提供应用发布、订购、支付、结算等服务能力,构建京麦新生态。为商家提供多款服务应用,日活跃商家 1万+。

以打造高可用高性能服务以己任,优化网关调用、细化错误码、可追踪的调用日志等,开放服务接口 500+,日调用量上亿次,99% 的调用性能在 200ms 以下。

平台版图

完成平台与网关的隔离,保证平台服务的稳定性。改用 TCP 通信框架,以 ProtoBuf 为传输协议,建立 Session 会话机制,实现请求响应、通知应答的上下行通道,保持长链接在线 1万+。

重构消息通讯模型,以基于 ElasticSearch 存储的消息云端,实现 TCP 在线通知和 IOS Push 的半推半查的消息推送模型,并通过互通协议实现消息与插件的协同办公模式。

① 基于OAuth2的插件授权流程

京麦插件授权采用 OAuth2 协议,OAuth2 在客户端与服务提供商(Resource Server)之前,设置了一个授权层(Authorization Layer)。客户端不能直接登录服务提供商,只能登陆授权层,以此将用户和客户端区分开来。客户端登录授权层所用的令牌(token),与用户的密码不同。用户在登录的时候,指定授权层令牌的权限范围和有效期。

京麦通过用户在启动插件时,客户端通过授权层生成用户令牌(Token),用户通过令牌访问服务提供商获取数据。

参考:An Introduction to OAuth 2

② 基于HTTP和TCP长连接的消息推送

This chapter requires login to view full content. You are viewing a preview.

Login to View Full Content

Course Curriculum

1

2013 京麦平台

负责京麦(jm.jd.com)从0到1的平台化转型,打造面向商家一站式工作台,为京东商家提供移动和桌面端的操作业务;负责京麦服务端研发,构建高可用的 TCP 网关,演变成为支撑数百万级长连接的架构平台。
3

2018 京东服务市场

负责京东服务市场研发(fw.jd.com)从1到2的发展,完成京东服务市场和京麦插件市场的系统融合,进行 SOA 微服务化改造,演变成为支持千万级订单、亿交易额的交易服务平台;负责平台国际化改造,支持海外站点快速部署。
4

2019 阿里云通信

负责阿里云(aliyun.com)云通信短信全球对客、对供网关从1到2的架构演进和研发落地,聚焦云通信规模化、平台化、全球化的发展方向,深度参与和推动生态平台化项目、CMPP磐石项目、国际站稳定性专项等。
5

2025 阿里云飞天实验室

负责 Qwen Chat(chat.qwen.ai)服务架构的演进,支撑百万级 DAU 的用户流量,保障聊天会话的安全性与系统稳定性;提供 Agent 与 LLM 能力,并全面兼容 Qwen 全系列开源模型,为用户提供多样化的智能服务。