第一章 漫衍式系统先容
漫衍式系统的界说:组件漫衍在网络计较机上,组件间仅仅通过动静通报来通信并协调动作。
漫衍式系统的意义:
摩尔定律:当价值稳定时,每隔18个月,集成电路上可容纳的晶体管数目会增加一倍,机能也将晋升一倍。
线程与历程的执行模式
冯诺依曼布局:输入设备、输入设备、运算器、节制器、存储器。
基于共享容器协同的多线程模式:经典如出产者消费者问题,对付存储数据的容器或工具,有线程安详和不安详之分,对付不安详的容器或工具,一般可以通过加锁可能通过Copy On Write的方法节制并发。
通过事件协同的多线程模式:制止死锁
多历程模式:
网络通信基本常识
OSI七层模子与TCP/IP模子:
Socket套接字举办网络通信开拓时,用到的三种方法:BIO、NIO和AIO
BIO:Blocking IO,回收阻塞的方法实现,一个线程处理惩罚一个Socket,产生成立毗连、读数据、写数据的操纵时,都大概会阻塞。
NIO:Nonblocking IO,基于时间驱动思想,回收Reactor模式,可以在一个线程中处理惩罚多个Socket套接字
AIO:AsynchronousIO,异步IO,回收Proactor模式,与NIO的不同是,AIO在举办读写操纵时,只需要挪用响应的read/write要领,而且需要传入CompletionHandler,在行动完成后会挪用。
如何把应用从单机扩展到漫衍式
输入设备的变革
输出设备的变革
节制器的变革
方法1和2,透明署理:对提倡方和处理惩罚方都是透明的
缺点:
方法3,回收名称处事器直连的方法:
请求提倡方和处理惩罚方直接没有署理处事器,而是直接毗连。外部多了一个“名称处事”的脚色,浸染有:
名称处事只是起到一个地点互换的浸染,在提倡请求的呆板上,需要按照从名称处事获得的地点举办负载平衡的事情。
利益如下:
缺点就是代码进级较巨大
方法4,回收法则处事器节制路由的请求直连挪用
与名称处事器差异的是,法则处事器并反面请求处理惩罚的呆板交互,只认真把法则提供应请求提倡的呆板。
方法5,Master+Worker的方法
存在一个Master节点来打点任务,由Master把任务分派给差异的Worker举办处理惩罚。
运算器的变革
存储器的变革
同节制器的变革,加署理处事器、or名称处事器、or法则处事器
漫衍式系统的难点
第二章 大型网站及其架构演进进程
大型网站:会见量(PV)、数据量、业务巨大度
单机负载告警,数据库与应用疏散
应用处事器负载告警,走向集群
Session生存会话状态,在Web处事器上,各个会话独立存储,多台处事器不能担保每次请求都落在同一边的处事器上。办理方案如下:
1、Session Sticky:负载平衡按照会话标识举办转发,让同样的Session请求每次都发送到同一个处事器端处理惩罚
缺点:
2、Session Replication:会话在多态处事器上复制同步
缺点:
3、Session数据会合存储
Session数据不再Web处事器上,而是放在另一个会合存储的处所。
缺点:
4、Cookie Based:把Session数据放在Cookie中
缺点:
数据读压力变大,读写疏散
1、回收数据库作为读库
缺点:
2、搜索引擎其实是一个读库
3、加快数据读取的利器——缓存
补充干系型数据库的不敷,引入漫衍式存储系统