有了 NGINX 和 Kong,为什么还需要 Apache APISIX-王院生有了 NGINX 和 Kong 为什么还需要 Apache APISIX 演讲⼈:王院⽣@深圳⽀流科技公司 云 原 ⽣ 社 区 M e e t u p 第 四 期 · ⼴ 州 站 云 原 ⽣ 社 区 M e e t u p 第 四 期 · ⼴ 州 站 有了 NGINX 和 Kong 为什么还需要 Apache APISIX? 王院⽣@⽀流科技 ⽬录 1. 个⼈和公司介绍 2. 后端架构演变史 3. Nginx 和 Kong 的问题 4. Apache APISIX 现状 5. Apache APISIX 未来计划 CONTENTS 云 原 ⽣ 社 区 M e e t u p 第 四 期 · ⼴ 州 站 云 原 ⽣ 社 区 M e e t u p 第 四 期 · ⼴ 州 站 王院⽣ Apache APISIX Founder & PMC 《OpenResty 最佳实践》作者 投资⽅:真格基⾦,真成投资,顺为资本 云 原 ⽣ 社 区 M e e t u p 第 四 期 · ⼴ 州 站 ⽀流科技 • 开源爱好者 • Apache APISIX、Apache SkyWalking、NGINX、 Kubernetes 等贡献者构成 • 中美远程协作,没有 996 • 分布中国 9 个不同城市 • ⼀家绝对技术说了算的公司 云 原 ⽣ 社 区 M e e t u p 第 四 期 ·0 码力 | 34 页 | 25.78 MB | 6 月前3
Nacos架构&原理
地址,那么服务发现基本上都是通过某种方式获取到服务所部 署的 IP 地址。DNS 协议是最早将⼀个网络名称翻译为网络 IP 的协议,在最初的架构选型中, DNS+LVS+Nginx 基本可以满足所有的 RESTful 服务的发现,此时服务的 IP 列表通常配置在 nginx 或者 LVS。后来出现了 RPC 服务,服务的上下线更加频繁,人们开始寻求⼀种能够支持动态上下 线并且推送 IP 列表变化的注册中心产品。 openapi。 传输通道 登录目前大部分都是 https,nacos 默认不支持 https,如果需要使用 https 功能,在 nacos 前 面配置 nginx,nginx 上做 443 端口转后端 8848 端口,nginx 上管理证书。 117 > Nacos 架构 Nacos 前端设计 Nacos 前端设计 背景 我们需要提供⼀个简单控制台提升易用性,并且可以得到开发者的共建。前端框架上选择目前比较 的方式提供,同时也会在 SDK 上增加⼀些负载均衡、容灾保护的策略。 159 > Nacos 生态 传统微服务架构下的 Nacos 存在以下几个问题: 1. Tengine 不支持动态配置,包括开源的 Nginx 原生也是不支持的,阿里内部是定期 reload 配置的方式实现配置变更,这导致配置不能及时变更,影响研发效率; 2. Fat SDK 模式下,服务治理、服务发现等逻辑与 SDK 强耦合,如果需要变更逻辑,就得修改0 码力 | 326 页 | 12.83 MB | 9 月前3
03-基于Apache APISIX的全流量API网关-温铭使用API网关进行API聚合 使用API网关实现灰度发布 使用API网关实现服务熔断 与传统API网关的功能 • 让 API 请求更安全、更高效的得到处理 • 覆盖 Nginx 的所有功能:反向代理、负载均衡 • 动态上游、动态 SSL 证书、动态限流限速 • 主动/被动健康检查、服务熔断 不同的云原生下的新功能 • 对接 Prometheus、Zipkin、Skywalking 年,Salesforce 65 亿美元收购 MuleSoft • 2018 年, Broadcom 189 亿美元收购 CA Technologies • 2019 年,F5 收购 6.7 亿美元收购 NGINX Apache APISIX 简介 关于 Apache APISIX • 天然的云原生 API 网关 • 中国最快毕业的 Apache 顶级项目 • 全动态:路由、SSL 证书、上游、插件… 多个插件,覆盖:身份认证、安全、日志、可观测性… Apache APISIX 设计思路 • API 网关的数据面和控制面分离 • 通过插件机制来方便二次开发和运维 • 高可用,没有单点故障 • 安全和稳定第一:基于 Nginx 实现;mTLS 认证;敏感信息加密加盐(salt)保存 • 高性能:单核心 QPS 1.5 万,延迟低于 0.7 毫秒 • 运维友好:Prometheus, SkyWalking,流量复制,故障注入等0 码力 | 11 页 | 6.56 MB | 6 月前3
10-APISIX 与 SkyWalking 的最佳实践-王院生TRACE APISIX 如何⽀持 SKYWALKING NGINX 如何⽀持 SKYWALKING rewrite phase bodyfiler phase log phase init worker phase background timer SkyWalking client share dict Nginx + Lua http(s) ⼆次优化实践 ⼆次优化实践 - ⾼性能调优利器,⽕焰图 background timer client Lua table Nginx + Lua http(s) rewrite phase bodyfiler phase log phase init worker phase background timer client share dict Nginx + Lua http(s) ⼆次优化实践 ➤ Nginx 性能很⾼,⽽⾼性能的代码有时候是不优雅的 ➤ reuse 20-30% ,后⾯会有更好表现 ➤ PR:https://github.com/apache/skywalking-nginx-lua/pull/49 为什么要参与开源项⽬ “懂王下线,赌王上线” 懂王下线,赌王上线 [bug] SkyWalking-nginx-lua0.3.0 traceid repeat all the time: https://github.co0 码力 | 29 页 | 7.43 MB | 6 月前3
分布式NewSQL数据库TiDB提⽰:不要开不必要的端⼜, 不要开不必要的端⼜, 建议云主机防⽕墙设置只开放特定来源 建议云主机防⽕墙设置只开放特定来源IP可以访问 可以访问 1. 安装 nginx 服务 yum install nginx 2. 修改nginx.conf vi /etc/nginx/nginx.conf 在 http 中添加下⾯配置: # prometheus proxy upstream prometheus_server { { proxy_pass http://dashboard_server/; } } 3. 启动nginx服务 Dashboard/监控访问 分布式NewSQL数据库 TiDB Copyright © 2012-2021 UCloud 优刻得 45/120 systemctl start nginx 访问 访问 根据您配置的代理端⼝,在浏览器中访问对应服务 访问 Dashboard和Grafana时需要root账⼾登录认证0 码力 | 120 页 | 7.42 MB | 6 月前3
跟我学Shiro - 张开涛部署架构 1、有三个应用:用于用户/权限控制的 Server(端口:8080);两个应用 App1(端口 9080) 和 App2(端口 10080); 2、使用 Nginx 反向代理这三个应用,nginx.conf 的 server 配置部分如下: server { listen 80; server_name localhost; apter23-app1;访问 http://localhost/chapter23-app3 会自动转发到 http://localhost:10080/chapter23-app3; Nginx 的安装及使用请自行搜索学习,本文不再阐述。 项目架构 location ~ ^/(chapter23-server)/ { proxy_pass http://127 1、安装配置启动 nginx 1、首先到 http://nginx.org/en/download.html 下载,比如我下载的是 windows 版本的; 2、然后编辑 conf/nginx.conf 配置文件,在 server 部分添加如下部分: 3、最后双击 nginx.exe 启动 Nginx 即可。 已经配置好的0 码力 | 219 页 | 4.16 MB | 10 月前3
Tornado 6.5 Documentationbalancer such as HAProxy or nginx is usually needed to present a single address to outside visitors. Running behind a load balancer When running behind a load balancer like nginx, it is recommended to pass traffic to the balancer’s IP address. This is a barebones nginx config file that is structurally similar to the one we use at FriendFeed. It assumes nginx and the Tornado servers are running on the same machine four Tornado servers are running on ports 8000 - 8003: user nginx; worker_processes 1; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections 1024; use epoll; } http0 码力 | 272 页 | 1.12 MB | 3 月前3
Tornado 6.5 Documentationsuch as HAProxy or nginx is usually needed to present a single address to outside visitors. Running behind a load balancer When running behind a load balancer like nginx [http://nginx.net/], it is recommended traffic to the balancer’s IP address. This is a barebones nginx config file that is structurally similar to the one we use at FriendFeed. It assumes nginx and the Tornado servers are running on the same machine four Tornado servers are running on ports 8000 - 8003: user nginx; worker_processes 1; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections 1024; use epoll;0 码力 | 437 页 | 405.14 KB | 3 月前3
Apache APISIX How to implement plugin orchestration in API GatewayApache APISIX • Cloud Native API Gateway (https://github.com/apache/apisix) • Cover all features of Nginx • Fully dynamic: routing, SSL certificates, upstream, plugins… • More than 40 plugins: authentication What can Apache APISIX do? • Handle L4、L7 traffic:HTTP、HTTPS、TCP、UDP、MQTT、Dubbo、gRPC… • Replace Nginx to handle north-south traffic • Replace Envoy to handle east-west traffic between services • k8s layer • Envoy、Kong、Apache APISIX:full traffic access layer • no longer the traditional functions of Nginx and F5 • Open source projects blooming:BFE、MOSN Low Code • PM can directly implement features by0 码力 | 28 页 | 1.19 MB | 6 月前3
云原生go-zero微服务框架设计思考zRPC Power of Two Choices ● 默认算法 ● 当前请求数 ● 处理时长 ● 指数加权移动平均 参考自Nginx & Envoy & Finagle & Linkerd: ● https://www.nginx.com/blog/nginx-power- of-two-choices-load-balancing-algorithm/ ● https://linkerd0 码力 | 29 页 | 5.70 MB | 9 月前3
共 53 条
- 1
- 2
- 3
- 4
- 5
- 6













