探究架构之 - 45张图玩转Kong Gateway,建议收藏系列 (二)

简介: 探究架构之 - 45张图玩转Kong Gateway,建议收藏系列 (二)

Kong中的名称概念解释#


Service:对应着后端的一个服务,或者是一个App。

Route:路由,不同的route对应着service中的不同接口。

Upstream:和nginx中的upstream擦不多,都对应着一组服务节点。

Target:对应着一个api服务节点。


# upstream 对应kong中的Upstream
upstream default_backend {
    # server 对应着Kong中的一个target
    server 10.4.4.21:81    max_fails=3 fail_timeout=10s;
    server 10.4.4.22:81    max_fails=3 fail_timeout=10s;
}
server {
    server_name *.bairimeng.com;
    # location / 对应着Kong中的一个route
    location / {
        proxy_pass http://default_backend;
        proxy_set_header Host       $http_host;
        proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
    }
}


使用Konga添加一个服务#


添加upstream



往service中添加服务实例



添加service



给service添加后端真实的路由



验收访问:http://10.4.7.103:8000/serverAddr



10.4.7.103是kong所在机器的地址

8000是kong对外暴露的接受http请求的端口

如果service的path为/的话,访问路径则是:http://10.4.7.103:8000/serverAddr/serverAddr


Kong身份认证插件#


Basic Auth#


Kong支持针对RouteService两种粒度添加Basic Auth认证的方式



比如你添加的Basic Auth插件后,可以去访问该路由去验收结果



需要输入用户名和密码之后才能访问。

这里的用户名密码其实就是Kong中的Consumer的Basic Auth的用户名密码。

Step1:创建Consumer



Step2:为第一步中创建的Consumer创建Basic Auth的用户名密码。



然后使用这个用户名和密码就能验证成功,成功访问该接口。


Jwt#


jwt的验证可以在service、route、consumer三个维度上添加。

例如下:

Step1:给单个route添加jwt验证



Step2:给想访问Step1中的route的Consumer添加Jwt凭证



注意记录上面的 key:bairimeng、secret:bairimeng-secret


Step3:使用key和secret签发密钥:https://jwt.io/



验证

1、如果没有执行上面的Step2的话,请求该接口返回值如下:



2、如果jwt非法的话,请求该接口返回值如下:



3、全部正常返回值如下:



Key Auth#


key auth 也是Kong提供的一种身份证的身份。

它会对url中的参数key为apikey的值进行校验,如果合法的话则方行。



apikey的具体值需要在consumer中添加



如果没有合法的key,将得到如下的返回值



相关文章
|
2月前
|
数据库 Android开发 开发者
构建高性能微服务架构:从理论到实践构建高效Android应用:探究Kotlin协程的优势
【2月更文挑战第16天】 在当今快速迭代和竞争激烈的软件市场中,微服务架构以其灵活性、可扩展性和独立部署能力而受到企业的青睐。本文将深入探讨如何构建一个高性能的微服务系统,涵盖从理论基础到具体实现的各个方面。我们将重点讨论服务拆分策略、通信机制、数据一致性以及性能优化等关键主题,为读者提供一个清晰、实用的指南,以便在复杂多变的业务环境中构建和维护健壮的微服务体系结构。 【2月更文挑战第16天】 在移动开发领域,性能优化和流畅的用户体验是至关重要的。随着技术的不断进步,Kotlin作为一种现代编程语言,在Android开发中被广泛采用,尤其是其协程特性为异步编程带来了革命性的改进。本文旨在深入
|
2月前
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
117 0
|
2月前
|
设计模式 开发框架 编译器
【深入探究Qt内部架构】QObject、事件循环与Q_OBJECT宏的协同作用(二)
【深入探究Qt内部架构】QObject、事件循环与Q_OBJECT宏的协同作用
38 0
|
8月前
|
SQL Java Nacos
SpringCloud+SpringCloudAlibaba+SOA架构搭建,使用nacos注册中心,gateway网关配置
SpringCloud+SpringCloudAlibaba+SOA架构搭建,使用nacos注册中心,gateway网关配置
173 0
|
9月前
|
负载均衡 Java API
现代微服务架构的入口:深入探索 Spring Cloud Gateway
在微服务架构中,一个强大而灵活的 API 网关是不可或缺的。Spring Cloud Gateway,作为 Spring Cloud 生态系统的一部分,为开发人员提供了一种现代化的方式来管理和路由微服务请求。本文将为您详细介绍 Spring Cloud Gateway 的核心概念、特性以及为何它在微服务架构中如此重要。
144 0
|
10月前
|
缓存 负载均衡 Dubbo
SpringCloud Gateway 在微服务架构下的最佳实践
SpringCloud Gateway 在微服务架构下的最佳实践
kong gateway 授权插件配置
kong gateway 授权插件配置 auth
235 0
|
算法 API
kong gateway 插件使用
kong 插件使用, 其中限流插件是默认安装的
215 0
探究架构之 - 45张图玩转Kong Gateway,建议收藏系列 (三)
探究架构之 - 45张图玩转Kong Gateway,建议收藏系列 (三)
240 0
探究架构之 - 45张图玩转Kong Gateway,建议收藏系列 (三)
|
3天前
|
存储 监控 API
构建高效微服务架构:后端开发的现代实践
【5月更文挑战第9天】 在本文中,我们将深入探讨如何在后端开发中构建一个高效的微服务架构。通过分析不同的设计模式和最佳实践,我们将展示如何提升系统的可扩展性、弹性和维护性。我们还将讨论微服务架构在处理复杂业务逻辑和高并发场景下的优势。最后,我们将分享一些实用的工具和技术,以帮助开发者实现这一目标。