mysql 数据库的分片逻辑
Sharding logic for mysql Database
分片逻辑通常放在appserver中。查询将通过查询元传递到特定的分片。除了appserver,sharding logic还能放在什么地方,这样可以减少appserver的负载。
一个相当流行的解决方案是使用 Ambassador 模式。
据了解,将在主应用程序旁边启动一个附加应用程序。分片分配逻辑将放在大使中。因此,将卸载主要服务。
- 第一步,客户端发送带有适当负载的请求。
- 在第二步中,appserver 决定必须将此有效负载保存在数据库中,并将带有数据的请求发送到 ambassador app。
- 反过来,大使有一个在碎片之间分配数据的算法(通过元信息或哈希函数)。
- 在最后一步中,信息被发送到所需的分片。
通过这种方法,分发服务和不必要的负载从主要服务中移除。
值得注意的是,将大使置于一台物理主机中以减少网络延迟非常重要。
这可能不是最好的方法,但只是一种选择。
分片逻辑通常放在appserver中。查询将通过查询元传递到特定的分片。除了appserver,sharding logic还能放在什么地方,这样可以减少appserver的负载。
一个相当流行的解决方案是使用 Ambassador 模式。
据了解,将在主应用程序旁边启动一个附加应用程序。分片分配逻辑将放在大使中。因此,将卸载主要服务。
- 第一步,客户端发送带有适当负载的请求。
- 在第二步中,appserver 决定必须将此有效负载保存在数据库中,并将带有数据的请求发送到 ambassador app。
- 反过来,大使有一个在碎片之间分配数据的算法(通过元信息或哈希函数)。
- 在最后一步中,信息被发送到所需的分片。
通过这种方法,分发服务和不必要的负载从主要服务中移除。
值得注意的是,将大使置于一台物理主机中以减少网络延迟非常重要。
这可能不是最好的方法,但只是一种选择。