应用程序运行多个节点时mysql主键冲突

时间:2013-11-08 08:37:04

标签: mysql sql database-design spring-jdbc

我正在使用MySQL和spring jdbc开发一个应用程序,如果有我的应用程序的多个实例访问一个表来插入记录,我正在设计一个表,请记住

采取这种情况。

 user
 --id
 --name
 --age
 --sex

我有三个并行运行的节点

-------------------    -------------------    ------------------- 
|  node 1         |    |  node 2         |    |  node 3         |               
|  app instance 1 |    |  app instance 2 |    |  app instance 3 |          
-------------------    -------------------    -------------------          

在这种情况下,如何在多个节点同时访问时管理我的主键user.id

  1. 在主键上使用自动增量时是否会遇到问题。
  2. 我可以处理代码,增加id和以编程方式插入,我看到并发期间的潜在问题,但现在我正在遵循这种方法。
  3. 是否还有其他机制可以处理主键生成的并发问题。
  4. 这方面的最佳做法是什么。

    编辑: - 我正在使用spring jdbc批量插入,我需要通过自动增量生成id,但是使用jdbc批处理这是不可能的,因此我手动递增id并插入。

0 个答案:

没有答案