分布式概念是:lvs+keepalived 或者nginx haproxy 或者反向代理的集群 这种方式是个什么方式 比如nginx 去反向代理不同的应用 这可以称为一个集群 这个集群 里面每个角色 每个 后端服务器 或者叫上游服务器 他的内容是一样的 反向代理多个tomcat 每个tomcat 提供的服务是一样的 同一个集群 不同的节点 内容是一样的
如果不一样会有问题 A和B访问同一个域名 负载均衡到不同的后端服务器 他们访问的内容是一样的 如果不一样 肯定有问题
这个问题 是集中式集群 他有什么问题呢? 如果你的数据量非常非常大 比如网站
静态网站 资源 你有100台nginx 那每个nginx 资源是一样的 就相当于 把资源分为100份出来 这样会有个瓶颈
第一存储的瓶颈 在同一台机器上 大量的数据放在同一台机器上
第二请求资源的时候 这份数据都在一个机器上的时候 他会有个 性能瓶颈
100个人同时访问 这一份数据 有什么问题? 在同一台机器上 有可能会造成 你的压力过大 负载过高 这是集中式集群的问题
相对的有个分布式集群: 第一可以把一份完整的数据分片 切割 分布式集群 已经学过了 其实redis cluster 就是分布式集群 把数据 一份数据 分在多台机器上
比如一个数据很大 比如100个T 那如果集中式 那一台机器上 就得有100台数据
如果是分布式 可以分布在10台 20台 50台 100台都行 主要看你怎么分片
存储是这样 那访问呢? 怎么访问
在分布式集群上 会有个 类似 zookeeper 这种东西 会有个 名称服务器 会告诉你
redis 集群 有个路由的功能 我们去访问集群的时候 访问的时候 他会给我们路由到指定的节点上去 redis节点上去
你访问的数据在哪里 通过这个路由 可以找到