一 分布式和cap理论:
1.什么是分布式:
分布式 核心扩展 通过服务,存储的扩展来提供系统的处理能力,通过多台服务器
协同工作,完成高并发,大数据,大运算量的任务
2.分布式特点:
不出现单点故障,服务或存储无状态
注意开发问题:节点之间通信失败,网络分区故障,多个副本数据不一致
3.cap理论:
一个分布式系统,最多可以满足:一致性 可用性 分区容忍性 其中两项
一致性: 所有的节点必须看到相同的数据
可用性: 任何时间和空间,读写都是要成功的(一直可用)
sla 服务水平协议 99.95% 的sla 故障时间 0.05%
可容忍性:当部分节点或分区出现故障的时候,系统可以正常运行
4.高并发:
并发:一个时间段内 多个进程执行,一个cpu切换进程
并行: 多个cpu ,同时调度多个进程
高并发:系统在一定时间段内能够处理大量的请求
5.进程和线程:
进程:一个独立的程序,是操作系统进行资源分配的一个单位
特点:
动态性 并发性 独立性 结构性
线程:进程中执行运算的最小单位
优点:容易调度 提高并发性 开销少 充分利用资源
多线程:操作系统可以同时运行多个任务(程序)
优点: 可以交给后台处理 提升速度 资源少 ios系统应用
缺点: 线程切换频繁可能倒是系统变慢 累计资源比较庞大的
线程容易产生bug,线程死锁
二 node 分布式
1.node 特性:
单线程: node中js 与其他线程无法共享状态的
优势:不需要关注其他线程 没有线程切换的开销 不用担心死锁
缺点:cpu利用率不充分 无法进行大量计算 报错会引起系统崩溃
异步i/o
事物驱动 eventloop
2.node分布式架构:
nginx :调度,负载均衡
node 集群 处理业务逻辑
redis :同步状态
3.node 集群层的使用:
启动多线程
轮询调用mysql