1
Yuicon OP 目前自己的想法是搞个新的队列让客户端订阅去存 id,但是这样就很浪费,可能这个消息只发给一个客户端,这样所有的客户端都收到了
|
2
Yuicon OP 没有人么。。
|
3
swuzjb 2019-05-09 13:35:13 +08:00
分布式主键生成策略? 没看懂你的问题
|
4
Yuicon OP @swuzjb 依赖了框架的 orm 所以主键用的是数据库自动生成的
我的问题是客户端发送消息后,有什么好的方法拿到云端根据消息创建记录后生成的主键 |
5
coffeSlider 2019-05-09 14:06:35 +08:00 via Android
写一个接口做 id 映射。
|
6
h8743 2019-05-09 16:37:08 +08:00
啥数据库? mybatis mysql 自带新增返回 id
|
7
Yuicon OP @coffeSlider 走消息队列后就是异步的了 新问题在于什么时候去做映射这一步
|
9
Yuicon OP 最后我的解决方案是搞个新队列,把带 id 的对象发布上去
|
10
Nasei 2019-05-09 16:49:16 +08:00 via Android
可以搞一个两边都能访问的数据库…云端建完了就写一个本地 id 和云端 id 的记录,本地间隔去查
|
11
Yuicon OP @Nasei 这样感觉消耗有点大,本地有很多也怕这个数据库有性能问题
对象现在基本都有唯一的 code 字段,其实是一开始设计的问题,因为前期开发用的 orm 就依赖了数据库自动生成的 id,所以就有这么蛋疼的事情 |
14
rrfeng 2019-05-09 17:03:52 +08:00
『两个对象在数据库里的 id 是不一样的』
你让他一样不就行了吗??? 数据库里的自增 id 无所谓啊,加一个字段不就行了?关键是客户端生成的 id 是不是唯一的? |