浅谈双机(多机)部署相同应用

近来闲谈中又谈到了一个应用双机部署、双机热备之类的话题,以往总是一谈而过,自己对这个情况好像懂些,其实也未必懂,突发奇想,还是做个简单的总结打个基础,以后有了新的认知再可在此基础上不断迭代,也逼自己离开懵懂的舒适区

1、部署架构

 

 

 

 

 部署方式1:

 

1、应用的入口使用nginx和keepalived,保证应用的负载均衡和高可用

2、应用后面部署一台数据服务器,供两个前端应用连接

 

 部署方式2:

 

1、应用的入口使用nginx和keepalived,保证应用的负载均衡和高可用

2、应用后面部署两台数据服务器,供应用连接(1对1 连接),两台数据库服务器之间数据同步

 

 部署方式3:

 

1、应用的入口使用nginx和keepalived,保证应用的负载均衡和高可用

2、应用后面部署两台数据服务器,供应用连接

3、数据库采用主从架构,1主,3从

4、数据库的读写分离,写入连接到主数据库,读取通过负载均衡设备代理到3台从服务器

 

2、技术支撑

 

2.1、以上的两台应用和两台数据库,可以同理扩展至三台及以上,具体根据需求设计

 

2.2、应用需要可以支撑集群化部署,非单机部署

 

2.3、网络带宽充足,万兆接入,超万兆互联;主从数据库考虑使用心跳线连接

 

2.4、数据库采用主从部署(2台以上),主从方案如下:

2.4.1、复制模式

复制模式也被称为发布-订阅模式,是由主服务器进行发布消息,备份服务器进行订阅,当主服务器数据发生变更时,就会发布消息,备份服务器读取消息进行同步更新,中间过程延迟比较短

2.4.2、镜像传输模式

将两台数据库服务器通过一台中间监控服务器关联起来,两台服务器通过镜像文件,实时同步数据(有延迟,延迟很短)

2.4.3、日志传输模式

与镜像传输模式类似,是将主数据库日志备份,发送到从服务器上,然后从服务器还原日志,更新数据

2.4.4、故障转移集群

将多台服务器通过一个共享的外部存储区域(SAN),连接成一个资源共享的服务器群体,数据库文件和实例,都存放并运行在该共享区域节点上,每台服务器相当于一个节点,共同访问共享的节点实例。

服务器只有一个节点处于活动状态,当活动节点出现故障,会有其他节点主动启动,取代当前故障点,整个过程只需要几秒钟,用户无法感知。

 

2.5、nginx和keepalived的配置

 

2.6、数据库的读写分离

 

3、适用场景

 

3.1、业务系统必须保证24小时不间断运行

 

3.2、业务系统的请求量大

 

4、优缺点

4.1、优点

4.1.1、服务器的高可用性,减少了业务中断时间,保证了业务的持续运行;

4.1.2、提高了故障转移的速度,当主服务器出现故障时,备服务器可以立即接管;

4.1.3、提高了系统的可靠性,当备服务器出现故障时,可以很容易地将备服务器更换为新的备服务器;

4.1.4、能够在不影响业务运行的情况下进行升级和维护。

 

4.2、缺点

4.2.1、成本较高,需要购买两台服务器(或以上)以及共享存储设备;

4.2.2、需要使用专业的软件和硬件控制器,增加了维护和管理的难度;

4.2.3、备服务器上的数据需要与主服务器同步,如果数据量过大或网络传输较慢,则会影响业务运行

 

posted @ 2023-09-06 17:32  软件改变思维!!  阅读(317)  评论(0)    收藏  举报