金哥铁码

上善若水,知行合一


  • 首页

  • 标签

  • 分类

  • 归档

  • 关于

  • 搜索

kong源码导读

发表于 2018-04-16 | 分类于 技术

概览

  kong是一个基于nginx和OpenResty模块构建的API网关服务。提供http请求路由,后端服务负载均衡以及通过丰富的插件提供认证鉴权、流量调控、日志监控等功能。该网关目前应用在全球著名的API管理站点mashape上。
  nginx是一个采用异步I/O,事件驱动的高性能Web服务器,也可以作为在企业内部提供基于http rpc的反向代理和负载均衡器。由于nginx的配置都是以静态文件的方式提供,而且nginx一般都是多台部署,导致nginx的运维管理变得比较复杂。许多运维的小伙伴都会写一些运维脚本,自动通过ssh命令远程连接到服务器去做一些配置更新的操作。
  笔者所在公司也开发过一个基于nginx的软负载中心。用户可以在平台上为自己的服务配置反向代理以及负载均衡策略。用户所有的操作都会打包成一次对nginx配置的修改。修改指令会发送到每台nginx部署的一个agent上,最后由agent完成nginx配置文件的更新。
  这些方法虽然可以达到自动化的管理nginx,但是本质上还是通过配置文件的方式去改变nginx的一些固定行为。在企业里面,特别是互联网公司常常需要定制一些功能。虽然可以为nginx开发一些模块,但是门槛较高,需要对nginx源码级的掌握。OpenResty为nginx引入的LuaJIT和lua-nginx-module,使我们可以在nginx的各个执行阶段编写一些lua脚本,极大地扩展了nginx的功能。OpenResty的作者已经用lua开发了许多工具库,使得我们可以在nginx中访问MySQL、Memcached、Redis。kong在此基础上实现了一个API网关服务。

阅读全文 »
1…45

费永军

简单靠谱,追求自由

41 日志
6 分类
26 标签
RSS
GitHub E-Mail
友情链接
  • 阮一峰
  • 敖小剑
  • 王垠
  • 廖雪峰
  • 云风
  • 王辉
  • 王建硕
  • hellojava
  • 龙泉之声
  • 华尔街见闻
  • markdown
© 2018 费永军
访客数 人 阅读数 次