【笔记】Cluster模式潜在问题及解决方案、Web服务综合解决方案

任务一:一致性Hash问题及解决方案

分布式和集群

分布式一定是集群,但集群不一定是分布式

  • 一致性Hash算法

比如在安全加密领域的MD5,SHA等加密算法,在数据存储和查找方面有hash表,以上都用到了hash算法。

主要用在在数据存储和查找领域,Hash表的查找效率非常高

例如 list[1,5,7,6,3,4,8]

顺序查找法

二分查找:排序之后折半查找,相对于顺序会提高一些效率

直接寻址法:直接把数据和数组的下标绑定到一起,查找的时候直接array[n]取出数据

 

  • Hash算法应用场景

Hash算法在分布式集群架构中的应用场景

  • 普通Hash算法存在的问题
  • 一致性Hash算法
  • 手写实现一致性Hash算法
  • Nginx配置一致性Hash负载策略

 

 

 

 

任务二:分布式集群时钟同步问题及解决方案

集群时钟服务器同步配置

任务三:分布式ID问题及解决方案

为什么需要使用分布式ID(分布式集群环境下的全局唯一ID)?

    分表之后ID不能重复,因此不能使用主键递增。

 

·UUID(Universally Unique identifier)产生相同UUID并造成错误的概率非常低

·独立数据库的自增id

【笔记】Cluster模式潜在问题及解决方案、Web服务综合解决方案

 

·SnowFlake 雪花算法

·redis自增维护全局ID

 

任务四:分布式调度问题及解决方案

【笔记】Cluster模式潜在问题及解决方案、Web服务综合解决方案

 

  • 定时任务场景
  • 什么是分布式调度
  • 分布式调度与定时任务的区别
  • 定时任务的实现方式
  • Elastic-job

任务五:Session一致性问题及解决方案

Session共享和session保持,或者叫session一致性

·Nginx的IP_Hash策略

使得同一IP每次访问的都是相同的服务器

·Session复制(不推荐)

通过tomcat修改配置达到session之间的复制

·Session共享,集中存储

使用redis对session进行统一管理