本文主要为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. array的方法 没记住的

    reserve() 是倒叙: sort() 拍序,按字符编码排序,可以传一个参数 reduce() 实例:判断一个数组里参数的个数 var arr = ["apple"," ...

  2. HDU 6015 Skip the Class 优先队列 map的使用

    Skip the Class Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Tota ...

  3. Linux定时任务计划

    Linux定时任务计划 在使用Linux系统时,我们有时会需要让系统在某个时间去执行特定的任务,这时就需要去了解Linux提供的定时任务功能 种类 Linux的定时任务分为两种:单一型和循环型 单一型 ...

  4. Version Control 版本控制

    一.version control是什么: version control版本控制,是指对软件开发过程中各种程序代码.配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一. 二.versi ...

  5. day39KNN算法和其他的算法

    PS: 1.现在明白为什么其他的同学一直都在做数字图像处理,matlab这种东西了,因为机器学习,其他底层主要是做预先处理,然后调用某一个算法 2.感觉knn算法就是根据先验数据计算下一个跟自己一样不 ...

  6. centos7如何安装zabbix

    只需要按照第三次修改版本的内容安装就可以了(水平线内的内容),主要是执行两个脚本就可以完成自动化安装了,其他内容是以前写的,仅留下来作为参考 第三次修改:(此次为zabbix4.0版本的,进一步的自动 ...

  7. 系统限制和选项limit(一)

    从shell中获取系统限制和选项 终端输入getconf value [pathname] [root@bogon code]# getconf ARG_MAX 2097152 [root@bogon ...

  8. Using C++11 function & bind

    The example of callback in C++11 is shown below. #include <functional> void MyFunc1(int val1, ...

  9. 谈谈 在 .Net 生态里为什么没有 Hadoop 系列 ?

    在 .Net 生态里为什么没有 Hadoop 系列  ? 有需要 有 Hadoop 系列 吗  ?

  10. webstorm版本2017.2开发stylus报错

    style 部分声明的时候,要有lang和type属性. 前提是,已经npm安装了stylus,stylus-loader. <style lang='stylus' type='text/st ...