我想请教一些和数据库复制(主从复制,读写分离)相关的几个问题,不太懂这方面的东西,所以想请教下大家。(下面术语有些可能用的不对的话,楼下回帖直接开喷好了,我不太懂数据库 scale 这方面的东西……)
我有个主从复制,读写分离的集群(假设,实际上我现在还没有……)
- 正常设计的时候,所有的后端服务器都对主写的数据库进行访问,然后随便从任意一台从服务器访问读取?如果是任意一台的话会不会太随意了,还是说就是事先定好哪台服务器长连接哪台从的数据库就可以了?
- 如果从从服务器读的数据正好不是最新的那该怎么办(比如说你刚写了一个数据到主数据库,然后从从数据库读取那条数据的时候?我知道有一些模式可以解决这个问题,比如说最终一致性这类的,但是正常人是怎么解决这个问题的?
- 如果第二点读不到最新的写的数据,那么这个方案是不是根本就不 cp ( cap 理论里的 cp )了,还是说我理解错了 c ?
先谢谢解答的各位了。