本文主要为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. C++学习(八)(C语言部分)之 图形库

    有关图形库的学习笔记 1.安装 ww.easys.cn 2.创建win32控制台应用程序 .cpp文件(图形库必须创建cpp文件) *重点 3.安装好后 重启一下vs 图形库 是一些函数的集合 作用是 ...

  2. 《DSP using MATLAB》Problem 7.2

    从别的书上找来的

  3. Java 枚举(enum) 详解4种常见的用法

    JDK1.5引入了新的类型——枚举.在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便. 大师兄我又加上自己的理解,来帮助各位理解一下. 用法一:常量 在JDK1.5 之前,我们定义常 ...

  4. jsp中<%两个最容易搞混淆的用法,附:out.println与out.write的用法

    jsp中的<% java代码 %>,表示的是在html中写入java代码,其写入的格式就是在java代码的两头加上<% %>.搞明白这些以后,我们再来看看在js中,最易搞混淆的 ...

  5. Extend a root LVM partition online

    There is also a quick remedy for the emergency situation when your root partition runs out of disk s ...

  6. C# to IL 6 Reference and Value Types(引用类型和值类型)

    An interface is a reference type, in spite of the fact that it has no code at all. Thus, wecannot in ...

  7. 让使用SQLite的.NET应用自适应32位/64位系统

    如果一个.NET应用要自适应32位/64位系统,只需要在项目的“目标平台”设置为“Any CPU”.但是如果应用中使用了SQLite,情况就不同了. SQLite的.NET开发包来自是System.D ...

  8. openstack--8--控制节点部署Dashboard

    Horizon介绍 Dashboard服务,这里具体的产品就是Horizon1.它提供一个Web界面操作Openstack的系统2.使用Django框架基于Openstack API开发3.支持将Se ...

  9. WEB开发库收集

    1. EASYUI          http://www.jeasyui.com/ [INTRODUCTION] jQuery EasyUI framework helps you build yo ...

  10. ML: 聚类算法R包-对比

    测试验证环境 数据: 7w+ 条,数据结构如下图: > head(car.train) DV DC RV RC SOC HV LV HT LT Type TypeName 1 379 85.09 ...