神一样的CAP理论被应用在何方?( 七 )


 

神一样的CAP理论被应用在何方?

文章插图
 
 
RocketMQ 的设置要结合业务场景 , 合理设置刷盘方式和主从复制方式 , 尤其是 SYNC_FLUSH 方式 , 由于频繁的触发写磁盘动作 , 会明显降低性能 。
通常情况下 , 应该把 Master 和 Slave 设置成 ASYNC_FLUSH 的刷盘方式 , 主从之间配置成 SYNC_MASTER 的复制方式 , 这样即使有一台机器出故障 , 仍然可以保证数据不丢 。
总结
在微服务的构建中 , 永远都逃离不了 CAP 理论 , 因为网络永远不稳定 , 硬件总会老化 , 软件可能出现 Bug , 所以分区容错性在微服务中是躲不过的命题 。
可以这么说 , 只要是分布式 , 只要是集群都面临着 AP 或者 CP 的选择 , 但你很贪心的时候 , 既要一致性又要可用性 , 那只能对一致性作出一点妥协 , 也就是引入了 BASE 理论 , 在业务允许的情况下实现最终一致性 。
 
究竟是选 CA 还是选 CP , 真的在于对业务的了解 , 例如金钱 , 库存相关会优先考虑 CP 模型 , 例如社区发帖相关可以优先选择 AP 模型 , 这个说白了基于对业务的了解是一个选择和妥协的过程 。
作者:陈于喆
简介:十余年的开发和架构经验 , 国内较早一批微服务开发实施者 。曾任职国内互联网公司网易和唯品会高级研发工程师 , 后在创业公司担任技术总监/架构师 , 目前在洋葱集团任职技术研发副总监 。
 
【51CTO原创稿件 , 合作站点转载请注明原文作者和出处为51CTO.com】




推荐阅读