各位的 spring-mybatis 项目怎么处理 MySQL Replication 架构?

2016-06-29 14:52:11 +08:00
 phx13ye
简单来说就是读写分离。

配置目前看了一下有两种方案,
1 , jdbc 驱动用 com.mysql.jdbc.ReplicationDriver
2 ,配置多个数据源

哪一种是最佳实践啊??

我想程序尽可能少改动,应该怎么做呢?
第一种方法是不是要把 select 语句都加上 @Transactional ( readOnly=true )
第二种要手动指定选择 slave datasource 的 mapper ,加入更多的 slave 后会不会很难维护??
3047 次点击
所在节点    Java
4 条回复
twtiyb
2016-06-29 16:48:57 +08:00
简单项目 mycat 。
wander2008
2016-06-29 17:25:24 +08:00
读写分离?这还不简单?统一的 dal
jwangkun
2016-06-29 18:23:48 +08:00
试试 Sharding-JDBC
Infernalzero
2016-06-29 19:22:28 +08:00
程序改动尽可能少的话还是配多个数据源
spring 有个 AbstractRoutingDataSource 类,继承这个类实现自己的数据库选择方式就行了
指定 datasource 的时候有多种选择,比如自己写个注解标示 datasource
写 mapper 的时候注解指定是哪个 datasource 就行了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/289118

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX