首页 > > > 微服务设计模式—API Gateway
在认识API Gateway模式之前,我们先看两个大家都熟悉的页面。下面两张图片分别是天猫的PC浏览器端的首页和Android手机APP的首页。

我们通过上面的两个页面来说明一下为什么需要API Gateway。为了简化问题,我们假设在天猫的首页中仅用到了以下几项服务(以下的服务划分、服务提供的功能、接口形式仅仅是假设):
天猫要在PC浏览器和APP上显示首页,需要在客户端通过JS代码或Android代码,向以上服务获取信息,并显示在界面上。但这里存在几个问题:
通过引入API Gateway,可以很好的解决上面的问题。

在客户端和各微服务之间,引入API Gateway为客户端提供友好易用的接口,并将根据业务逻辑向各微服务实例请求。
比如我们前面的例子中,可以由API Gateway为Android APP和PC浏览器分别提供/android/mainpage和/pc/mainpage接口,然后通过REST和RocketMQ与推荐服务、广告服务、消息服务、购物车服务交互以获取需要的信息,并组织成合适的格式后返回给客户端。
API Gateway可以是一个或多个;比如可以为Android和PC分别提供不同的API Gateway。同时,API Gateway自己本身也需要考虑扩缩容和负载均衡。API Gateway与各服务间可以采用融断等机制提高可靠性。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/818/viewspace-3142254/ ,如需转载,请注明出处,否则将追究法律责任。