聊聊架构
京麦是京东商家的多端开放式工作平台,是京东十万商家唯一的店铺运营管理平台,为京东商家提供在移动和桌面端的操作业务,京麦本身是一个开放的端体系架构,由京东官方和ISV为商家提供多样的应用服务。
京麦开发平台是京东系统与外部系统通讯的重要平台,技术架构从早期的单一Nginx+Tomcat部署,到现在的单一职责,独立部署,去中心化,以及自主研发了JSF/HTTP等多种协议下的API网关、TCP消息推送、APNs推送、降级、限流等技术。
京麦开放平台每天承载海量的API调用、消息推送,经历了4年京东的流量洗礼。本文将为您揭开京麦开放平台高性能API网关、高可靠的消息服务的技术内幕。
高性能API网关
京东内部的数据分布在各个独立的业务系统中,包括订单中心、商品中心、商家中心等,各个独立系统间通过JSF(JingdongServiceFramework)进行数据交换。而API网关基于OAuth2协议提供,ISV调用是通过HTTP的JSON协议。
如何将这些内部数据安全可控地开放给外部ISV进行服务调用,以及如何快速地进行API接入实现数据报文转化,在这个背景下API网关诞生。
API网关在架构设计上采用了多层接口,到达网关的请求首先由网关接入层拦截处理,在接入层进行两个主要环节的处理:
网关防御校验:这里包含降级和限流,以及多级缓存等,进行数据正确性校验;
网关接入分发:网关分发会根据网北京白癜风中医医院专治白癜风的专科医院