请求量太多,一个redis忙不过来----->redis主从复制、哨兵、redis cluster集群。。。redis本身数据量少,多个redis都拥有全量数据,没毛病。那数据库呢?
一个表的数据量太大,分表。一个数据库的数据量太大,分库。如何将数据分到每个表、每个库,并从中获取呢?得有一种策略或者说一种算法(hash取余)。
进一步的思考,何时才能决定将数据放入到哪个数据库,哪个表呢?sql语句形成之后啊
估计得拦截数据的存储和拿取吧(不拦截如何达到控制的目的),所以sharding_jdbc获得了datasorce并改造了他。
所以jdbc_sharding是如何运转的,大家应该清楚了吧!!!
下面是小编写的demo:
mybatis+jdbc_sharding+通用mapper 分表分库demo:https://github.com/PrettyPanda/jdbc_sharding_mybatis
hibernate+jdbc_sharding 分表分库demo:https://github.com/PrettyPanda/sharding_jdbc_hibernate
课外阅读:
SpringCloud easy入门:https://blog.csdn.net/forezp/article/details/70148833
转载于:https://blog.51cto.com/13496382/2141909