前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >国产微服务网关Apache APISIX 上手

国产微服务网关Apache APISIX 上手

作者头像
冷冷
发布2019-10-28 17:59:23
2K0
发布2019-10-28 17:59:23
举报
文章被收录于专栏:冷冷冷冷

> 2019 年 10 月 17 日,支流科技 API 网关 APISIX 进入 Apache 开始孵化。笔者表示去搜索了一下这家公司 OpenResty 圈内顶级大牛《OpenResty 最佳实践》作者 温铭 和 王院生,这就非常有意思了

APISIX 是一个高性能、可扩展的微服务 API 网关。它是基于 Nginx 和 etcd 来实现,和传统 API 网关相比, APISIX 作为微服务请求⽹关,通过插件提供负载平衡,⽇志记录,身份验证 等功能:

  • 动态负载均衡: ⽀持不同上游服务的动态负载均衡
  • 安全插件: 内置安全处理层,⽀持如OAuth2、ACL、CORS、动态 SSL 和 IP 限制等
  • 流量控制插件: 速率限制,请求⼤⼩限制和响应速率限制等
  • 分析和监控插件:借助如 Prometheus,Datadog 和 Runscope 产品,完成 API 流量的可视化、检查和监控
  • ⽇志插件:记录请求或响应⽇志,并通过 HTTP、TCP 或 UDP 等⽅式发送 到你的系统(⽐如: StatsD, Syslog)

github: https://github.com/iresty , 可以看到相较于于 KongTraefik 从源码角度非常简洁。

安装

安装 openresty

  • 基于 OpenResty 实现的,记住 OpenResty一个基于Nginx 与Lua 的高性能Web 平台.
代码语言:javascript
复制
yum install yum-utils
yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo

yum install -y openresty 

安装 etcd

  • etcd 一个 (key-value) 强一致性NoSQL数据库。相较于 Kong使用的PostgreSQL关系型数据库,又是一大亮点
代码语言:javascript
复制
 yum install -y  etcd
 service etcd start

 yum install -y https://github.com/iresty/apisix/releases/download/v0.8/apisix-0.8-0.el7.noarch.rpm

启动 apisix

代码语言:javascript
复制
sudo apisix start

访问控制台: http://127.0.0.1:9080/apisix/dashboard/ ,直接访问即可

PS: 登录功能没有实现,骗人的!

功能体验

  • 目标我们实现web服务的反向代理,并且可以实现限流
  1. upstream > 添加

2 . routes > 添加

令牌桶限流配置

  • rate # 流速 每秒
  • burst # 令牌桶的容积
  • key #根据哪个header 来限流
  • rejected_code # 返回错误码
  • 访问: ip:9080/ 体验限流效果

在线演示版本

官方部署了一个在线的 dashboard ,方便大家了解 APISIX。 http://apisix.iresty.com

> 项目推荐: Spring Cloud 、Spring Security OAuth2的RBAC权限管理系统 欢迎关注

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装
    • 安装 openresty
      • 安装 etcd
        • 启动 apisix
        • 功能体验
        • 在线演示版本
        相关产品与服务
        API 网关
        腾讯云 API 网关(API Gateway)是腾讯云推出的一种 API 托管服务,能提供 API 的完整生命周期管理,包括创建、维护、发布、运行、下线等。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档