读写分离: 为保证数据库数据的一致性,咱们要求全部对于数据库的更新操做都是针对主数据库的,可是读操做是能够针对从数据库来进行。大多数站点的数据库读操做比写操做更加密集,并且查询条件相对复杂,数据库的大部分性能消耗在查询操做上了。数据库
主从复制数据是异步完成的,这就致使主从数据库中的数据有必定的延迟,在读写分离的设计中必需要考虑这一点。以博客为例,用户登陆后发表了一篇文章,他须要立刻看到本身的文章,可是对于其它用户来说能够容许延迟一段时间(1分钟/5分钟/30分钟),不会形成什么问题。这时对于当前用户就须要读主数据库,对于其余访问量更大的外部用户就能够读从数据库。 缓存
所以:异步
个人想法是要使用读写分离来实现系统吞吐量的提高就要从业务上想办法下降一致性的要求。分布式
对必需要有一致性的功能是没法进行读写分离的,能够采用多库不区分读写以及memcache缓存技术来实现。性能