本文主要为kong安装小记,系统环境为centos 6.7

                                                                                                                      本文转载请注明出处 —— xiaoEight

  • 介绍

Kong 是在客户端和(微)服务间转发API通信的API网关,通过插件扩展功能。Kong 有两个主要组件:

  Kong Server :基于 nginx 的服务器,用来接收 API 请求。
  Apache Cassandra :用来存储操作数据。

  总体而言是在api与客户端直接引入一层gate way,在这层上面做的各种文章,例如授权、限流、监控和日志;如果对此有需求或者兴趣的看官可以继续往下↓↓↓↓↓↓↓↓↓↓

  Kong 官网

  对于核心功能的考量,可以转发包括webservice、get、post等RESTful请求(仅列举了已经测试过的,大家可以继续对自己的需求进测试后告知);

  对于插件功能的考量,提供了丰富的插件包括HTTP 基本认证、密钥认证、CORS( Cross-origin Resource Sharing,跨域资源共享)、TCP、UDP、文件日志、API 请求限流、请求转发以及 nginx 监控;

  对于负载的考量,可以通过增加更多 Kong Server 机器对 Kong 服务进行水平扩展,通过前置的负载均衡器向这些机器分发请求。根据文档描述,两个Cassandra节点就足以支撑绝大多数情况,但如果网络非常拥挤,可以考虑适当增加更多节点。

  • 安装

后续为安装过程,与安装过程中需要注意的地方. 首先要提醒注意的为介绍中已经提及了kong实际为两部分一部分kong server也就是大家在git上获取的code,而另一部分是db部分如cassandra

Installation:

  1. Install the Package:

    After downloading the package, execute:

    $ sudo yum install epel-release
    $ sudo yum install kong-0.8.1.*.noarch.rpm --nogpgcheck
  2. Configure your database

    Configure Kong so it can connect to your database. Kong supports both PostgreSQL 9.4+ andCassandra 2.2.x as its datastore.

  3. Start Kong:

    $ kong start
    
    # Kong is running$ curl 127.0.0.1:8001
以上为官方安装指导
 
以下为实际安装过程,由于一开始没留意官方安装提示所以在安装过程中出现了两个问题.(1.rpm未下载  2.cassandra为安装运行)
 
1.实际使用过程中在"官方-1"中

sudo yum install kong-0.8.1.*.noarch.rpm --nogpgcheck

如果提示报错无法install,那么说明可能跟小Eight一样不认真, 采用下述方式可解决(问题是由于压根就还没有下载对应的rpm文件,那么不出错就... )

 

  a.在https://getkong.org/install/centos/中获取到kong-0.8.1.el6.noarch.rpm的下载地址

 
  b.在centos中通过wget和1中获取的地址下载kong-0.8.1.el6.noarch.rpm文件到centos中(新建的文件夹中,kong)
 
  c. rpm -ivh kong-0.8.1.el6.noarch.rpm 但过程中报了依赖问题
 
  d. 但后重新执行 sudo yum install kong-0.8.1.*.noarch.rpm --nogpgcheck 安装正常
 
2.实际使用过程中,如果跳过2进入3直接会报错如下图,根据提示内容可看出是db的问题,该处安装db-->cassandra时为默认配置(如果修改端口配置或其他需要留意kong中对应配置需要修改),即未完成"官方-2"导致
 
  
  

  a.下载所需要使用的db即 http://cassandra.apache.org/download/下载apache-cassandra-2.2.6-bin.tar.gz (apache-cassandra-3.5-bin.tar.gz 需要jdk1.8支持)
 
  b.启动cassandra  cd到解压后的bin文件夹  执行 ./cassandra -f
 
3.启动kong
下图为cassandra启动后,启动kong时情况
下图为启动kong成功
 
这里需要说明一下,kong有两个主要的端口一个为管理端口8001;另一个是提供网关访问的8000端口
具体测试可参考 官网快速指南
测试 http://你的机器或绑定的域名:8000 X-Host-Override: test.com 
到此已经完成了kong的全部部署安装过程,如果简单使用已经完全可以了...........................但是像小Eight这样比较懒的人怎么能忍受一堆curl命令?
 
To be continue!
预告Kong管理UI哪家强? 答: kong-dashboard   (为啥会是这个颜色???)

Kong网关介绍与安装小记的更多相关文章

  1. Tyk API网关介绍及安装说明

    Tyk API网关介绍及安装说明 Tyk是一个开源的轻量级API网关程序. 什么是API网关 API网关是一个各类不同API的前置服务器.API网关封装了系统内部架构,对外提供统一服务.此外还可以实现 ...

  2. API网关系列之Kong的介绍以及安装

    一.API网关产生背景 在微服务的架构中,一个大的应用会被拆分成多个小的单一的服务提供出来,这些小的服务有自己的处理,有自己的数据库(也可以共用),也许语言也是不一样的,他们可以部署在一个或多个服务器 ...

  3. MacOs下安装Kong网关

    写在前面: 持续记录一下自己在解决api网关kong上的各种问题. 1.关于Kong网关 这是官网地址:https://konghq.com/ 2.通过brew安装postgres 因为kong的数据 ...

  4. Kong网关安装之Docker版(2)

    1.安装kong管理工具:konga或者kong-dashboard,这里选择konga 拉取konga镜像: sudo docker pull pantsel/konga:0.14.4 初始化kon ...

  5. Kong网关安装之Docker版(1)

    前言: Kong 是天生的微服务网关.她的官方简介是:Kong 是一个云原生,高效,可扩展的分布式 API 网关. 自 2015 年在 github 开源后,广泛受到关注,目前已收获 1.9w+ 的 ...

  6. kong网关: service+route+upstream

    对于刚开始学习kong网关,总是一脑子浆糊迷迷糊糊.虽然已经安装好,但却不知道接下来如何下手, 因为包含项太多:service.routes.upstream.consumer.plugins等等.一 ...

  7. 在K3s上使用Kong网关插件,开启K3s的无限可能!

    我的工作中很重要的一部分是参加各种各样的技术会议.最近参加的是去年11月的北美KubeCon,在会议的最后一天,所有人都焦头烂额,我也一直机械地向不同的人重复我的自我介绍.后来,我已经十分烦躁,决定逃 ...

  8. API网关之Kong网关简介

    1. Kong简介 那么,Kong是一个什么东东呢?它是一个开源的API网关,或者你可以认为它是一个针对API的一个管理工具.你可以在那些上游service之上,额外去实现一些功能.Kong是开源的, ...

  9. openresty开发系列10--openresty的简单介绍及安装

    openresty开发系列10--openresty的简单介绍及安装 一.Nginx优点 十几年前,互联网没有这么火,软件外包开发,信息化建设,帮助企业做无纸化办公,收银系统,工厂erp,c/s架构偏 ...

随机推荐

  1. HTTP/2及HTTP/3特性

    HTTP/2及HTTP/3特性 摘要: 学习 HTTP/2 与 HTTP/3. 前言 HTTP/2 相比于 HTTP/1,可以说是大幅度提高了网页的性能,只需要升级到该协议就可以减少很多之前需要做的性 ...

  2. C++学习(七)(C语言部分)之 输入

    输入学习时的笔记(其实也没什么用,留着给自己看的) 输出是指 把内容打印到控制台窗口 输入是指 把内容输入到程序里 scanfscanf 从键盘获取内容到程序里格式占位符+变量要加取地址符 1.格式占 ...

  3. 【HDOJ4857】【反向拓扑排序】

    http://acm.hdu.edu.cn/showproblem.php?pid=4857 逃生 Time Limit: 2000/1000 MS (Java/Others)    Memory L ...

  4. 浅谈malloc()和free()工作原理

    编程之路刚刚开始,错误难免,希望大家能够指出.  malloc()和free()是我经常需要用到的函数,一般情况下,C程序使用malloc()在堆上分配内存,free()释放内存,两者的参数和返回值就 ...

  5. 用java的io流,将一个文本框的内容反转

    import java.io.*; import java.util.ArrayList; public class test04 { public static void main(String a ...

  6. 【mysql】创建索引

    一.联合唯一索引 项目中需要用到联合唯一索引: 例如:有以下需求:每个人每一天只有可能产生一条记录:处了程序约定之外,数据库本身也可以设定: 例如:t_aa 表中有aa,bb两个字段,如果不希望有2条 ...

  7. this关键字的使用8/22

    实质就是:this代表当前对象目录: 1.this(name) 调用同一个类中参数为 public Person(String name)这个构造方法 2.this.say() 同一个类中,某一个方法 ...

  8. day43 数据库学习 转自egon 老师博客 单表查询和多表查询

    一 单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制条数 二 关键 ...

  9. 使用nexus 管理pip 私有包

    nexus 已经支持了对于python pip 包的管理(支持group,host,proxy) 这个是一个简单的使用docker 运行的demo,同时集成了s3 存储,以及 一个为了测试简单的自定义 ...

  10. VIM命令操作

    退出命令 :wq 保存并退出 ZZ 保存并退出 :q! 强制退出并忽略所有更改 :e! 放弃所有修改,并打开原来文件.