mycat多租户测试

我:

mycat测试CRUD结果如下:

(1)mycat能实现insert,query,querylist

(2)mycat不能实现update,delete(参考:https://github.com/MyCATApache/Mycat-Server/issues/1704),但是现有代码直接连mysql的库是可以执行的。

解决思路:(1)解决mycat事务读问题 ;(2)调整update和delete的实现;(3)无解(除非去弄清楚源码)

另外:连接阿里的drds仍然出现这样的问题,证明阿里云的core和mycat是一样的。mycat近两年没有大的改动和维护,所以能查询的解决思路有限!

@谭总,我们是否仍然采用mycat作为我们多租户的方式实现,感觉后还会遇到很多的坑,而又缺少社区的支持!

TZong:

@杨传池 mycat不支持删除和更新?这么大的缺陷,为啥现在才发现啊,时间都耽误了不是很早就就做技术验证了嘛

TZong:

如果是动态数据源方案,是不是必须换Jpa?

我:

@TZong 中间件支持啊,是和我们代码实现结合起来不支持

我:

我老早发布了my cat环境和文档

我:

让去验证、没有人推动验证

TZong:

意思是必须加上事务才行?

我:

加了也不行

TZong:

到底啥问题啊

TZong:

我们代码有什么特殊之处

我:

jpa标准的

TZong:

说清楚点儿,什么是我们代码加上中间件不支持。我不理解

TZong:

是不支持jpa还是什么

我:

@TZong 你方便吗

我:

直接电话

TZong:

电话吧

我:

稍等,我打给你

我:

我马上到住处

我:

今天测试结果:

(1) delete操作:dao层的service实现类,BO层的service实现类必须加上事务注解@Transactional,而加在方法上是不行的;

(2)update操作:现有的update操作是全量更新,需要调整实现为部分字段更新。原因是分片字段不能作为更新操作

TZong:

@杨传池 是否可以只加dao层的事务?service层加事务不可行,会锁表的

我:

不行

我:

都要加才行

TZong:

为啥呀,这样等于是不可行了

TZong:

一定会锁表

我:

在测两天看看

我:

目前是这样

我:

今日mycat测试结果:

(1)@Transactional可以不用加到BO的service上,但必须加到Dao层的service上,加到方法上是无效的!

(2)测试了主要的BO API, 除update API不能使用外,其它API是可以使用的!

(3)仰杰去评估update改成部分字段更新,改变之后对现有业务的影响!

你可能感兴趣的:(mycat多租户测试)