什么是apisix

2022/4/13 23:12:59

本文主要是介绍什么是apisix,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

什么是网关

网关是整个服务API请求的入口,可以统一对所有请求进行处理
作用:可以实现用户的验证登录、解决跨域、日志拦截、权限控制、限流、熔断、负载均衡、黑名单与白名单机制等。

什么是apisix

云原生、高性能、可扩展的微服务 API 开源网关
apache项目
基于OpenResty(Nginx+Lua)
使用etcd做配置中心, 服务注册发现中心

相关网站

  • 官网
    • https://apisix.apache.org/zh/docs/apisix/getting-started
  • github
    • https://github.com/apache/apisix
  • docker github
    • https://github.com/apache/apisix-docker.git

架构图

  • apisix
  • openresty
  • nginx

image

什么是nginx

Nginx (engine x) 是一个高性能的 HTTP 和反向代理服务
Nginx 是由伊戈尔·赛索耶夫为俄罗斯访问量第二的 http://Rambler.ru 站点(俄文:Рамблер)开发的
使用C语言开发

相关网站

  • 官网
    • https://nginx.org/en/docs/install.html
  • github
    • https://github.com/nginx/nginx

什么是openresty

image

相关网站

  • 官网
    • http://openresty.org/cn/

实现方式

worker_processes  1;
error_log logs/error.log;
events {
    worker_connections 1024;
}
http {
    server {
        listen 8080;
        location / {
            default_type text/html;
            # 响应内容, 使用lua语言, 或指向lua脚本
            content_by_lua_block {
                ngx.say("<p>hello, world</p>")
            }
        }
    }
}

理解apisix

再次回顾apisix架构

image

看完上面nginx介绍, openresty介绍以及openresty的使用, 可以理解apisix的实现
一个请求经过nginx, 使用openresty作为基础, 对这个请求生命周期实现一些业务逻辑
基于apisix核心框架后, 使用插件的形式进行业务实现, 并可插拔式地对请求进行处理

什么是etcd

etcd 是一个高度一致的分布式键值存储
它提供了一种可靠的方式来存储需要由分布式系统或机器集群访问的数据
Go语言编写

在apisix里, apisix使用etcd作为配置中心, 服务注册发现中心

相关网站

  • 官网
    • http://www.etcd.cn/
  • 官网文档
    • http://www.etcd.cn/docs/current/
  • github
    • https://github.com/etcd-io/etcd
  • ui界面
    • https://github.com/springHys/e3w

为什么apisix

高性能, 灵活性高
自定义插件热部署, 动态路由
源码更为简洁,二次开发难度更低

对比

https://github.com/apache/apisix

网关KONG

https://docs.konghq.com/gateway/

问答

https://apisix.apache.org/zh/docs/apisix/FAQ



这篇关于什么是apisix的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程