通过API网关实现微服务管控-限流,熔断和降级_科技频道_东方资讯

  • 时间:2020-11-21 02:32  来源:未知   作者:admin   点击:

今天准备谈下基于API网关来实现微服务治理管控中的服务限流,熔断和降级方面的内容。在前面谈微服务架构的时候也谈到过类似通过Hystrix,Sentinel来是服务限流熔断。包括也不断地在谈去中心化架构和服务网格化。

但是通过API网关来实现微服务治理,短期仍然是一个必要选择。

其原因主要体现在以下几个方面:

其一是场景需求,即面对一个大集成项目,或多个开发商进行协同集成的场景,3374财神网站,采用API网关是必须的。一个开发商内部可以去中心化,但是多个开发商间想要去中心化不容易。

其二是在微服务架构开发里面,单个微服务应该尽量简单,就是实现业务规则逻辑和暴露API接口服务能力。但是当前的微服务开发框架,在实现类似限流熔断等的时候,基本都需要对已经开发完成的微服务进行相关的配置修改或增加注解等。

其三对于ServiceMesh服务网格当前还没有大足够成熟和大面积应用的阶段,但是API网关本身已经足够成熟并得到大量项目实践验证。基于API网关进行服务接入和管控

对于API网关我前面已经写过很多文章说明,在这里不再重复描述。对于今天要说明的微服务治理管控我们假设如上图的场景,即:有订单,用户和产品三个微服务暴露6个接口,其中3个属于内部使用走注册中心接入。另外三个接口注入接入到API网关,网关代理封装后暴露Http Rest接口提供外部小程序,APP和CRM三个独立的应用访问。

在这个场景下三个微服务仅仅提供API接口注册,对于具体的API限流熔断都在API网关上面进行灵活的配置和管理,而这些配置和管控对微服务本身无任何侵入。

对于API网关本身也集群部署确保可靠性和性能,因此后续的限流熔断实际是基于整个集群入口总流量进行。其次,API网关的限流熔断,不仅仅是访问雪崩,包含后端的微服务模块,另外一个重要作用是保护API网关本身的性能和可靠性。

为了方便叙述,假设API网关接入并暴露了查询订单,查询用户,查询产品三个API接口服务。

对于限流熔断的基本实现思路可以先参考我前面文章:

微服务和API网关限流熔断实现关键逻辑思路限流,熔断和降级区别

先回顾下限流,熔断和降级具体的内容和区别。