0

建设微服务API网关的一些实践

随着这些年微服务的流行,API网关已经成为微服务架构中不可或缺的一环。一方面它承担着服务对外的唯一门户,一方面它提取了许多应用的共性功能。整体架构我们的Api网关目前的架构如上所示,可以看到Api网关处于一个什么位置,往上承接所有的南北流量,往下会分发流量到微服务应用或者BFF聚合应用,在BFF规范化之前我们仍然将其视为一个普通微服务应用。目前Api网关实现的功能包括请求分发、条件路由、Api管理、限流隔离、熔断降级、安全策略、监控报警以及调用链追踪等。我们的Api网关基于RxNetty开发,整个流程是异步响应式的,可以达到较高的单机并发。基于少造轮子的理念,Api网关的大部分功能都是结合现有...

阅读全文>>

0

微服务和API网关限流熔断实现关键逻辑思路

今天准备谈下微服务架构和API网关中的限流熔断,当前可以看到对于Spring Cloud框架本身也提供了Hystrix,主流的开源API网关产品类似Kong网关本身也包括了限流熔断能力。当然也有完全较为独立的限流熔断开源实现,比如阿里的Sentinel即是我们经常会用到的限流熔断开源产品,而且可以和Dubbo,SpringCloud等各种微服务框架无缝集成。由于网上大家能够搜索到的关于各开源产品实现的限流熔断功能和使用的文章都很多,因此这篇文章不打算再去介绍这些开源产品,而是从业务场景出发来思考下一个限流熔断功能实现中的一些思路。当然,对于我们常说的资源定义,线程池隔离,滑动时间窗口计算等内容...

阅读全文>>

0

给大家分享一款高性能api网关

在当前的互联网环境下,尤其是移动互联网的时代,用户通过手机APP可访问很多应用,作为应用的服务部分面对日益增多的客户,为了保证用户功能和体验,必然需要采用分布式等架构,以确保更好的性能和更快的软件迭代。API网关也变得必不可少,他可以统一地做一些权限、流量控制等,让业务研发专注业务服务即可,无需关注权限等问题。使用API 网关也有一系列的好处:聚合接口使得服务对调用者透明,客户端与后端的耦合度降低聚合后台服务,节省流量,提高性能,提升用户体验提供安全、流控、过滤、缓存、计费、监控等 API 管理功能今天我们介绍APIOAK,它提供了几乎可以媲美原生 Nginx 的强劲性能,同时通过插件机制提供...

阅读全文>>

0

API网关:API 网关从入门到放弃

前言假设你正在开发一个电商网站,那么这里会涉及到很多后端的微服务,比如会员、商品、推荐服务等等。那么这里就会遇到一个问题,APP/Browser怎么去访问这些后端的服务? 如果业务比较简单的话,可以给每个业务都分配一个独立的域名(http://service.api.company.com),但这种方式会有几个问题:每个业务都会需要鉴权、限流、权限校验等逻辑,如果每个业务都各自为战,自己造轮子实现一遍,会很蛋疼,完全可以抽出来,放到一个统一的地方去做。如果业务量比较简单的话,这种方式前期不会有什么问题,但随着业务越来越复杂,比如淘宝、亚马逊打开一个页面可能会涉及到数百个微服务协同工作,如果每一...

阅读全文>>