Cluster模式下的一些问题学习笔记

1、分布式和集群的关系:
分布式一定是集群,而集群不一定是分布式;
分布式:把一个系统拆分面多个子系统,每个子系统各司其职,且又可以构成一个小的集群。
最简单的集群是指多个实例共同工作,把一个应复制多份布置。

2:一致性Hash算法的应用:
安全领域,如md5,sha。
数据查找和存储,能极大的减少查找复杂度。

3:查找数据的方式:
例:1,2,3,4,5数组是否存在元素2。
顺序查找:遍历数组,如果存在相等的,即为存在,
二分查找:也就是对半查找,类似红黑树。
数组下标查找:将数字与数组下标直接对应,判断[2]==null.速度快,但数组存在很多空节点,浪费空间,如查找12333.
拉链法,如hashMap数组+链表的型式。

4:hash算法应用:
分布式集群redis,Hadoop,els,mysql分表分库,nginxiphash负载等的路由问题。
分布式存储。

5:nginx普通ip_hash:
可以实现会话粘滞,每个用户的请求固定分发到某一台集群tomcat上面,可以解决session一致性的问题,但缩容或扩容时,大面积影响用户。会有很问题。可以用一致性hash算法将影响降到最低。

6:一致性hash算法 hash环:
将hash值0-2的32次方看成一个闭环,每个用户和服务器的hash值都在环上,在缩容和扩容时,用户去找顺时钟查找到最的hash环,做session迁移,从而将影响降到最低。

7:一致性hash节点分布不均的解决办法:
加服务器节点
加虚拟节点
加服务器节点+加虚拟节点

8:分布式时间同步问题:
各节点都能访问互联网:与国家授时中心或时间服务器同步 ntpdate -u ntp.api.bz
集群只有一节点时能访问互联网:把这一个节点同步国家授时中心,其他节点同步该节点。
都不能访问互联网:将一以机子手动同步,其他机子参照这台机子。

9:分布式ip生成方案:
UUID方案:能用,但id串太长,无规律
中心数据库方案:独立数据库负责生成id,其他数据库来独立数据库取。这种方案比较混乱,性能有问题,不推荐使用。
雪花算法 id有规律,纯数字,性能优秀。
redis Incr方案:与数据库方式类似。

10:分布式调度:
特点:运行在集群下的调度(多个一起运行)
大任务拆分成小任务并行运行。

11:定时任务与消息队列的区别
相同:异步处理,流量消峰,应用解耦
不同:任务为时间驱动,适用于批量处理离线数据的情况
队列为事件驱动。

12: elistic_job使用:
当当网开源框架,使用简单,可靠,可实现定时任务锁,定时任务分片等。推荐使用。

12:session共享策略
nginx hash_ip策略 客户指向同一服务器,如果使用一致性hash,需要解决扩容或缩容时的session迁移问题。
session复制策略 早期使用的方案,性能低,有侵入,有延时,不推荐
session集中存储策略 如redis实现session共享,代表有springSession
使用简单,@EnableRedisHttpSesison即可,原理是把request的getsession方法用requestWrapper包装类调包成redisSession.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值