Kong(二)通过案例快速了解使用

news2024/9/23 1:22:27

一   Kong安装目录结构的说明

++++++++++++++  '后续看看里面有啥'  ++++++++++++++ 

/usr/local/bin            --> 'kong'命令的路径

/etc/kong/                --> 'kong默认会寻找配置文件'

/usr/local/kong           --> 'Kong的日志' -->/usr/local/kong/logs

/usr/local/lib/lua/5.1

/usr/local/lib/luarocks

/usr/local/share/lua/5.1

/usr/local/openresty     -->'openresty'自带的库

Postgresql'默认'端口: '5432'

二   Kong 快速开始

说明: 通过一些'简单的案例'快速熟悉Kong相关的'concepts'

(1)动态负载均衡

①   假定在nginx.conf中

upstream wzj {
  server 172.25.2.100:8010  weight=1;
  server 172.25.2.100:8011  weight=2;
}

server {
  # listen 80;  #kong中是统一的listen(8000)
  server_name kongtest.wzj.com;
  location /ceshi {
     proxy_pass  http://wzj
  }
}

思考: 如何在'Kong'中实现?

②  通过Kong Admin API进行上述配置

Kong 所有的操作都是基于'HTTP Restful API (通过methoad的语义进行区分)'进行的

备注: 同一个'API',不同的'method [eg:GET、POST、PATCH]'含义不同

补充: API便于'批量'和'自动化'

官方Admin API 地址

③  API快速创建upstream和target

upstream wzj {
  server 172.25.2.100:8010  weight=1;
  server 172.25.2.100:8011  weight=2;
}

Upstreams API详细解读

说明: 创建一个名字叫作'wzj'的'upstream_id'

说明: 往'wzj'中添加'两个traget'

核心'API': /upstreams/{upstream name or id}/targets/

++++++ '修改targets'  ++++++

curl -w '\n' -X PATCH \ 

'http://localhost:8001/upstreams/wzj/targets/172.25.2.100:8011' \

--data "target=192.168.122.1:8011"

③  创建service和route

Service 详细API操作

说明: 建立upstream和service的'关联',这里是构造'proxy_pass'

Route 详细API操作

说明: 创建一个'location'为'path'的route

API: /services/{service name or id}/routes

说明: 一个'service'可能有多个'路由策略'

④  用户访问

8001: kong的'管理'默认端口

8000: 用户'访问'的默认端口('统一入口')  --通过 'proxy_listen' 修改

1337:'konga'默认地址

说明: 通过'host'和'route'唯一确定最终'接收请求'的路由

强调: 是'动态负载均衡',修改配置并没有进行'reload|restart'的操作

⑤  小结

(2)Basic Auth 基本身份认证

官方 Basic Authentication 插件

Plugins Admin API

①  新增插件

重点:插件作用'不同'的作用域

说明:可以在'服务、路由、全局(不同的粒度)'上配置,后续演示从'Konga'的UI配置

++++++++++++  '这里在服务上配置插件'  ++++++++++++

说明: 这里所有的'All Consumer'都可以访问这个'插件'

②  创建一个tony 的Consumer

+++++++++++++++  'Consumer是什么'  +++++++++++++++

1)理解:将'Consumer'与'用户'进行'一一映射',即一个consumer'代表'一个'用户或应用'

2)对于KONG而言,'Consumer的核心原则'是您可以为其'添加插件',从而'自定义'它的请求行为. 

3)或许您会有'一个手机APP应用',并为他的'每个版本'都定义一个consumer;

   又或者您有'一个或几个'应用,并为这些应用定义'统一个consumer'

   又或者可以基于'安卓|IOS'

4)Consumer是'使用Service'的用户

  eg: gitlab账号就是一个Consumer是使用gitlab Open API Service

5)Consumer的核心原则是您可以'为其添加Plugin插件',从而自定义他的请求行为;

6)Consumer下可以'创建多个APP'(eg:您的gitlab账号中您可以创建'多个'gitlab Apps )

7)用户是与使用您的API的个人相关联,可用于'追踪、访问管理'等

Consumer Admin API

③  创建一个Basic凭证

备注: 一个'Consumer'下可以添加多个'凭据'

 

④  客户端测试

(3)Kong的限流配置

说明: 后续'补充'

①②③④⑤⑥⑦⑧⑨⑩

(4)黑白名单配置

①②③④⑤⑥⑦⑧⑨⑩

三   Kong相关参考

kong github官方地址

kong中文翻译文档

知乎上关于kong的集合

kong参考地址

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/59743.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[附源码]Python计算机毕业设计Django人事系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

【Leetcode】拿捏链表(五)——138. 复制带随机指针的链表

作者:一个喜欢猫咪的的程序员 专栏:《Leetcode》 喜欢的话:世间因为少年的挺身而出,而更加瑰丽。 ——《人民日报》 目录 138. 复制带随机指针的链表 138. 复制带随机指针的链表 138. 复制带随…

MySQL8.0 OCP最新版1Z0-908认证考试题库整理-005

原题 Choose four.A newly deployed replication master database has a 10/90 read to write ratio.The complete dataset is currently 28G but will never fluctuate beyond -10%.The database storage system consists of two locally attached PCI- E Enterprise grade di…

单纯形法的补充与代码实现

线性规划中,我们介绍了三种求解算法——单纯形法、对偶理论和内点法。传送门:线性规划之单纯形法 线性规划的对偶理论 线性规划之内点法其中单纯形法要建立在标准型上,并且开始迭代要求有一个基本可行解。如果系数矩阵A规模较大,有…

阿里云OSS依赖无法导入的问题

版本背景:springboot:2.4.12,spring-cloud:2020.0.1 在使用阿里云对象存储OSS服务时候,根据官方参考文档:aliyun-spring-boot/aliyun-spring-boot-samples/aliyun-oss-spring-boot-sample at master alibaba/aliyun-spring-boot…

第十五章 图的BFS与拓扑序列

图的BFS与拓扑序列一、图的BFS1、思路2、模板(1)问题(2)代码模板(3)代码解析二、拓扑序列引入:1、什么是拓扑序列?2、模板:(1)问题:&a…

一张图搞懂微服务架构设计

前言 当前,微服务架构在很多公司都已经落地实施了,下面用一张图简要概述下微服务架构设计中常用组件。不能说已经使用微服务好几年了,结果对微服务架构没有一个整体的认知,一个只懂搬砖的程序员不是一个好码农! 流量入口Nginx 在…

Awesome Uplift Modeling【如何学习因果推断、因果机器学习和Uplift建模?All in here】

Awesome-Uplift-Model How to Apply Causal ML to Real Scene Modeling?How to learn Causal ML? Github项目地址:👉https://github.com/JackHCC/Awesome-Uplift-Model👈 👉https://github.com/JackHCC/…

汇编原理理论知识复习

书上重点内容 本篇博客整理老师课上强调的重点理论知识,以便复习备考,如有错误欢迎指正。 这门课主要讲CPU芯片与其他芯片(内存芯片和I/O接口芯片)之间交互。 一条指令的执行过程:取指(从主存取到CPU寄…

(五)Vue之data与el的两种写法

文章目录el的两种写法data的两种写法Vue学习目录 上一篇&#xff1a;&#xff08;四&#xff09;Vue之数据绑定 容器&#xff1a; <div id"root"><h1>hello,{{name}}</h1></div>el的两种写法 (1).new Vue时候配置el属性。 new Vue({el:#r…

【C语言航路】第六站:指针初阶

目录 一、指针是什么 二、指针和指针类型 1.指针类型的意义 2.指针-整数 3.指针解引用 三、野指针 1.野指针的成因 &#xff08;1&#xff09;指针未初始化 &#xff08;2&#xff09;指针越界访问 &#xff08;3&#xff09;指针指向的空间释放 2.如何规避野指针 &a…

伸手运动想象训练与伸手抓取想象的关系

本研究旨在确定为期4周的目标导向性伸手&#xff08;抓取任务&#xff09;的运动想象训练&#xff08;MIT&#xff09;是否会以相同的方式影响伸手&#xff08;MIR&#xff09;和抓取&#xff08;MIG&#xff09;运动想象的皮质活动。试验过程中&#xff0c;我们在健康的年轻参…

基于未知环境下四旋飞行器运动规划应用研究(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客 &#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜…

QT QDoubleSpinBox 浮点计数器控件(使用详解)

本文详细的介绍了QDoubleSpinBox控件的各种操作&#xff0c;例如&#xff1a;新建界面、获取数值、设置前后缀、设置最大/小值、设置显示精度、关联信号槽、优化信号、关联控件、文件源码、样式表等等操作。 本文是QT控件使用详解的第十五篇 QT QDoubleSpinBox 浮点计数器控件(…

【ArcGIS风暴】ArcGIS栅格影像去除黑边(背景值)方法汇总

文章目录 1. 数据加载时属性中设置去除黑边2. 应用setnull工具去除黑边3. 应用栅格计算器去除黑边4. 应用复制栅格工具去除黑边5. 应用影像分析去除黑边6. 应用镶嵌数据集去除黑边影像产生黑边的原因无外乎在设置无效值时,将无效值设成了0,而影像在导入软件进行渲染时,并没有…

制作一个简单HTML静态网页(HTML+CSS)

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

TensorRT安装

本文是为了记录安装TensorRT过程中遇到的一些问题。 首先进入TensorRT下载页面&#xff0c;选择你要下载的TensorRT版本。 因为TensorRT不同的版本依赖于不同的cuda版本和cudnn版本。所以很多时候我们都是根据我们自己电脑的cuda版本和cudnn版本来决定要下载哪个TensorRT版本。…

[附源码]计算机毕业设计校园招聘系统设计Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

如何收到消息第一时间将网站置灰,难道让程序员上个线?

注意&#xff1a;文本不是讲如何将网站置灰的那个技术点&#xff0c;那个技术点之前汶川地震的时候说过。 本文不讲如何实现技术&#xff0c;而是讲如何在第一时间知道消息后&#xff0c;更快速的实现这个置灰需求的上线。 实现需求不是乐趣&#xff0c;指挥别人去实现需求才…

安全研究 # 二进制代码相似性检测综述

本文参考&#xff1a; [1]方磊,武泽慧,魏强.二进制代码相似性检测技术综述[J].计算机科学,2021,48(05):1-8. (信息工程大学数学工程与先进计算国家重点实验室, 国家重点研发课题,北大核心) 摘要 代码相似性检测常用于代码预测、知识产权保护和漏洞搜索等领域&#xff0c;可分为…