云计算学习笔记2——分布式计算

分布式系统:若干通过网络互联的计算机组成的软硬件系统,且这些计算机互相配合以完成一个共同的目标。(项目)

分布式计算:在分布式系统上执行的计算。分布式计算是将一个大型计算任务分成很多部分,分别交给其他计算机处理,并将所有的计算结果合并为原问题的解决方案。

这里与并行计算不同的是,并行计算是使用多个处理器并执行单个计算。

分布式计算经典项目:寻找外星人:SETI@home

分布式计算的宽泛定义:凡是基于分布式计算原理的所有应用,……,P2P

分布式架构/分布式系统

服务端高并发分布式架构演进——淘宝为例

  1. 单机架构::Tomcat和数据库部署在同一服务器上。
  2. Web服务器与数据库分离:Tomcat和数据库分别独占服务器资源,大大提高各自性能。
  3. 引入本地缓存和分布式缓存:通过缓存能把绝大多数请求在读写数据库前拦截掉,大大降低数据库压力。memcached作为本地缓存,Redis作为分布式缓存。
  4. 引入反向代理:反向代理软件(Nginx)把请求均匀分发到每个Tomcat中,实现负载均衡,扛住多并发。
  5. 数据库读写分离:数据库划分为读库和写库,读库可以有多个,通过同步机制把写库的数据同步到读库。
  6. 数据库按业务分库。
  7. 继续改进——数据库大表拆小表。
  8. 引入LVS(Linux虚拟服务器集群系统)
  9. 引入DNS轮询,多机房之间并行:
  10. ……
  11. 以云平台承载系统:系统可部署到公有云上,利用公有云的海量机器资源,解决动态硬件资源的问题。

应用与数据分离->缓存改善性能->应用服务集群->分布式数据库->分布式服务->云平台承载

分布式系统基本准则:CAP

Consistency/Availability/Partition Tolerance

强一致性:在分布式系统中的同一数据多副本情形下,对于数据的更新操作体现出的效果与只有单份数据是一样的。

可用性:客户端在任何时刻对大规模数据系统的读/写操作都应该保证在限定延时内完成。

分区容忍性:在分布式系统存在网络分区,且分区间的机器无法进行通信时,系统应该仍然能继续工作。

  • Eric 1999年提出:对于一个大规模分布式数据系统来说,CAP三要素不可兼得,同一个系统至多只能实现其中的两个。

一般运行环境出现网络分区是不可避免的,所以系统必须具备分区容忍性(P),架构师往往在AP和CP中进行权衡选择。

  • Eric 2012年指出:CAP理论实践时,三选二的做法具有误导性。

AC之间做出取舍时,不应该粗粒度地在整个系统级别进行取舍,而是应该考虑子系统,甚至应该在不同数据间进行灵活的差异化的细粒度取舍。

CAP三者并非是绝对二元式的有或者没有,而应该将其看作连续变量,即一定程度上有或者没有。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值