- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想我对一些概念感到困惑,这就是为什么我请你帮我解决这个问题:
我们有一个被许多用户(公司)使用的大型网络应用程序,它部署在用户场所。但是现在我们要进行 saas,所以为了设置应用程序的行为,我们正在做一些调整。
为了处理我们的用户,我们的工作方式如下:我们将为每个用户提供一个数据库。当然,我们需要负载平衡,因为我们需要很多服务器,所以我提出了一个“分片”架构。我的想法是让 Web 服务器彼此完全独立。因此,我们将所有用户数据拆分为 10 台服务器。因此,当用户登录时,实际上他将连接到例如服务器 4。实际上,为了保持可用性,每台服务器中的一个将是一个由两台服务器组成的小型集群 - 三台服务器,它们的数据库在它们之间进行复制。我们在每个“集群”中使用内存缓存。我们甚至可以在这个级别进行负载平衡,我们只是认为我们不需要它,因为数据/用户已经被分割了。
一些问题:
最佳答案
基本上我会说,是的,这是分片。
为了避免需要对哪个用户住在哪个集群上有一些“全局”知识(因此您提到了一个 memcache 数据库),您可以使用某种(一致的)散列。
要将用户重定向到正确的集群而不需要单独的主机名,您可以在成功验证后向客户端发送一个 cookie,其中包含用户集群的标识符。负载均衡器可以评估 cookie,以将所有进一步的请求转发到正确的集群。这是负载平衡中“ session 持久性”的常见做法。
我认为负载平衡一词仅适用于确实有多个(事件/事件)服务器是为一个用户的请求提供服务的有效候选者。
关于load-balancing - 分片和负载均衡器 : how does it works?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13406064/
我是一名优秀的程序员,十分优秀!