我正在使用负载均衡器在Amazon Cloud上使用Hibernate ORM和MySQL。
我现在正在切换到GenerationType.Table,我想知道如何进行群集hibernate,这样我就不会遇到ID在多台机器之间发生冲突的问题?
答案 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。