持续维护地址:http://jaylin.wang/2016/kong-...html
公司准备更好的实现微服务架构,我前期的任务主要是 API 开发相关的技术学习,微服务会随着业务的增长不断增长,客户端调用微服务的 API 也随着增长,这时,一个统一 API 的中间件就有必要了。瞄准了 Kong 这个解决方案,接下来的几天时间就来折腾这个东西。nginx
Kong 是 Mashape 开源的一个 API 中间件项目,基于 Nginx 构建,支持 PostgreSQL 和 Apache Cassandra 存储。支持经过集群实现性能扩展,支持经过插件实现功能扩展,而且能够运行于如今主流的运行环境。sql
咱们能够用 Kong 官方提供的一张图来表述客户端 - Kong - API 之间的请求关系:数据库
Kong 会代理来自不一样地方的 API, 而且转发全部来自客户端的 API 请求。apache
准备依靠阿里云 RDS for PostgreSQL 方便对 API 存储的管理,因此本地搭建 Kong 服务的时候也是选择在 Centos7 上安装 PostgreSQL。api
Kong 自己的安装并不复杂,但所依赖的技术须要仔细学习一番,我也是被周围的东西秀了一脸~,列出一个本身在搭建过程当中用到的相关技术,有一些仔细看了一番,也有一些浅尝而止,今后篇慢慢发散、完善补吧~bash
由于忽略的一个以前没注意的 warning 致使本身花一天时间去解决一个错误,浪费一大把陪媳妇儿的时间,不开森~~~架构
warning 是这样的:ide
perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG = "en_US.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C").
相信你们也是遇到过,以前貌似没形成什么影响,此次就栽了... 解决方案是在 profile/.bashrc 中指定 LC_ALL:微服务
echo "export LC_ALL=en_US.UTF-8" >> /etc/profile source /etc/profile
最后留下一句小林名言:
Warning is error,not ok,let‘s kill it