微服务API网关框架详解

 

 

一、单节点场景

 网关的作用:

  • 统一入口
  • 安全:黑名单、权限身份认证
  • 限流:实现微服务访问流量计算,基于流量计算分析进行限流,可以定义多种限流规则
  • 缓存:数据缓存
  • 日志:日志记录
  • 监控:记录请求响应数据,api耗时分析,性能监控
  • 重试:异常重试
  • 熔断:降级

现有网关框架:

二、网关技术选型

微服务:dubbo,spring cloud

反向代理框架:nginx

kong、orange(nginx + lua)技术

lua脚本开发,游戏开发--lua脚本,

nginx,  openresty升级版本的nginx,lua类库

---------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------

nginx + lua:黑/白名单、限流

zuul: 重试、熔断

 nginx的安装:

 

三、正向代理和反向代理

正向代理:

        用户知道网站C的地址,但是因为网络原因访问不了;但服务器A可以访问服务器C, 这样用户可以把服务器A设置为正向代理服务器。由服务器A去请求服务器C,然后服务器A把数据返回给用户;

反向代理:

        用户需要访问一些服务器应用,但对方不想把服务器地址暴露给用户,这样可以确保安全。

那用户怎么访问呢?可以通过反向代理服务器,用户只需要知道反向代理服务器地址就可以 ,最后反向代理服务器去访问服务器的应用;

 总结:

正向代理服务器和反向代理服务器的区别:

  • 1. 正向代理:是需要在用户的电脑上,配置正向代理服务器的;而反向代理不需要,因为用户是直接访问的反向代理服务器
  • 2. 应用场景:

        正向代理的应用场景:  用户是知道目标服务器的地址,如:www.google.com,但是不能直接访问,那么就需要在用户电脑配置一个正向代理服务器,用户再次访问的地址:www.google.com;

        反向代理的应用场景:用户本来就不知道目标服务器的地址;而是由平台方提供一个反向代理服务器的地址,用户直接访问反向代理服务器的地址就行;不管目标服务器有多少,用户不需要关心,只要访问反向代理服务器就ok;由反向代理服务器去解析访问目标服务器;

  • 3. 反向代理:极大的保护了应用的安全性,而且此结构可以很好的搭建负载均衡;

四、nginx命令和信号控制:

4.1、nginx命令: 

4.2、nginx检查配置文件

检查配置文件是否正确:

第一种:  进入nginx可执行程序的目录

# cd /usr/local/nginx/sbin/
# ./nginx -t

第二种:

# /usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf

4.3、nginx的信号控制

Nginx支持2种进程模型:Single和Master-Worker

Single是单进程,一般不适用

Master-Worker是主进程和工作进程模型运行,主进程对工作进程管理。

Nginx允许我们通过信号来控制主进程,用信号的方式可以达到不影响现有连接的目的。

信号类型:

  

 4.3.1、nginx平滑升级

1.平滑升级

2. 执行信号平滑升级

3.kill -WINCH 旧的主进程号

 

4. #kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin` 优雅的关闭

给旧的主进程发送QUIT信号后,旧的主进程退出,并移除logs/nginx.pid.oldbin文件,nginx的升级完成;

 查看一下升级后的版本:

./nginx -V

4.3.2 中途停止升级,回滚到旧的nginx

在步骤(3)时,如果想回到旧的nginx不再升级:

1. 给旧的主进程号发送HUP命令,此时nginx不重新读取配置文件的情况下,重新启动旧主进

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

time Friend

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值