![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据存储——分布式
nogos
I can do it
展开
-
微服务架构实现最终一致性的三种模式
根据CAP理论,必须在可用性(Availability)和一致性(Consistency)之间做出选择。如果选择提供一致性,则需要付出在满足一致性之前阻塞其他并发访问的代价。这可能持续一段不确定的时间,尤其是系统已经表现出高延迟或者由于网络故障而失去连接时。 依据目前的成功经验,选择可用性一般更有利于微服务架构的构建,但是在服务和数据库之间维护数据一致性是非常根本的需求,在微服务架构中应该...转载 2019-11-24 12:56:23 · 2644 阅读 · 0 评论 -
kubernetes权威指南——入门概述
Kubernetes是什么 首先,它是一个全新的基于容器技术的分布式架构领先方案,简称K8s。K8s是Borg的一个开源版本,Borg是谷歌内部一个久负盛名的大规模集群管理系统,它基于容器技术,目的是实现资源管理的自动化以及跨数据中心的资源利用率最大化。 其次,如果我们的系统设计遵循了K8s的设计思想,那么传统系统架构中那些和业务没有多大关系的底层代码或功能模块,都可以立刻从我们的视线中消...原创 2019-02-24 14:48:31 · 434 阅读 · 0 评论 -
缓存更新的套路
看到好些人在写更新缓存数据代码时,先删除缓存,然后再更新数据库,而后续的操作会把数据再装载的缓存中。然而,这个是逻辑是错误的。试想,两个并发操作,一个是更新操作,另一个是查询操作,更新操作删除缓存后,查询操作没有命中缓存,先把老数据读出来后放到缓存中,然后更新操作更新了数据库。于是,在缓存中的数据还是老的数据,导致缓存中的数据是脏的,而且还一直这样脏下去了。我不知道为什么这么多人用的都是这个逻辑...转载 2019-05-10 21:10:27 · 240 阅读 · 0 评论 -
什么是分布式锁?
单机多线程并发分布式集群环境下的多线程并发分布式锁的实现1 Memcached分布式锁利用Memcached的add命令。此命令是原子性操作,只有在key不存在的情况下,才能add成功,也就意味着线程得到了锁。2 Redis分布式锁和Memcached的方式类似,利用Redis的setnx命令。此命令同样是原子性操作,只有在key不存在的情况下,才能set成功。(setn...转载 2019-08-12 13:20:10 · 206 阅读 · 0 评论