热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

[Linux基础与服务管理——常用集群高可用软件Keepalived]

1.Keepalived简介Keepalived是Linux下的一个免费的、轻量级的高可用解决方案。是一个由C语言编写的路由软件,主要目标是为Linux系统和基于L

1.Keepalived 简介

Keepalived是Linux下的一个免费的、轻量级的高可用解决方案。是一个由C语言编写的路由软件,主要目标是为Linux系统和基于Linux的基础架构提供简单而强大的负载平衡和高可用性设。Keepalived实现了一组检查器,以根据其健康状况动态地和自适应地维护和管理负载平衡的服务器池。另一方面,VRRP实现了高可用性协议。VRRP是路由器故障转移的基础。此外,Keepalived为VRRP有限状态机实现了一组挂钩,提供低级和高速协议交互。为了提供最快的网络故障检测,Keepalived实现了BFD协议。VRRP状态转换可以考虑BFD提示来驱动快速状态转换。

Keepalived框架可以单独使用,也可以与其他软件一起使用。 Keepalived最开始是为LVS设计的,主要用来监控集群中各个服务节点的运行状态。 当服务节点出现故障被检测到,则会被Keepalived从集群中剔除,待恢复后再重新加入集群,期间的工作自动完成,不需要人工干预,需要人工完成的部分仅限于修复出现故障的服务节点。 VRRP协议,全称:Virtual Router Redundancy Protocol(虚拟路由器冗余协议)。它是一种选择协议、路由备份协议,是Keepalived最重要的一个功能。可以将多个路由器组成一个虚拟路由器(一主多备),在网络发生故障时,可以实现透明切换。 通过VRRP协议组成的虚拟路由器,通过一个或多个虚拟IP对外提供服务,在内部则是多个物理路由器协同工作,同一时间只有一台物理路由器对外提供服务,被称为主路由器。其工作过程大致如下:

1.启用VRRP功能后,根据优先级确定自己的在虚拟路由器中的角色,优先级高的为主路由器,其他的为备用路由器。主路由器定期向其他备用路由器发送VRRP报文,通告自己的工作状态正常,备用路由器则会定时接收。

2.VRRP根据不同的抢占方式,确定是否替换主备状态: ● 抢占方式:备用路由器收到报文后,会对比优先级,若大于通告报文中的优先级,则切换为主路由器,否则报持状态不变; ● 非抢占方式:主路由器在没有出现故障的情交下,主路由器与备用路由器将一直保持原有的状态。

3.若备用路由器在一定时间内没有收到主路由器发送的VRRP报文,则认为主路由器无法正常工作,此时备用路由器将会选举出优先级高的作为主路由器并发送VRRP报文,替代原有主路由器持续工作。 了解了VRRP如何工作,下面将介绍Keepalived是如何工作的。但在介绍之前,还需要了解一下它的设计架构及健康检查机制。Keepalived大致分两层结构:用户空间和内核空间。其大多数核心功能均在用户空间,而内核空间中的两个模块,IPVS主要实现负载均衡,NETLINK则主要提供高级路由及其他相关的网络功能。图9-27是官方给出的Keepalived体系结构拓扑图。

Keepalived提供了三个守护进程,分别负责不同的功能: ● 父进程:负责fork子进程并对其进行监控。 ● VRRP子进程:负责VRRP框架。 ● 键康检查子进程:负责健康检查。 Keepalived依赖于VRRP协议实现高可用,同时还实现基于TCP/IP协议栈的多层(3层、4层、5/7层)的健康检查机制,能够提供服务节点检查及故障隔离的功能。其运行机制大致如下: ● 网络层:主要通过ICMP协议,向服务节点发送ICMP数据包(类似ping命令的方式),若无响应,则判定为故障节点并将其从集群中移除。 ● 传输层:主要通过TCP协议,向后端发起一个TCP连接请求,若无响应,则判定为故障节点并将其从集群中移除。 ● 应用层:主要根据用户的一些设定来判断节点是否正常,若不正常,则判定为故障节点并将其从集群中移除。常用的方式即使用脚本进行检测。

Keepalived一般会同时运行在两台或更多服务器上,同时提供服务且存在主从之分。实际提供服务的只有主服务节点。其工作原理与VRRP类似。Keepalived会根据配置文件中定义的优先级或节点的主从标记,确定哪一台服务器中运行的服务可以成为主节点并使用VIP(虚拟IP)对外提供服务,其他的则成为从节点。若Keepalived的主节点出现故障停止提供服务或所在的服务器宕机时,会将主节点移除并在从节点中选举出优先级较高的节点作为新的主节点并接管VIP继续提供服务,保证服务的不间断。待故障节点恢复后,再重新加入并重新确定是否需要切换主从关系。


2.Keepalived 安装及基础配置 

1.Keepalived安装比较简单,安装的方式主要分为两种: ● 可以使用YUM源直接进行安装。如下所示。

[root@keepalive-master ~]# yum install -y keepalived

如果出现图中这种重复的语句就使用rm  -F  /var/run/yum.pid命令强制关闭yum再重新安装,下图所示。

 

2. 如果需要使用最新版本, 也可以在官网:http://www.keepalived.org/下载最新的版本编译安装。 安装(此处使用YUM源进行安装)过程,Keepalived的配置(/etc/keepalived/keepalived.conf)主要分为以下七个部分,也可以在/usr/share/doc/keepalived-<版本号>/samples目录下查看官方提供的配置文件示例或使用命令“man keepalived.conf”查看相关参数及说明。由于参数较多且限于篇幅,下面将简单介绍其主要功能及常用的配置参数:

3.101 global_defs

定义全局设置,包括如发送消息的邮件地址、SMTP服务器的IP、SMTP服务器的超时时间、 主机识别字符串、VRRP多播地址等。 ● notification_email:故障时接收邮件的地址,可以多个,每行一个; ● notification_email_from:邮件发送地址; ● smtp_server:SMTP服务器地址; ● smtp_connect_timeout:SMTP连接超时时间; ● router_id:主机识别标志。出现故障需要发送邮件时,通知邮件会使用到它。 ● vrrp_skip_check_adv_addr:跳过报文检查。当收到的报文与上一个报文来自同一个路由器时有效; ● vrrp_strict:vrrp协议严格模式,严格遵守vrrp协议; ● vrrp_garp_interval:网卡上APR消息之间的延迟; ● vrrp_gna_interval:网卡上发送的未经请求的NA消息之间的延迟。

3.2static_ipaddress 和static_routes

定义静态IP地址和路由。如果服务器上已经定义且这些服务器具有网络连接,则不需要此部分。

3.3vrrp_sync_group

定义一起故障转移的VRRP备份VRRP同步组。 ● group:vrrp_instance实例名,可以多个,每行一个; ● notify_master:状态转为MASTER时,执行的脚本; ● notify_backup:状态转为BACKUP时,执行的脚本; ● notify_fault:状态转为FAULT时,执行的脚本; ● notify:当出现状态转换时,即会执行的脚本。在 notify_* 脚本之后执行。 ● smtp_alert:状态发生转换时,触发邮件发送。相关的信息在 global_defs 中定义; ● global_tracking:所有VRRP共享相同的跟踪配置。

3.4vrrp_instance

为VRRP同步组的内部或外部网络接口的成员定义可移动的虚拟IP地址,在状态切换时会漂移到其他节点上继续提供服务。每个VRRP实例必须具有唯一的“virtual_router_id”值,标志着哪些主/备服务器可以使用同一个虚拟IP地址提供服务。即同一“vrrp_instance”中,此值在MASTER或BACKUP节点上必须一致。还可以指定状态在切换为MASTER、BACKUP和 FAULT时,是否触发SMTP警报。 ● state:节点的状态。可为:MASTER、BACKUP。单节点时,默认为MASTER,当有多个节点时,选举出优先级最高的成为MASTER。 ● interface:发送vrrp报文的网卡。 ● virtual_router_id:虚拟路由器标识。全局唯一且范围在0-255之间的整数数字。同一个实例中,主从节点中的此值必须一致。 ● priority:优先级数值。值越大,优先级越高。若为MASTER,建议值设置比其他节点高出至少50。 ● advert_int:VRRP广告时间间隔(以秒为单位)(例如0.92)(默认使用)。 ● authentication:设置认证信息。 ● virtual_ipaddress:虚拟IP地址,可以多个,每行一个。当状态在MASTER和BACKUP之间切换时,添加或删除的IP地址。

3.5vrrp_script

定义跟踪脚本。主要用于健康检查。当需要根据业务进程的运行状态决定是否需要进行主备切换时,可以通过编写脚本对业务进程进行检测监控。主要用于 vrrp_instance 和 vrrp_sync_group 部分。 ● script:执行脚本的路径; ● interval:每两次调用执行脚本的时间间隔; ● timeout:脚本执行的超时时间; ● weight:权重值。按此权重调整优先级,默认为0。

3.6virtual_server_group

定义虚拟服务器组,允许真实服务器成为多个虚拟服务器组的成员,每行一个。成员格式为:IP地址或范围和端口号,以空格分隔。

3.7 virtual_server

定义用于负载平衡的虚拟服务器,该服务器由多个真实服务器组成。后接虚拟IP地址和端口号,以空格分隔。 ● delay_loop:轮询的延迟时间; ● lb_algo:LVS负载均衡调度算法。官方给出的可选项为:rr、wrr、lc、wlc、lblc、sh、dh; ● lb_kind:LVS转发模式。官方给出的可选项为:NAT、DR、TUN; ● persistence_timeout:LVS会话超时时间,默认6分钟; ● protocol:第四层网络协议,默认为TCP。官方给出的可选项为:TCP、UDP、SCTP; ● real_server:定义LVS真实服务器节点。有多少个真实服务器节点,则需要多少段; ● weight:real_server中使用。权重值,默认为1; ● inhibit_on_failure:real_server中使用。当键康检查失败时,权重值会被重置为0; ● notify_up:real_server中使用。当健康检查认为服务为UP状态时,执行的脚本; ● notify_down:real_server中使用。当健康检查认为服务为DOWN状态时,执行的脚本; ● HTTP_GET:real_server中使用。健康检查定义,官方给出的可选项为: HTTP_GET、SSL_GET、TCP_CHECK、SMTP_CHECK、DNS_CHECK、MISC_CHECK


3.3Keepalived 基于非抢占模式配置实例

将演示如何配置Keepalived的非抢占模式,同时会涉及到LVS的相关内容。演示中使用了四台服务器,两台作为Keepalived及ipvsadm节点,两台做为后端的真实服务器。ipvsadm在演示中主要用于查看LVS集群的相关信息,而具体的配置则是通过Keepalived配置文件直接进行配置管理的。即实际的演示内容是Keepalived+LVS的集群,关于LVS后端真实服务器的配置,由于在前面的章节中已经有过详细步骤,因此本小节将不再进行演示。同时所有服务器已完成了一些常用的初始化内容,如设置主机名、关闭SELinux、测试域名解析等,后续不再进行说明。 Keepalived在运行过程中,可以配置抢占和非抢占模式。两者的区别如下: ● 抢占模式:即在一个Keepalived集群中同时存在MASTER和BACKUP节点,且MASTER节点的优先级比BACKUP节点高, 当MASTER节点故障时,在BACKUP节点中选举出优先级最高的节点作为新的MASTER继续提供服务并抢占VIP, 但是当原来的MASTER恢复后,会将VIP抢回。

非抢占模式:即在一个Keepalived集群中只存在BACKUP节点,选举出优先级最高的成为MASTER提供服务,当作为MASTER节点故的服务器障时,在其他BACKUP节点中选举出优先级最高的节点作为新的MASTER继续提供服务并抢占VIP,但是在原来作为MASTER节点的服务器恢复后,不会抢回VIP,而是作为一个BACKUP节点加入到集群中。可以通过两种方式设置非抢占模式,第一种即在优先级高的节点的配置文件中添加参数:nopreempt;第二种则是将所有BACKUP节点的优先级设置为相同的值。 了解了抢占与非抢占模式的区别,在Keepalived的运行中,还有一种被称为“脑裂”的问题,它是由于配置不当或MASTER/BACKUP节点之间的检测出现异常,导致VIP同时在MASTER节点与BACKUP节点出现引起的,会导致出现资源争抢、同时读写、数据损坏等问题。 Keepalived+LVS的集群主要分为两部分:后端的真实服务器(Real Server)和前端的负载调度节点(Load Balancer)。演示所需的服务器信息,如表9-5所示。


HOSTNAME

IP ADDRESS

ROLES

keepalived-backup1

VIP: 192.168.122.200, DIP: 192.168.122.128

Keepalived,ipvsadm

keepalived-backup2

VIP: 192.168.122.200, RIP: 192.168.122.204

Keepalived,ipvsadm

keepalived-nginx1

VIP: 192.168.122.200, RIP: 192.168.122.205

Nginx

keepalived-nginx2

VIP: 192.168.122.200, RIP: 192.168.122.217

Nginx

以上服务器对应的架构图,如图9-28所示。

1.配置后端真实服务器 对Nginx1服务器配置如下: 1)登录keepalived-nginx1,安装Nginx服务并进行简单配置(使用默认站点即可),方便演示过程中查看具体的效果。需要执行的命令如下。

[root@keepalived-nginx1 ~]# yum install -y nginx
[root@keepalived-nginx1 ~]# systemctl enable nginx.service
[root@keepalived-nginx1 ~]# systemctl start nginx.service
[root@keepalived-nginx1 ~]# firewall-cmd --add-port=80/tcp
[root@keepalived-nginx1 ~]# echo "keepalived-nginx1 192.168.122.205" > /usr/share/nginx/html/index.html

 安装并配置完成后,在浏览器中访问,若出现如图9-29所示的内容,则说明Nginx服务已安装成功并能正常提供服务。

2)登录keepalived-nginx1,由于涉及到LVS,因此还需要配置虚拟IP地址及路由规则、抑制ARP设置等,命令如下所示(具体的演示步骤,可以参考前面相关小节)。

[root@keepalived-nginx1 ~]# ifconfig lo:0 192.168.122.200 broadcast 192.168.122.200 netmask 255.255.255.255 up
[root@keepalived-nginx1 ~]# route add -host 192.168.122.200 dev lo:0
[root@keepalived-nginx1 ~]# echo "1" > /proc/sys/net/ip.>v4/conf/lo/arp_ignore
[root@keepalived-nginx1 ~]# echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
[root@keepalived-nginx1 ~]# echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@keepalived-nginx1 ~]# echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce

 

3)配置永久生效的防火墙规则,允许Nginx服务持续对外提供服务。命令如下所示。

[root@keepalived-nginx1 ~]# firewall-cmd --permanent --add-port=80/tcp
[root@keepalived-nginx1 ~]# firewall-cmd --reload

若能通过“firewall-cmd --list-all”查看到如图9-30所示的内容,则说明防火墙规则已生效。

4)登录keepalived-nginx2,安装Nginx服务并做简单配置(使用默认站点即可),方便演示过程中查看具体的效果。需要执行的命令如下。 

[root@keepalived-nginx2 ~]# yum install -y nginx
[root@keepalived-nginx2 ~]# systemctl enable nginx.service
[root@keepalived-nginx2 ~]# systemctl start nginx.service
[root@keepalived-nginx2 ~]# firewall-cmd --add-port=80/tcp
[root@keepalived-nginx2 ~]# echo "keepalived-nginx2 192.168.122.217" > /usr/share/nginx/html/index.html

安装并配置完成后,在浏览器中访问,若出现如图9-31所示的内容,则说明Nginx服务已安装成功并能正常提供服务。

5)登录keepalived-nginx2,由于涉及到LVS,因此还需要配置虚拟IP地址及路由规则、抑制ARP设置等,命令如下所示(具体的演示步骤,可以参考前面相关小节)。

[root@keepalived-nginx2 ~]# ifconfig lo:0 192.168.122.200 broadcast 192.168.122.200 netmask 255.255.255.255 up
[root@keepalived-nginx2 ~]# route add -host 192.168.122.200 dev lo:0
[root@keepalived-nginx2 ~]# echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@keepalived-nginx2 ~]# echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
[root@keepalived-nginx2 ~]# echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@keepalived-nginx2 ~]# echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce

 若能通过“firewall-cmd --list-all”查看到如图9-32所示的内容,则说明防火墙规则已生效。

6)配置永久生效的防火墙规则,允许Nginx服务持续对外提供服务。命令如下所示。

[root@keepalived-nginx2 ~]# firewall-cmd --permanent --add-port=80/tcp
[root@keepalived-nginx2 ~]# firewall-cmd --reload

 若能通过“firewall-cmd --list-all”查看到如图9-32所示的内容,则说明防火墙规则已生效。


2. 配置 Load Balanc 

1)登录keepalived-backup1,分别安装keepalived和ipvsadm。命令如下。

[root@keepalived-backup1 ~]# yum install -y keepalived ipvsadm
[root@keepalived-backup1 ~]# systemctl enable keepalived.service
[root@keepalived-backup1 ~]# systemctl start keepalived.service

若通过“keepalived -v”与“ipvsadm -L -n”命令可查看到如图9-33所示的内容,则说明安装成功(此时由于未修改keepalived的配置文件,ipvsadm显示的信息为默认配置的信息)

2)登录keepalived-backup1,先ifconfig查看网卡名称:

 

修改配置文件:/etc/keepalived/keepalived.conf,将其中的内容修改为如下所示的内容(建议根据实际情况进行修改)。

! Configuration File for keepalivedglobal_defs {notification_email {notification_emal@tang.com}notification_email_from Alexandre.Cassen@firewall.locsmtp_server 127.0.0.1smtp_connect_timeout 30router_id LVS_DEVELvrrp_skip_check_adv_addrvrrp_strictvrrp_garp_interval 0vrrp_gna_interval 0
}vrrp_instance VI_1 {state BACKUPinterface eth0virtual_router_id 51priority 100nopreemp
advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.122.200}
}
virtual_server 192.168.122.200 80 {delay_loop 1lb_algo rrlb_kind DRpersistence_timeout 0protocol TCPreal_server 192.168.122.205 80 {weight 1HTTP_GET {url {path /}connect_timeout 3nb_get_retry 3delay_before_retry 3}}
real_server 192.168.122.217 80 {weight 1HTTP_GET {url {path /}connect_timeout 3nb_get_retry 3delay_before_retry 3}}
}

 

3)登录keepalived-backup1,配置永久生效的防火墙规则,允许各节点间通过VRRP协议通信,以实现Keepalived各节点之间通信及允许其他主机可以通过该服务器的80端口访问后端Nginx服务,命令如下所示。

[root@keepalived-backup1 ~]# firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 --in-interface eth0 --destination 224.0.0.18 --protocol vrrp -j ACCEPT
[root@keepalived-backup1 ~]# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 --in-interface eth0 --destination 224.0.0.18 --protocol vrrp -j ACCEPT
[root@keepalived-backup1 ~]# firewall-cmd --permanent --add-port=80/tcp
[root@keepalived-backup1 ~]# firewall-cmd --reload

此时,若通过“firewall-cmd --list-all”命令,只能是看到关于80端口的信息,若需要查看通过“--direct”参数添加的规则,则需要使用“firewall-cmd --direct --get-all-rules”命令。如图9-34所示。

4)登录keepalived-backup1,重启keepalived服务即可。

[root@keepalived-backup1 ~]# systemctl restart keepalived.service

 重启成后,再次使用“ipvsadm -L -n”命令,可以查看到其中的信息已经发生了变更,如图9-35所示。

5)登录keepalived-backup2,分别安装keepalived和ipvsadm。命令如下。

[root@keepalived-backup2 ~]# yum install -y keepalived ipvsadm
[root@keepalived-backup2 ~]# systemctl enable keepalived.service
[root@keepalived-backup2 ~]# systemctl start keepalived.service

若通过“keepalived -v”与“ipvsadm -L -n”命令,若可以查看到如图9-33所示同样的内容,则说明安装成功(此时由于未修改keepalived的配置文件,ipvsadm显示的信息为默认配置的信息)。

6)登录keepalived-backup2,修改配置文件:/etc/keepalived/keepalived.conf。文件内容与keepalived-backup1节点的配置文件一致即可(建议根据实际情况进行修改),此处不再赘述,详细内容可参考第2步骤。 7)登录keepalived-backup2,配置永久生效的防火墙规则,允许各节点间通过VRRP协议通信,以实现Keepalived各节点之间通信及允许其他主机可以通过该服务器的80端口访问后端Nginx服务。命令如下所示。

[root@keepalived-backup2 ~]# firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 --in-interface eth0 --destination 224.0.0.18 --protocol vrrp -j ACCEPT
[root@keepalived-backup2 ~]# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 --in-interface eth0 --destination 224.0.0.18 --protocol vrrp -j ACCEPT
[root@keepalived-backup2 ~]# firewall-cmd --permanent --add-port=80/tcp
[root@keepalived-backup2 ~]# firewall-cmd --reload

此时,若通过“firewall-cmd --list-all”命令,只能是看到关于80端口的信息,若需要查看通过“--direct”参数添加的规则,则需要使用“firewall-cmd --direct --get-all-rules”命令。同样的可以查看到如图9-34所示的内容。

8)登录keepalived-backup2,重启keepalived服务即可。

[root@keepalived-backup2 ~]# systemctl restart keepalived.service

重启成后,再次使用“ipvsadm -L -n”命令,可以查看到其中的信息已经发生了变更,同样的可以查看到如图9-35所示的内容。 至此,Keepalived+LVS的集群就配置完成了。通过浏览器访问虚拟IP地址,若刷新页面(必要时请使用强制刷新,消除缓存影响)能查看到如图9-36所示的内容,则说明配置已经生效。

也可以使用“curl”命令在命令行进行访问,若出现如图9-37所示的内容,则同样表示配置已经生效。

 


推荐阅读
  • LVS-DR直接路由实现负载均衡示例
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • Nginx的TCP/UDP负载均衡是应用Stream代理模块(ngx_stream_proxy_module)和Stream上游模块(ngx_stream_upstream_mod ... [详细]
  • 配置Linux—LVS(DR)第一部分:DR模式配置OS:RedhatAS4U4内核:2.6.9-42Server1:192.168.1. ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 护墙_搭建LVS负载均衡NAT和DR模式
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了搭建LVS负载均衡NAT和DR模式相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Nginxgaodaima.comnginx属于七层架构,支持的是http协议,本身对tcp协议没有支持。所以不能代理mysql等实现负载均衡。但是lvs这个东西不熟悉,主要是公司 ... [详细]
  • PartI:取经处: http:www.ramkitech.com201210tomcat-clustering ... [详细]
  • LVS服务器集群系统
    LVS介绍LVS:LinuxVirtualServer,负载调度器,内核集成,章文嵩(花名正明),阿里的四层SLB(ServerLoadBalance)是基于LVS+keepali ... [详细]
  • 架构设计:负载均衡层设计方案之负载场景和解决方式篇
    来自:JAVA入门中https:blog.csdn.netyinwenjiearticledetails46605451在上一篇《标准Web系统的架构分层》文章中&# ... [详细]
  • Mysql + keepalive高可用搭建
    Mysql+keepalive高可用搭建系统环境:centos6.8Ip:192.168.137.36主库192.168.137.38从库VIP(虚拟ip浮动ip):192.168.13 ... [详细]
  • 【2021Java最新学习路线】开启mysql远程连接
    前言面试技巧另外开篇再说,先上面试干货吧。面试的题目并不一定有严格的顺序关系,有的是从前一个问题延伸而来,(探究的是一个知 ... [详细]
  • RouterOS 5.16软路由安装图解教程
    本文介绍了如何安装RouterOS 5.16软路由系统,包括系统要求、安装步骤和登录方式。同时提供了详细的图解教程,方便读者进行操作。 ... [详细]
  • 单页面应用 VS 多页面应用的区别和适用场景
    本文主要介绍了单页面应用(SPA)和多页面应用(MPA)的区别和适用场景。单页面应用只有一个主页面,所有内容都包含在主页面中,页面切换快但需要做相关的调优;多页面应用有多个独立的页面,每个页面都要加载相关资源,页面切换慢但适用于对SEO要求较高的应用。文章还提到了两者在资源加载、过渡动画、路由模式和数据传递方面的差异。 ... [详细]
author-avatar
石榴岗村-沙芖鱼
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有