elasticjob如何应对分表分库的状况(之前有人提过,可未解决)
比如一个表分了多张表,表中有个字段是type,用的jdbc sharding, sharding key不是主键,而是product_id, 是product表的id
elasticjob需要从表中把type等于某个值得记录都捞出来然后进行操作
elasticjob所在服务本身是集群,怎么处理比较好?
打个比方
elasticjob所在服务集群里有3个实例
表分了3个,那每个实例负责一个表,表分6个,每个实例负责两个表,这样如何协调呢?
因为jdbc sharding给开发者提供的是逻辑SQL,所以如果要让某个实例(比如编号为0)的实例去负责查询type=0的分表,这时候逻辑SQL我是这样写的:select * from t_order where type=0,可是我无法保证这个SQL一定路由到t_order0库,怎样做才好?
回答:
你做分库分表的时候,即使是分成6个表,每个实例是否都必须将数据均匀分到6张表上面?
你要是将实例1的数据落到表1,表2上,实例2的数据落到表3和表4上面,实例3的数据落到表5和表6上面,这样自然就解决了你的问题
以上是 elasticjob如何应对分表分库的状况(之前有人提过,可未解决) 的全部内容, 来源链接: utcz.com/p/944295.html