分布式和集群概念的简单的认识
来源:互联网 发布:lbp算法实现 编辑:程序博客网 时间:2024/05/16 07:11
分布式的概念:
目前有三个系统,系统A,系统B,系统C,这三个系统所做的业务不同,被部署在三个不同的服务器上运行,他们之间是相互调用(当然是跨域网络的),同理合作完成公司的业务流程。
将不同的业务分布在不同的地方,这就构成了一个分布式的系统,现在问题来了,系统A是整个分布式系统的脸面,用户直接访问,用户访问大的时候要么是速度巨慢,要么是直接挂掉,怎么办呢?
由于系统A只有一份,所以会引起单点失败。
集群的概念:
假如公司有钱的话,那就多买几台机器吧,把系统A一下子部署了好几份,每一份都是系统A的一个实例,对外提供同样的服务,这样可以睡了安稳的觉了,不怕其中的一个坏掉了,我还有另外的两个呢。
这三个服务器上的系统就组成了一个集群。
可是对于用户来说,一下子出现这么多系统A,每个系统的IP地址都不一样,到底访问哪一个?如果所有的人都访问A1,那服务器A1会被累死的,剩下的两个A2,A3会很闲的,成了浪费钱的摆设了。
负载均衡:
要让机器上的三个系统A均衡一些去工作,比如有三万个请求,那就让三个服务器各自的处理一万个,(当然这个是理想的状况),这个叫做负载均衡,很明显这个负载均衡的工作最好独立出来,放到独立的服务器上(例如Ngnix)。这个负载均衡的服务器工作很简单,就是拿到请求,分发请求,但是他还是有可能会挂掉的,单点失败还是会出现的。没有办法,只好把负载均衡也搞一个集群,不过和系统A的集群有两点不同,1这个新的集群中虽说有两台机器,但是我们可以通过某种方法,让这个集群对外对外只提供一个ip地址,也就是说用户看到的好像只有一台机器。2同一时刻,我们只让一个负载均衡的机器工作,另外的一个原地待命。如果工作的那个挂了,就让那个待命的顶上去。
弹性:
如果这三系统还是满足不了客户的大量的请求,那就再加服务器!双11来了的话,用户量是平时的10倍,结果又买了几十台服务器,一下再把系统A部署了几十份。可是双11过后,流量一下子就降了下来,那几十个服务器用不上了,也就成了摆设。
这是你可以尝试一下云计算,在云端可以轻松的创建和删除虚拟的服务器,那样就可以轻松的根据用户的请求动态的增减服务器了。双11来了就创建虚拟的服务器,等双11过了,就把不用的关掉,省得浪费钱。
于是这个系统就具备一定的弹性。
失效转移:
上面的系统看起来很美好,但是做了一个不切实际的假设:所有的服务都是无状态的。换句话说,假设用户的两次请求直接是没有关联的。
但是现实是:大部分的服务都是有状态的,例如购物车。
用户访问系统,在服务器1上创建了一个购物车,并向其中添加了几个商品,然后服务器1挂掉了,用户的后续访问就找不到这个服务器了,这个时候就要做失效转移,,让另外的几个服务器去接管,去处理用户的请求。
可是问题来了,在服务器2,服务器3上有用户的购物车吗?如果没有用户就会抱怨,我刚创建的购物车哪里去了呢?
- 分布式和集群概念的简单的认识
- 关于分布式和集群的简单概念
- 集群和分布式的认识
- 分布式和集群的概念
- 分布式和集群的概念
- 集群与分布式的简单概念
- 关于分布式和集群概念的理解
- 分布式集群的一些理解和概念。
- 集群与分布式的概念
- 分布式和集群的简单理解
- 关于分布式与集群的概念
- 集群和分布式的区别
- 分布式和集群的区别
- 集群和分布式的区别
- 集群和分布式的区别
- 分布式和集群的区别
- 分布式和集群的区别
- 集群和分布式的区别
- 计算机网络:数据链路层
- APICloud的学习成长之路(二)
- 在2.7.14版本中这代码实现不了,是否必须到3以上的版本?
- linux 常用命令
- 4.OnStartLocalPlayer
- 分布式和集群概念的简单的认识
- 冒泡排序优化
- SVN 代码迁移
- SSM综合项目实战(TTSC) -- day04 图片上传、商品列表
- 笨方法学习Python-习题3:数字和数学计算
- 网络设备 密码、用户级别 AAA授权 的管理
- 生产计划管理系统实现生产计划流程完美结合
- RxBus-mvp模式下对Rxjav的封装(一)
- 开始学python第一课