分布式锁的多种实现方式点击上方“Hollis”关注我,精彩内容第一时间呈现。全文字数:5000阅读时间:10分钟目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partitiontolerance),最多只能
分类:
其他好文 时间:
2020-10-30 12:03:29
阅读次数:
19
概览 缓存是一个有着更快的查询速度的存储技术,这里的更快是指比起从初始的数据源查询(比如数据库,以下都称作数据库)而言。我们经常会把频繁请求的或是耗时计算的数据缓存起来,在程序收到请求这些数据的时候可以直接从缓存中查询数据返回给客户端来提高系统的吞吐量,现在我们来看看有哪些缓存模式可以考虑。 Cac ...
分类:
系统相关 时间:
2020-10-29 10:25:50
阅读次数:
28
运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。 获取数据 get(key) - 如果关键字 (key) 存在于缓存中,则获取关键字的值(总是正数),否则返回 -1。写入数据 put(key, value) ...
分类:
其他好文 时间:
2020-10-29 09:53:06
阅读次数:
21
背景不知道是否你还在为下面的问题而困扰:?当你使用了redis或者其他中间件做缓存的时候,经常发现缓存和数据库的数据不一致,只能通过定时任务或者缓存过期的方式去做一些限制。?当你使用了ES做搜索工具,使用双写的那一套方法,还在为ES和数据库不是一个事务而担忧。?当你需要迁移数据的时候,也还在使用双写的方法,如果是同一个数据库的还好,如果是不同数据库就不能保证事务,那么数据一致性也是个问题,就会写很
分类:
其他好文 时间:
2020-10-29 09:41:38
阅读次数:
14
背景不知道是否你还在为下面的问题而困扰:?当你使用了redis或者其他中间件做缓存的时候,经常发现缓存和数据库的数据不一致,只能通过定时任务或者缓存过期的方式去做一些限制。?当你使用了ES做搜索工具,使用双写的那一套方法,还在为ES和数据库不是一个事务而担忧。?当你需要迁移数据的时候,也还在使用双写的方法,如果是同一个数据库的还好,如果是不同数据库就不能保证事务,那么数据一致性也是个问题,就会写很
分类:
其他好文 时间:
2020-10-29 09:41:24
阅读次数:
16
背景上回我们说到Nacos的注册中心,我们讲了注册中心的一致性协议,订阅和注册的原理,有兴趣的可以看一下上一篇文章:你应该了解的Nacos注册中心。在Nacos中还有一个功能特别重要那就是配置中心,在这里先不具体介绍配置中心是什么,先来忆苦思甜一波。在我们最开始做一些简单的学习项目的时候,我们会遇到一些需要配置的东西,比如数据库连接池大小,用户的黑名单等等,我们都把这些东西写死在代码里面,比如if
分类:
其他好文 时间:
2020-10-29 09:40:53
阅读次数:
18
一篇文章带你深入理解Zookeeper本文来自作者投稿,作者:林湾村龙猫,Hollis做了一些修改和补充。随着互联网技术的发展,大型网站需要的计算能力和存储能力越来越高。网站架构逐渐从集中式转变成分布式。虽然分布式和集中式系统相比有很多优势,比如能提供更强的计算、存储能力,避免单点故障等问题。但是由于采用分布式部署的方式,就经常会出现网络故障等问题,并且如何在分布式系统中保证数据的一致性和可用性也
分类:
其他好文 时间:
2020-10-29 09:26:49
阅读次数:
18
阿里巴巴Java开发手册的正确学习姿势是怎样的?|文末送书△Hollis,一个对Coding有着独特追求的人△这是Hollis的第243篇原创分享作者lHollis来源lHollis(ID:hollischuang)很多人都知道,阿里巴巴在2017发布了《阿里巴巴Java开发手册》,前后推出了很多个版本,并在后续推出了与之配套的IDEA插件和书籍。相信很多Java开发都或多或少看过这份手册,这份手
分类:
编程语言 时间:
2020-10-27 11:53:00
阅读次数:
34
哈希函数,想必大家都不陌生。通过哈希函数我们可以将数据映射成一个数字(哈希值),然后可用于将数据打乱。例如,在HashMap中则是通过哈希函数使得每个桶中的数据尽量均匀。那一致性哈希又是什么?它是用于解决什么问题?本文将从普通的哈希函数说起,看看普通哈希函数存在的问题,然后再看一致性哈希是如何解决,一步步进行分析,并结合代码实现来讲解。首先,设定这样一个场景,我们每天有1千万条业务数据,还有100
分类:
其他好文 时间:
2020-10-27 11:51:37
阅读次数:
30
查了很多资料攒的配置文件,还有influxdb不能用supervisor启动,不然几个小时候只有又爆了。试了很多次都不行。具体原题还没搞清楚 bind-address = "127.0.0.1:8088"reporting-disabled = false[meta] dir = "/var/lib ...
分类:
数据库 时间:
2020-10-27 11:30:09
阅读次数:
39