使用GenerationType.Table时如何集群Hibernate ORM标识符

时间:2015-03-26 15:35:25

标签: mysql hibernate jpa orm replication

我正在使用负载均衡器在Amazon Cloud上使用Hibernate ORM和MySQL。

我现在正在切换到GenerationType.Table,我想知道如何进行群集hibernate,这样我就不会遇到ID在多台机器之间发生冲突的问题?

1 个答案:

答案 0 :(得分:0)

首先,您可以对中间件进行集群,而无需对数据库进行集群。这意味着使用缓存解决方案来容纳更多流量。

当集群数据库到时,最简单的设置是主从复制,其中写入仅进入主模式。这样,您就不必担心PK冲突。

对于多主复制,MySQL提供support for clustering the AUTO_INCREMENT PRIMARY KEY,但对于TABLE generator,您可能会遇到冲突。更多,TABLE generator scales poorly compared to IDENTITY

对于多主复制,我认为您最好使用UUID Primary Keys,以避免主插入数据同时发生冲突。但是,UUIDs don't mix well with the InnoDB clustered index approach