大规模分布式系统架构与设计实战

时间:2022-02-08 23:58:01

http://code.google.com/p/fourinone


可靠性


1、TIPS

(1)分布式计算:研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。


(2)并行计算:指同时使用多种计算资源解决计算问题的过程。

所有大型编程语言都支持多线程,多线程就是好一种简单的并行计算方式,多个程序线程并行争抢CPU时间。


所谓并行计算分为时间上的并行和空间上的并行。时间上的并行就是指流水线技术,空间上的并行是指用多个处理器并发执行计算。


传统的串行计算,分为指令和数据两个部分,在程序执行时独立申请和占用内存空间,且所有计算均局限于该内存空间。

并行计算将进程相对独立的分配于不同的节点上,由各自独立的操作系统调度,享有独立的CPU和内存资源(内存可以共享);进程间相互信息交换是通过消息传递进行的。


(3)云计算:实际上是分布式技术+服务化技术+资源隔离和管理技术(虚拟化);

开发者利用云API开发应用,然后上传到云上托管,并提供给用户使用,不关心云背后的运维和管理,以及机器资源分配等问题。


计算机集群中通常需要维持一个领导者的服务器,它负责进行集群管理和调度等,因此集群需要在启动和运行等各个阶段保证有一个领导者提供服务,并且在发生故障和故障恢复后能重新选择领导者。


(4)分布式Session的架构设计和实现

Tomcat等web服务器实现了分布式session机制,但Tomcat等服务器session只是在单台服务器环境上有效,不能满足集群多服务器的分布式环境。需要借助分布式缓存系统实现。


(5)消息队列的实现

Java制定了JMS标准来规范化MQ产品。


MQ:队列和主题订阅两种核心模式;


(6)分布式文件系统的实现


(7)


2、PS

(1)秒杀器:实际上市一个复杂的模拟HTTP交互的网络通信软件,它反复和网站服务器交互HTTP报文,若发现报文参数不够,会不断变更报文直到通过。


(2)FTP:是文件上传下载协议,不能用于获取文件元数据信息,只支持两台计算机之间的文件传输。

HTTP:是一种通信协议,允许将HTML文档从web服务器传送到web浏览器。HTTP允许以二进制的方式上传下载文件,但封装在HTTP报文中,并指定特定的内容格式的方式。HTTP也只支持浏览器和web服务器两者之间的文件内容的上传下载,不能获取文件元数据和管理文件元数据。


(3)