鱼C论坛

 找回密码
 立即注册
查看: 6890|回复: 18

[小天才资讯] 老说的“分布式和集群”,到底是啥?

[复制链接]
发表于 2017-11-27 17:05:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 不二如是 于 2017-11-27 17:37 编辑

推荐阅读:

老说的“API”,到底是啥? |【独家】



1 分布式(distributed)


小不二的公司有3个系统:
        系统A、系统B和系统C 。


这三个系统所做的业务不同,被部署在3个独立的机器上运行。

他们之间互相调用(当然是跨域网络的), 通力合作完成公司的业务流程。

640.png


将不同的业务分布在不同的地方, 这就构成了一个分布式的系统,现在问题来了:
        系统A是整个分布式系统的“脸面”, 用户直接访问,用户量访问大的时候要么是速度巨慢,要么直接挂掉 


由于系统A只有一份, 所以会引起单点失败。

那怎么办呢?




2 集群(Cluster)


小不二的公司不差钱,就多买几台机器吧。

小不二把系统A一下子部署了好几份(例如下图的3个服务器),每一份都是系统A的一个实例。

对外提供同样的服务,这样能睡个安稳觉了,不怕其中一个坏掉了,我还有另外2个呢。  

这3个服务器上的系统就组成了一个集群

640-1.png


可是对用户来说:
        一下子出现这么系统A ,每个系统的IP地址都不一样,  到底访问哪一个? 


如果所有人都访问服务器1.1 ,那服务器1.1 会被累死。

剩下的三个闲死,成了浪费钱的摆设。

这样小不二以后怎么在公司炫技(装x)呢?




3 负载均衡(Load Balancer)


小不二要尽可能的让3个机器上的系统A工作均衡一些。

比如:
        有3万个请求,那就让3个服务器各处理1万个(当然,这是理想状况), 这叫负载均衡。  


很明显:
        这个负载均衡的工作最好独立出来, 放到独立的服务器上 (例如Ngnix)


640-2.png


后来小不二发现:
        这个负载均衡的服务器虽然工作内容很简单,就是拿到请求分发请求,但是它还是有可能挂掉啊, 单点失败还是会出现。


没办法,只好把负载均衡也搞成一个集群, 不过和系统A的集群有两点不同
640-3.png

1.  这个新的集群中虽然有两个机器,但我们可以用某种办法,让这个集群对外只提供一个IP地址, 也就是说用户看到的好像只有一个机器

2. 同一时刻,我们只让一个负载均衡的机器工作另外一个原地待命。 如果工作的那个挂掉了,待命的那个就顶上去。






4 弹性(elasticity)


如果这3个系统A的实例还是满足不了大量的请求,那就再加服务器! 

这就是典型的:
游客,如果您要查看本帖隐藏内容请回复

双11来了用户量是平时的10倍

小不二向领导申请费用又买了几十台服务器,一下子把系统A部署了几十份。

可是双11过后, 流量一下子降下来了,那几十个服务器用不上了,也变成了摆设!

被领导批评以后,小不二决定尝试一下云计算。

在云端可以轻松的创建、删除虚拟的服务器, 那样就可以轻松地随着用户的请求动态的增减服务器了。

双11来了就创建虚拟服务器,等到双11过去了就把不用的关掉, 省得浪费钱。 

于是通过云服务器,小不二的系统具备了“随用随开,用完释放”弹性




5 失效转移(failove)


上面的系统看起来很美好,但是做了一个不切实际的假设:
        所有的服务都是无状态的。


用大白话讲:
        用户的两次请求都是没有关联的


但是现实是:
        大部分服务都是有状态的, 例如购物车


假设一个情景:
        鱼油往购物车添加送妹子的东西,在服务器1.1上创建了一个购物车,并向其中加入了几个商品, 然后服务器1.1挂掉了。

        用户的后续访问就找不到服务器1.1了,这时候就要做失效转移,让另外几个服务器去接管、去处理用户的请求。


可是问题来了:
        在服务器1.2,1.3上有用户的购物车吗?

        如果没有, 用户就会抱怨,我刚创建的购物车哪里去了?


还有更严重的:
        假设用户是在服务器1.1上登录的, 用户登录过的信息保存到了该服务器的session(存储特定用户会话所需的属性及配置信息)中。

        现在这个服务器挂掉了, 用户的session自然也不见了。

        当用户被失效转移到其他服务器上的时候,其他服务器发现用户没有登录, 就把用户到了登录界面, 让用户再次登录!


好吧,如果是我一定会“骂街”。。。

网站体验好坏最重要的就是:
        状态, 状态,状态!


用户的登录信息,购物车等都是状态信息。

处理不好状态的问题,集群的威力就大打折扣,无法完成真正的失效转移, 甚至无法使用。

怎么办?  

◊一种办法:
是把状态信息在集群的各个服务器之间复制,让集群的各个服务器达成一致,  谁来干这个事情?

        只能是像Websphere, Weblogic这样的应用服务器了。 


◊一种办法:
        就是把状态信息集中存储在一个地方, 让集群的各个服务器都能访问到:
640-4.png





其实还有更多的概念,这里先普及上面最常用的5个概念




如果喜欢,别忘了评分


                               
登录/注册后可看大图

评分

参与人数 4荣誉 +14 鱼币 +14 贡献 +10 收起 理由
睦ちゃん她爹 + 3
cyhzero + 5 + 5 + 3
luffy丶T + 5 + 5 + 3 支持楼主!
shishunfu + 4 + 4 + 1 支持楼主! 茅舍顿开啊!期待老哥的后续讲.

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-11-27 17:58:03 | 显示全部楼层
有种转发的冲动
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-20 09:10:09 | 显示全部楼层
学习学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-27 12:34:09 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-12-27 16:38:57 | 显示全部楼层
有意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-5 13:22:26 | 显示全部楼层
好厉害的样子!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-20 13:54:23 | 显示全部楼层
6666666666666666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-8 18:02:47 | 显示全部楼层

好厉害
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-4 23:42:21 From FishC Mobile | 显示全部楼层
想知道
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-27 17:24:25 | 显示全部楼层
感謝兄弟的分享
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-28 09:36:37 | 显示全部楼层
学习了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-3 21:25:12 | 显示全部楼层
666666666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-11 02:19:34 From FishC Mobile | 显示全部楼层
///
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-18 11:07:29 | 显示全部楼层
长知识,看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-23 15:29:50 | 显示全部楼层
hello
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-2 09:59:01 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-9-1 19:45:48 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-9-29 10:05:16 | 显示全部楼层
这个好,讲了一些深入的东西,继续
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-3 17:01:12 | 显示全部楼层
66666666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-21 19:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表