37、api网关-kong

本文详细介绍了API网关Kong的安装配置、动态路由实现、服务发现与负载均衡,以及如何通过JWT进行登录校验。同时,探讨了Kong在反爬和IP黑名单上的应用,确保API的安全访问。通过实例展示了Kong与Consul的集成,以及Kong管理工具Konga的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、API网关简介

  • 什么是api 网关
    • 我们知道在微服务架构中,大型服务都被拆分成了独立的微服务,每个微服务通常会以RESTFUL API的形式对外提供服务
    • 但是在UI方面,我们可能需要在一个页面上显示来自不同微服务的数据,此时就会需要一个统一的入口来进行API的调用
    • API Gateway就在此场景下充当了多个服务的大门,系统的统一入口
  • api 网关应该具备的功能
    • 服务路由
      • 动态路由:API Gateway可以与微服务注册中心连接,实现微服务无感知动态扩容
      • 负载均衡
    • 服务发现
    • 熔断降级:API Gateway对于无法访问的服务,可以做到自动熔断,无需人工参与
    • 黑白名单过滤
  • api网关技术选型
API网关 Kong APISIX Trk Apigee Aliyun
部署模式 单机和集群 单机和集群 单机和集群 不支持单机 RaaS
数据存储 Postgres或者Cassandra etcd Redis Postgres、Cassandra和Zookeeper RaaS
是否开源 Apache 2.0协议 Apache 2.0协议 MPL协议
核心技术 Nginx+Lua Nginx+Lua Golang 未知 未知
私有部署
自定义插件
社区活跃度
支持yaml

二、kong的安装和配置


三、动态路由

1 - kong的端口说明

  • 8001:kong的管理端口
  • 8000:用户访问的端口
  • 1337:konga地址

在这里插入图片描述

2 - 动态路由实现

  • SERVICES
    • Service顾名思义就是我们自己定义的上游服务,通过kong匹配到相应的请求要转发的地方
    • Service可以与下面的Router进行关联,一个Service可以有很多Router,匹配到的Router就会转发到Service中
    • 当然中间也会通过Plugin的处理,增加或者减少一些相应的Header或者其他信息
  • ROUTERS
    • Router路由相当于nginx配置中的location
    • Router实体定义匹配客户端请求的规则,每个路由都与一个服务相关联,而服务可能有多个与之相关联的路由
    • 每一个匹配给定路线的请求都将被提交给它的相关服务
    • 路由和服务的组合(以及它们之间的关注点分离)提供一种强大的理由基址,可以在kong中定义细粒度的入口点
    • 从而引导访问到不同的upstream服务
  • 添加Service

在这里插入图片描述
在这里插入图片描述

  • 为Service添加Router
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无休止符

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值