这种问题要么用程序实现,要么用中间件程序实现大概思路是这样 private SessionFactory du; private SessionFactory xie; public void save(Object o){ xie.save(o); } public void findById(int id){ du.findById(id); } 类似这样,这是用程序判断的,这样写有个不太好的问题的是 dao层夹杂了业务逻辑,如果你们团队还行的话,最后上类似mycat这样的中间件,让中间件判断到底走那个数据源,dao层就清爽多了 注意的问题是你们的业务场景,有些业务场景不能去从库读,因为从库的复制主库有延迟,要强制去主库读
这种问题要么用程序实现,要么用中间件
程序实现大概思路是这样
类似这样,这是用程序判断的,这样写有个不太好的问题的是 dao层夹杂了业务逻辑,如果你们团队还行的话,最后上类似mycat这样的中间件,让中间件判断到底走那个数据源,dao层就清爽多了
注意的问题是你们的业务场景,有些业务场景不能去从库读,因为从库的复制主库有延迟,要强制去主库读