十一、API网关技术选型

API网关的由来

  1. 微服务提供的 API 的粒度通常与客户端所需的粒度不同
  2. 不同的客户端需要不同的数据
  3. 微服务实例数量及其位置(主机+端口)动态变化
  4. 服务划分会随着时间的推移而变化
  5. 服务可能会使用多种协议,有些是非 web 友好协议

不同网关

对比项Spring Cloud GatewayKongzuul
编程语言JavaC + Luajava
成熟度
使用成本较低
IO模型nettyepollBIO/ Netty(epoll)
适用场景网关网关网关

Spring Cloud Gateway

SpringCloud官方,对SpringCloud Gateway 特征介绍如下:

(1)基于 Spring Framework 5,Project Reactor 和 Spring Boot 2.0

(2)集成 Hystrix 断路器

(3)集成 Spring Cloud DiscoveryClient

(4)Predicates 和 Filters 作用于特定路由,易于编写的 Predicates 和 Filters

(5)具备一些网关的高级功能:动态路由、限流、路径重写

Kong

Kong是一款基于OpenResty(Nginx + Lua模块)编写的高可用、易扩展的,由Mashape公司开源的API Gateway项目。Kong是基于NGINX和Apache Cassandra或PostgreSQL构建的,能提供易于使用的RESTful API来操作和配置API管理系统,所以它可以水平扩展多个Kong服务器,通过前置的负载均衡配置把请求均匀地分发到各个Server,来应对大批量的网络请求。

Kong主要有三个组件:

  1. Kong Server :基于nginx的服务器,用来接收API请求。
  2. Apache Cassandra/PostgreSQL :用来存储操作数据,推荐使用PostgreSQL 。
  3. Kong dashboard:官方推荐UI管理工具,当然,也可以使用 restfull 方式 管理admin api。

zuul

Zuul网关是将一个业务系统内部的多个微服务进行封装,对外提供唯一访问入口,实现系统内高内聚,系统间通过网关交互达到松耦合的效果。它可以和Eureka、Ribbon、Hystrix等组件配合使用,实现身份认证与安全、审查与监控、动态路由、压力测试、负载均衡、流量控制等功能

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值