您当前的位置:首页 > 电脑百科 > 程序开发 > 架构

Nginx主备以及高可用架构

时间:2022-06-01 17:09:26  来源:  作者:Mrxyang123

一、双机主备模式

1、准备

主机

IP

作用

主机1

10.100.1.10

Nginx1

主机2

10.100.1.11

Nginx2

10.100.1.5

VIP

 

2、主备模式架构

 

Nginx主备以及高可用架构

 

3、keepalived

3.1、keppalived安装

[root@nginx1 ~]# yum install -y keepalived

[root@nginx2 ~]# yum install -y keepalived

3.2、修改keepalived配置

配置文件路径:
/etc/keepalived/keepalived.conf

nginx1配置(主节点)

global_defs { #全局配置

router_id lb01 #标识身份->名称

}

 

vrrp_instance VI_1 {

state MASTER #标识角色状态(主节点)

interface ens33 #网卡绑定接口

virtual_router_id 50 #虚拟路由id

priority 150 #优先级

advert_int 1 #监测间隔时间

authentication { #认证

auth_type PASS #认证方式

auth_pass 1111 #认证密码

}

virtual_ipaddress {

10.100.1.5 #虚拟的VIP地址

}

}

 

nginx2配置(备节点)

 

global_defs { #全局配置

router_id lb02 #标识身份->名称

}

 

vrrp_instance VI_1 {

state BACKUP #标识角色状态(备节点)

interface ens33 #网卡绑定接口

virtual_router_id 50 #虚拟路由id

priority 100 #优先级

advert_int 1 #监测间隔时间

authentication { #认证

auth_type PASS #认证方式

auth_pass 1111 #认证密码

}

virtual_ipaddress {

10.100.1.5 #虚拟的VIP地址

}

}

3.3、启动keepalived服务

[root@nginx1 ~]# systemctl start keepalived

[root@nginx1 ~]# systemctl enable keepalived

 

[root@nginx2 ~]# systemctl start keepalived

[root@nginx2 ~]# systemctl enable keepalived

3.4、测试

在nginx1上查看是否有VIP

[root@nginx1 ~]# ip addr | grep ens33

2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

.NET 10.100.1.10/8 brd 10.255.255.255 scope global ens33

inet 10.100.1.5/32 scope global ens33

 

关闭nginx1的keeplived,查看VIP是否会主动飘到nginx2

[root@nginx1 ~]# systemctl stop keepalived

[root@nginx2 ~]# ip addr | grep ens33

2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

inet 10.100.1.11/8 brd 10.255.255.255 scope global ens33

inet 10.100.1.5/32 scope global ens33

 

启动nginx1的keepalived,查看nginx1是否会抢占VIP

[root@nginx1 ~]# systemctl start keepalived

[root@nginx1 ~]# ip addr | grep ens33

2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

inet 10.100.1.10/8 brd 10.255.255.255 scope global ens33

inet 10.100.1.5/32 scope global ens33

3.5、配置nginx检测脚本

配置完keepalived之后,存在一个问题,就是如果挂的不是keepalived而是这台电脑上的Nginx的话,keepalived的转发就不会生效,因为它无法识别Nginx服务是否正常

 

解决方法:在keepalived.conf文件中配置对Nginx的定时检查,如果发现Nginx挂了,调用脚本重启Nginx

3.5.1、编辑脚本

vim /etc/keepalived/check_nginx.sh

#!/bin/bash

A=`ps -C nginx --no-header | wc -l`#判断nginx是否为启动,否,则启动nginx

if [ $A -eq 0 ];then


/usr/local/nginx/sbin/nginx #启动nginx

sleep 3 #等待3秒

if [ `ps -C nginx --no-header | wc -l` -eq 0 ];then #启动失败的话,则停止keepalived服务

systemctl stop keepalived

fi

fi

3.5.2、增加运行权限

[root@nginx1 ~]# chmod a+x /etc/keepalived/check_nginx.sh

3.5.3、在keepalived配置文件中写入监听nginx脚本

vrrp_script check_nginx {

script "
/etc/keepalived/check_nginx.sh" #脚本

interval 2 #每隔两秒运行上一行的脚本

weight 10 #如果脚本运行失败,则升级权重+10

}

 

Nginx主备以及高可用架构

 

 

 

在vrrp_instance中新增监控的脚本

track_script {

check_nginx #追踪nginx脚本

}

 

Nginx主备以及高可用架构

 

 

4、nginx

4.1、nginx安装

安装依赖包

[root@nginx1 ~]# yum -y install pcre pcre-devel zlib zlib-devel openssl openssl-devel

上传源码包到tmp目录

 

Nginx主备以及高可用架构

 

 

解压该源码文件

[root@nginx1 tmp]# tar -zxvf nginx-1.20.0.tar.gz

 

Nginx主备以及高可用架构

 

 

进入到nginx-1.12.0目录,指定安装目录/usr/local/nginx

[root@nginx1 nginx-1.20.0]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

 

编译安装

[root@nginx1 nginx-1.20.0]# make && make install

进入到/usr/local/nginx/sbin,执行./nginx启动nginx服务

[root@nginx1 sbin]# /usr/local/nginx/sbin/nginx

查看nginx是否启动成功

[root@nginx1 sbin]# ps -ef | grep nginx

 

Nginx主备以及高可用架构

 

 

4.2、测试

4.2.1、关闭nginx服务

关闭nginx服务,查看keepalived是否会将nginx启动

1)、执行命令/usr/local/nginx/sbin -s stop停止nginx服务

[root@nginx1 keepalived]# /usr/local/nginx/sbin/nginx -s stop

 

Nginx主备以及高可用架构

 

 

2)、执行命令ps -ef | grep nginx查看nginx服务是否启动

[root@nginx1 keepalived]# ps -ef | grep nginx

 

Nginx主备以及高可用架构

 

 

4.2.2、修改nginx配置

修改nginx配置,让nginx服务启动失败,查看keepalived是否会切换到备节点

1)、修改nginx配置

 

Nginx主备以及高可用架构

 

 

2)、执行命令停止nginx服务

[root@nginx1 keepalived]# ps -ef | grep nginx | grep -v nginx | awk '{print "kill -9",$2}' | sh

3)、执行命令ps -ef | grep nginx查看nginx服务是否启动,否,查看keepalived的状态

 

Nginx主备以及高可用架构

 

 

4)、查看keepalived的服务状态

[root@nginx1 keepalived]# systemctl status keepalived

 

Nginx主备以及高可用架构

 

 

5)、登录nginx2查看VIP是否飘到该服务器

[root@nginx2 ~]# ip addr | grep ens33

 

Nginx主备以及高可用架构

 

 

4.2.3、重新启动nginx服务

修改为正确的nginx配置,重新启动nginx服务,启动keepalived服务,查看VIP是否会重新飘到nginx1上面

1)、修改为正确的nginx配置后,启动nginx服务

[root@nginx1 keepalived]# /usr/local/nginx/sbin/nginx

2)、启动keepalived服务

[root@nginx1 keepalived]# systemctl start keepalived

3)、查看VIP是否重新飘到原先的服务器

[root@nginx1 keepalived]# ip addr | grep ens33

 

Nginx主备以及高可用架构

 

 

二、LVS+Keepalived+Nginx高可用

1、准备

主机

IP

作用

主机1

10.100.1.10

Keepalived Master

主机2

10.100.1.11

Keepalived Backup

主机3

10.100.1.12

Nginx1

主机4

10.100.1.13

Nginx2

10.100.1.5

VIP

 

2、高可用架构

 

Nginx主备以及高可用架构

 

3、keepalived

3.1、keppalived安装

[root@nginx1 ~]# yum install -y keepalived

[root@nginx2 ~]# yum install -y keepalived

3.2、修改keepalived配置

配置文件路径:
/etc/keepalived/keepalived.conf

lvs1配置(主节点)

global_defs { #全局配置

router_id lb01 #标识身份->名称

}

 

vrrp_instance VI_1 {

state MASTER #标识角色状态(主节点)

interface ens33 #网卡绑定接口

virtual_router_id 50 #虚拟路由id

priority 150 #优先级

advert_int 1 #监测间隔时间

authentication { #认证

auth_type PASS #认证方式

auth_pass 1111 #认证密码

}

virtual_ipaddress {

10.100.1.5 #虚拟的VIP地址

}

}

# 定义对外提供服务的LVS的VIP以及port

virtual_server 10.100.1.5 80 {

delay_loop 6 # 设置健康检查时间,单位是秒

lb_algo rr # 设置负载调度的算法为wlc

lb_kind DR # 设置LVS实现负载的机制,有NAT、TUN、DR三个模式

nat_mask 255.255.255.0

persistence_timeout 0

protocol TCP

real_server 10.100.1.12 80 { # 指定real server1的IP地址

weight 3 # 配置节点权值,数字越大权重越高

TCP_CHECK {

connect_timeout 10

nb_get_retry 3

delay_before_retry 3

connect_port 80

}

}

real_server 10.100.1.13 80 { # 指定real server2的IP地址

weight 3 # 配置节点权值,数字越大权重越高

TCP_CHECK {

connect_timeout 10

nb_get_retry 3

delay_before_retry 3

connect_port 80

}

}

}

 

lvs2配置(备节点)

global_defs { #全局配置

router_id lb02 #标识身份->名称

}

 

vrrp_instance VI_1 {

state BACKUP #标识角色状态(备节点)

interface ens33 #网卡绑定接口

virtual_router_id 50 #虚拟路由id

priority 100 #优先级

advert_int 1 #监测间隔时间

authentication { #认证

auth_type PASS #认证方式

auth_pass 1111 #认证密码

}

virtual_ipaddress {

10.100.1.5 #虚拟的VIP地址

}

}

# 定义对外提供服务的LVS的VIP以及port

virtual_server 10.100.1.5 80 {

delay_loop 6 # 设置健康检查时间,单位是秒

lb_algo rr # 设置负载调度的算法为wlc

lb_kind DR # 设置LVS实现负载的机制,有NAT、TUN、DR三个模式

nat_mask 255.255.255.0

persistence_timeout 0

protocol TCP

real_server 10.100.1.12 80 { # 指定real server1的IP地址

weight 3 # 配置节点权值,数字越大权重越高

TCP_CHECK {

connect_timeout 10

nb_get_retry 3

delay_before_retry 3

connect_port 80

}

}

real_server 10.100.1.13 80 { # 指定real server2的IP地址

weight 3 # 配置节点权值,数字越大权重越高

TCP_CHECK {

connect_timeout 10

nb_get_retry 3

delay_before_retry 3

connect_port 80

}

}

}

3.3、启动keepalived服务

[root@nginx1 ~]# systemctl start keepalived

[root@nginx1 ~]# systemctl enable keepalived

 

[root@nginx2 ~]# systemctl start keepalived

[root@nginx2 ~]# systemctl enable keepalived

4、LVS

4.1、ipvsadm安装

[root@lvs1 ~]# yum install -y ipvsadm

[root@lvs2 ~]# yum install -y ipvsadm

5、nginx

5.1、nginx安装

安装依赖包

[root@nginx1 ~]# yum -y install pcre pcre-devel zlib zlib-devel openssl openssl-devel

上传源码包到tmp目录

 

Nginx主备以及高可用架构

 

 

解压该源码文件

[root@nginx1 tmp]# tar -zxvf nginx-1.20.0.tar.gz

 

Nginx主备以及高可用架构

 

 

进入到nginx-1.12.0目录,指定安装目录/usr/local/nginx

[root@nginx1 nginx-1.20.0]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

 

编译安装

[root@nginx1 nginx-1.20.0]# make && make install

 

进入到/usr/local/nginx/sbin,执行./nginx启动nginx服务

[root@nginx1 sbin]# /usr/local/nginx/sbin/nginx

 

查看nginx是否启动成功

[root@nginx1 sbin]# ps -ef | grep nginx

 

Nginx主备以及高可用架构

 

 

5.2、编写LVS的realserver的健康状态检测脚本

Nginx的两台机器都需要配置

1)、进入到init文件夹

[root@nginx1 ~]# cd /etc/init.d/

2)、编辑脚本realserver.sh

[root@nginx1 init.d]# vim realserver.sh

#虚拟的vip 根据自己的实际情况定义

SNS_VIP=10.100.1.5

/etc/rc.d/init.d/functions

case "$1" in

start)

ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP

/sbin/route add -host $SNS_VIP dev lo:0

echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore

echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce

echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore

echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

sysctl -p >/dev/null 2>&1

echo "RealServer Start OK"

;;

stop)

ifconfig lo:0 down

route del $SNS_VIP >/dev/null 2>&1

echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore

echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce

echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore

echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce

echo "RealServer Stoped"

;;

*)

echo "Usage: $0 {start|stop}"

exit 1

esac

exit 0

3)、设置脚本权限

[root@nginx1 init.d]# chmod +x realserver.sh

[root@nginx1 init.d]# chmod +x /etc/rc.d/init.d/functions

4)、执行脚本

[root@nginx1 init.d]# service realserver.sh start

5)、查看执行结果

[root@nginx1 init.d]# ip a

如果有显示VIP,则说明成功

 

Nginx主备以及高可用架构

 

 

6、测试

6.1、nginx测试

1)、测试VIP

ping 10.100.1.5

 

Nginx主备以及高可用架构

 

 

2)、网页测试VIP

 

Nginx主备以及高可用架构

 

 

6.2、keepalived高可用测试

在lvs1上查看是否有VIP

[root@lvs1 ~]# ip addr | grep ens33

2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

inet 10.100.1.10/8 brd 10.255.255.255 scope global ens33

inet 10.100.1.5/32 scope global ens33

 

关闭lvs1的keeplived,查看VIP是否会主动飘到nginx2

[root@lvs1 ~]# systemctl stop keepalived

[root@lvs2 ~]# ip addr | grep ens33

2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

inet 10.100.1.11/8 brd 10.255.255.255 scope global ens33

inet 10.100.1.5/32 scope global ens33

 

启动lvs1的keepalived,查看nginx1是否会抢占VIP

[root@lvs1 ~]# systemctl start keepalived

[root@lvs1 ~]# ip addr | grep ens33

2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

inet 10.100.1.10/8 brd 10.255.255.255 scope global ens33

inet 10.100.1.5/32 scope global ens33

6.3、LVS监控测试

1)、查看最新的VIP对应的realserver的情况

[root@lvs1 keepalived]# ipvsadm -l

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

-> RemoteAddress:Port Forward Weight ActiveConn InActConn

TCP lvs1:http rr

-> 10.100.1.12:http Route 3 0 0

-> 10.100.1.13:http Route 3 0 0

 

Nginx主备以及高可用架构

 

 

查看到10.100.1.112和10.100.1.113两台服务器都在

2)、测试停掉10.100.1.112

[root@nginx1 ~]# /usr/local/nginx/sbin/nginx -s stop

3)、查看最新的VIP对应的realserver的情况

[root@lvs1 keepalived]# ipvsadm -l

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

-> RemoteAddress:Port Forward Weight ActiveConn InActConn

TCP lvs1:http rr

-> 10.100.1.13:http Route 3 0 0

 

Nginx主备以及高可用架构

 

 

可以查看到10.100.1.12这台服务器已经被移除了

4)、恢复10.100.1.12

lvs又会自动监控并加入10.100.1.12

[root@nginx1 ~]# /usr/local/nginx/sbin/nginx

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

-> RemoteAddress:Port Forward Weight ActiveConn InActConn

TCP lvs1:http rr

-> 10.100.1.12:http Route 3 0 0

-> 10.100.1.13:http Route 3 0 0



Tags:架构   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
10年架构师感悟:从问题出发,而非技术
这些感悟并非来自于具体的技术实现,而是关于我在架构设计和实施过程中所体会到的一些软性经验和领悟。我希望通过这些分享,能够激发大家对于架构设计和技术实践的思考,帮助大家...【详细内容】
2024-04-11  Search: 架构  点击:(2)  评论:(0)  加入收藏
美团外卖宣布新一轮组织架构调整:提拔多位年轻管理者,年轻化、扁平化成主基调
新浪科技讯 4月11日上午消息,继2月下旬、3月下旬两轮人员调整后,美团到店到家的组织架构调整仍在继续。近日,美团外卖以内部邮件的方式宣布了新一轮的组织调整:外卖事业部下成立...【详细内容】
2024-04-11  Search: 架构  点击:(9)  评论:(0)  加入收藏
对于微服务架构监控应该遵守的原则
随着软件交付方式的变革,微服务架构的兴起使得软件开发变得更加快速和灵活。在这种情况下,监控系统成为了微服务控制系统的核心组成部分。随着软件的复杂性不断增加,了解系统的...【详细内容】
2024-04-03  Search: 架构  点击:(7)  评论:(0)  加入收藏
大模型应用的 10 种架构模式
作者 | 曹洪伟在塑造新领域的过程中,我们往往依赖于一些经过实践验证的策略、方法和模式。这种观念对于软件工程领域的专业人士来说,已经司空见惯,设计模式已成为程序员们的重...【详细内容】
2024-03-27  Search: 架构  点击:(20)  评论:(0)  加入收藏
哈啰云原生架构落地实践
一、弹性伸缩技术实践1.全网容器化后一线研发的使用问题全网容器化后一线研发会面临一系列使用问题,包括时机、容量、效率和成本问题,弹性伸缩是云原生容器化后的必然技术选择...【详细内容】
2024-03-27  Search: 架构  点击:(13)  评论:(0)  加入收藏
京东小程序数据中心架构设计与最佳实践
一、京东小程序是什么京东小程序平台能够提供开放、安全的产品,成为品牌开发者链接京东内部核心产品的桥梁,致力于服务每一个信任我们的外部开发者,为不同开发能力的品牌商家提...【详细内容】
2024-03-27  Search: 架构  点击:(19)  评论:(0)  加入收藏
从 MySQL 到 ByteHouse,抖音精准推荐存储架构重构解读
ByteHouse是一款OLAP引擎,具备查询效率高的特点,在硬件需求上相对较低,且具有良好的水平扩展性,如果数据量进一步增长,可以通过增加服务器数量来提升处理能力。本文将从兴趣圈层...【详细内容】
2024-03-22  Search: 架构  点击:(29)  评论:(0)  加入收藏
全程回顾黄仁勋GTC演讲:Blackwell架构B200芯片登场
北京时间3月19日4时-6时,英伟达创始人黄仁勋在美国加州圣何塞SAP中心登台,发表GTC 2024的主题演讲《见证AI的变革时刻》。鉴于过去一年多时间里AI带来的生产力变革,以及英伟达...【详细内容】
2024-03-19  Search: 架构  点击:(18)  评论:(0)  加入收藏
高并发架构设计(三大利器:缓存、限流和降级)
软件系统有三个追求:高性能、高并发、高可用,俗称三高。本篇讨论高并发,从高并发是什么到高并发应对的策略、缓存、限流、降级等。引言1.高并发背景互联网行业迅速发展,用户量剧...【详细内容】
2024-03-13  Search: 架构  点击:(12)  评论:(0)  加入收藏
有了LLM,所有程序员都将转变为架构师?
编译 | 言征 出品 | 51CTO技术栈(微信号:blog51cto)生成式人工智能是否会取代人类程序员?可能不会。但使用生成式人工智能的人类可能会,可惜的是,现在还不是时候。目前,我们正在见...【详细内容】
2024-03-07  Search: 架构  点击:(27)  评论:(0)  加入收藏
▌简易百科推荐
对于微服务架构监控应该遵守的原则
随着软件交付方式的变革,微服务架构的兴起使得软件开发变得更加快速和灵活。在这种情况下,监控系统成为了微服务控制系统的核心组成部分。随着软件的复杂性不断增加,了解系统的...【详细内容】
2024-04-03  步步运维步步坑    Tags:架构   点击:(7)  评论:(0)  加入收藏
大模型应用的 10 种架构模式
作者 | 曹洪伟在塑造新领域的过程中,我们往往依赖于一些经过实践验证的策略、方法和模式。这种观念对于软件工程领域的专业人士来说,已经司空见惯,设计模式已成为程序员们的重...【详细内容】
2024-03-27    InfoQ  Tags:架构模式   点击:(20)  评论:(0)  加入收藏
哈啰云原生架构落地实践
一、弹性伸缩技术实践1.全网容器化后一线研发的使用问题全网容器化后一线研发会面临一系列使用问题,包括时机、容量、效率和成本问题,弹性伸缩是云原生容器化后的必然技术选择...【详细内容】
2024-03-27  哈啰技术  微信公众号  Tags:架构   点击:(13)  评论:(0)  加入收藏
DDD 与 CQRS 才是黄金组合
在日常工作中,你是否也遇到过下面几种情况: 使用一个已有接口进行业务开发,上线后出现严重的性能问题,被老板当众质疑:“你为什么不使用缓存接口,这个接口全部走数据库,这怎么能扛...【详细内容】
2024-03-27  dbaplus社群    Tags:DDD   点击:(16)  评论:(0)  加入收藏
高并发架构设计(三大利器:缓存、限流和降级)
软件系统有三个追求:高性能、高并发、高可用,俗称三高。本篇讨论高并发,从高并发是什么到高并发应对的策略、缓存、限流、降级等。引言1.高并发背景互联网行业迅速发展,用户量剧...【详细内容】
2024-03-13    阿里云开发者  Tags:高并发   点击:(12)  评论:(0)  加入收藏
如何判断架构设计的优劣?
架构设计的基本准则是非常重要的,它们指导着我们如何构建可靠、可维护、可测试的系统。下面是这些准则的转换表达方式:简单即美(KISS):KISS原则的核心思想是保持简单。在设计系统...【详细内容】
2024-02-20  二进制跳动  微信公众号  Tags:架构设计   点击:(41)  评论:(0)  加入收藏
详解基于SpringBoot的WebSocket应用开发
在现代Web应用中,实时交互和数据推送的需求日益增长。WebSocket协议作为一种全双工通信协议,允许服务端与客户端之间建立持久性的连接,实现实时、双向的数据传输,极大地提升了用...【详细内容】
2024-01-30  ijunfu  今日头条  Tags:SpringBoot   点击:(23)  评论:(0)  加入收藏
PHP+Go 开发仿简书,实战高并发高可用微服务架构
来百度APP畅享高清图片//下栽のke:chaoxingit.com/2105/PHP和Go语言结合,可以开发出高效且稳定的仿简书应用。在实现高并发和高可用微服务架构时,我们可以采用一些关键技术。首...【详细内容】
2024-01-14  547蓝色星球    Tags:架构   点击:(125)  评论:(0)  加入收藏
GraalVM与Spring Boot 3.0:加速应用性能的完美融合
在2023年,SpringBoot3.0的发布标志着Spring框架对GraalVM的全面支持,这一支持是对Spring技术栈的重要补充。GraalVM是一个高性能的多语言虚拟机,它提供了Ahead-of-Time(AOT)编...【详细内容】
2024-01-11    王建立  Tags:Spring Boot   点击:(135)  评论:(0)  加入收藏
Spring Boot虚拟线程的性能还不如Webflux?
早上看到一篇关于Spring Boot虚拟线程和Webflux性能对比的文章,觉得还不错。内容较长,抓重点给大家介绍一下这篇文章的核心内容,方便大家快速阅读。测试场景作者采用了一个尽可...【详细内容】
2024-01-10  互联网架构小马哥    Tags:Spring Boot   点击:(135)  评论:(0)  加入收藏
站内最新
站内热门
站内头条