高并发和 keepalived

很多 web 开发者都不会接触到高并发的项目,但是不代表高并发技术栈理论知识就不需要了解。就像欧洲没有互联网公司 (没人比我更了解欧洲互联网环境了),但依旧有程序员。中国自有国情在此,你做的任何一个 web 应用都有可能成为高并发项目。

提到高并发就离不开负载均衡,负载可以理解为一个服务承受流量的工作状态,没有流量的时候是空载,有了点流量服务就运行起来,当流量超过了这个机器的上限,服务就是满载状态。面对一个流量打满了的服务,要么等,要么崩溃,要么等它崩溃。但机器是死的,我们程序员是活的,解决办法除了关机 (别笑,我是认真的),还有就是让流量均匀地打到其他机器上去。

老祖宗有智慧,早就说过,狡兔有三窟,仅得免其死耳。一只兔子要有三个洞藏身,才能免除被猎人猎杀的危险。服务也是一样,如果仅有一台,那么被高并发这个猎人给干掉也无可厚非。所以有多台机器就能抗住更多的流量,抵御更多的风险,均衡讲的就是这么一个意思。

上面我用类比的方式大白话的语境讲述了,系统高可用系统扩展性负载均衡能力。如果一个系统的某些设备被钢铁侠发射的导弹炸掉了,被万磁王给吸走了,也不会影响到原来正常的服务,那么这就是高可用。redis 的哨兵就是高可用,redis cluster 也是高可用。高可用的原理就像葫芦娃一样,

 

系统扩展性讲的是提高带宽,增加数据库等等,都对服务是透明的,而且没有负作用。系统扩展性这方面我看很多框架都给我们处理好了,不需要太操心,都是配置一通就可以了。(像我就没有好的扩展性,如果谁给我五百万,我能高兴的当场去世)。

 

一个服务由多个物理机器提供,每个机器运行的服务是相同的。我们采用某个策略让流量负载到不同的机器上去,每个机器都保持一个比较合理的负载。一个高并发的项目,必然有虚拟服务器,故障隔离和失败切换机制。虚拟服务器是对客户端透明的,似乎只有一个服务器在提供服务。故障隔离是系统可以自动把失效了的机器从工作岗位请下去,不再提供服务。失败切换是针对负载均衡器的一种使用机制,在有两个负载均衡器的时候,一个被钢铁侠给炸伤了,另一个就赶紧接替其工作。

要实现上面我讲的这些功能,就需要一个大名鼎鼎的软件,keepalived。keepalived 是一个用 c 语言编写的路由软件,它是依赖于 LVS (Linux Virtual Server) 的。当你第一次使用 keepalive 的使用不要像我一样,去百度如何下载 LVS。(钢铁侠看到这里就提问,所以要去 google 一下怎么下载 LVS 吗?) 嗯,是的,多用 google 少用百度。LVS 由于太棒了,已经包含在 linux 内核当中了。

讲到这里,就明确了使用 keepalived 的两个特性。第一服务器必须是 linux 系统,第二高并发项目适合。keepalived 的使用给我的感觉就和配置 nginx 差不多,而且 keepalived 很多时候也真的是和 nginx 一起打配合使用。概念明确了,使用场景明确了,那么怎么安装配置使用一下 keepalived 练练手呢?

 

接下来我会把如何下载 keepalived 和配置使用写成文章发表出来,只要我还活着,大家都有得学。

(本文有什么错误或者歧义请指出,谢谢)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值