分布式集群架构场景下解决方案
2020-06-08 10:17:45 2 举报
AI智能生成
分布式集群架构场景下的解决方案
作者其他创作
大纲/内容
分布式和集群的概念
分布式是把一个系统拆分成多个子系统,每个子系统负责自己的那一部分功能,体现的是一个拆分
集群是多个实例共同工作,最简单的集群就是将一个应用复制多份
分布式一定是集群,但是集群不一定是分布式(因为集群就是多个实例一起 工作,分布式将一个系统拆分之后那就是多个实例;集群并不一定是分布式,因为复制型的集群不是拆 分而是复制)
一致性hash算法
普通hash算法
在分布式中的引用场景
请求的负载均衡
nginx负载均衡(如ngix的ip_hash策略)
分布式存储
mysql分库分表
redis集群
ElasticSearch集群
hadoop集群
一致性哈希算法
解决的问题
就是普通哈希算法在服务扩容和缩容时影响大量的客户端请求重新分配的情况
一致性哈希算法的数据倾斜问题
通过增加虚拟节点
ngix配置一致性哈希算法来实现负载均衡
1:安装ngx_http_upstream_consistent_hash模块
2:在配置文件配置
集群时钟同步问题
场景
集群中的服务器节点都可以连接互联网
#使用 ntpdate 网络时间同步命令,可以通过linux cronb脚本定时同步
ntpdate -u ntp.api.bz #从一个时间服务器同步时间
分布式集群中某一个服务器节点可以访问互联网或者所有节点都不能够访问互联网
分布式id解决方案
生成方法
uuid
独立数据库的id表
雪花算法(snowFlake)
redis incr命令
session共享
解决session一致性问题
使用ngix ip_hash策略
session复制(不推荐)
使用redis实现集中存储
分布式调度问题
elastic-job
elastic-job-lite
elastic-job-cloud
轻量级去中心化
分片
0 条评论
下一页