首页
学习
活动
专区
工具
TVP
发布

IT技术精选文摘

专栏作者
542
文章
759942
阅读量
136
订阅数
这样实现分布式锁,才叫优雅!
Spring Integration在基于Spring的应用程序中实现轻量级消息传递,并支持通过声明适配器与外部系统集成。Spring Integration的主要目标是提供一个简单的模型来构建企业集成解决方案,同时保持关注点的分离,这对于生成可维护,可测试的代码至关重要。我们熟知的 Spring Cloud Stream的底层就是Spring Integration。
用户1263954
2022-05-23
1570
《我想进大厂》之kafka夺命连环11问
kafka是一个流式数据处理平台,他具有消息系统的能力,也有实时流式数据处理分析能力,只是我们更多的偏向于把他当做消息队列系统来使用。
用户1263954
2022-04-08
2810
查漏补缺,Kafka 核心知识,总有一个拨动你的心弦
kafka是一个流式数据处理平台,他具有消息系统的能力,也有实时流式数据处理分析能力,只是我们更多的偏向于把他当做消息队列系统来使用。
用户1263954
2021-12-27
2250
Kafka原理篇:图解kakfa架构原理
今天我们来深入讲解 Kafka 的架构和实现原理。本文将从架构和细节入手,以生动的图深入讲解 Kafka 的实现原理。
用户1263954
2021-12-09
3180
Kafka 为什么要放弃 Zookeeper
最近,confluent社区发表了一篇文章,主要讲述了Kafka未来的2.8版本将要放弃Zookeeper,这对于Kafka用户来说,是一个重要的改进。之前部署Kafka就必须得部署Zookeeper,而之后就只要单独部署Kafka就行了。[1]
用户1263954
2021-11-23
5870
面试题:Eureka和zookeeper都可以提供服务注册与发现的功能,请说说两个的区别?
2.Eureka保证了可用性,Eureka各个节点是平等的,几个节点挂掉不会影响正常节点的工作,剩余的节点仍然可以提供注册和查询服务。而Eureka的客户端向某个Eureka注册或发现时发生连接失败,则会自动切换到其他节点,只要有一台Eureka还在,就能保证注册服务可用,只是查到的信息可能不是最新的。除此之外,Eureka还有自我保护机制,如果在15分钟内超过85%的节点没有正常的心跳,那么Eureka就认为客户端与注册中心发生了网络故障,此时会出现以下几种情况: ①、Eureka不在从注册列表中移除因为长时间没有收到心跳而应该过期的服务。 ②、Eureka仍然能够接受新服务的注册和查询请求,但是不会被同步到其他节点上(即保证当前节点仍然可用) ③、当网络稳定时,当前实例新的注册信息会被同步到其他节点。
用户1263954
2019-07-19
3.6K0
一文了解Zookeeper
相信大家对 ZooKeeper 应该不算陌生。但是你真的了解 ZooKeeper 是个什么东西吗?如果别人/面试官让你给他讲讲 ZooKeeper 是个什么东西,你能回答到什么地步呢?
用户1263954
2018-12-18
6020
Hadoop完全分布式搭建
一、介绍 Hadoop2.0中,2个NameNode的数据其实是实时共享的。新HDFS采用了一种共享机制,Quorum Journal Node(JournalNode)集群或者Nnetwor
用户1263954
2018-06-22
1.3K0
基于ZooKeeper的分布式Session实现
#1 为什么使用ZooKeeper# 目前有关于分布式Session的实现基本上都是基于memcached。memcached本质上是一个内存缓存系统。虽然memcached也可以是分布式集群环境的,但是对于一份数据来说,它总是存储在某一台memcached服务器上。如果发生网络故障或是服务器宕机,则存储在这台服务器上的所有数据都将不可访问。由于数据是存储在内存中的,重启服务器,将导致数据全部丢失。当然你可以自己实现一套机制,用来在分布式memcached之间进行数据的同步和持久化,但是实现这套机制谈何容
用户1263954
2018-06-22
8430
ZooKeeper 分布式锁实现
#1 场景描述# 在分布式应用, 往往存在多个进程提供同一服务. 这些进程有可能在相同的机器上, 也有可能分布在不同的机器上. 如果这些进程共享了一些资源, 可能就需要分布式锁来锁定对这些资源的访问。 #2 思路# 进程需要访问共享数据时, 就在"/locks"节点下创建一个sequence类型的子节点, 称为thisPath. 当thisPath在所有子节点中最小时, 说明该进程获得了锁. 进程获得锁之后, 就可以访问共享资源了. 访问完成后, 需要将thisPath删除. 锁由新的最小的子节点获得.
用户1263954
2018-06-22
6050
Kafka的存储机制以及可靠性
Kafka的存储机制以及可靠性 一、kafka的存储机制 kafka通过topic来分主题存放数据,主题内有分区,分区可以有多个副本,分区的内部还细分为若干个segment。 所谓的分区其实就是在kafka对应存储目录下创建的文件夹,文件夹的名字是主题名加上分区编号,编号从0开始。 1、segment 所谓的segment其实就是在分区对应的文件夹下产生的文件。 一个分区会被划分成大小相等的若干segment,这样一方面保证了分区的数据被划分到多个文件中保证不会产生体积过大
用户1263954
2018-06-22
5720
跟着实例学习ZooKeeper的用法: 计数器
这一篇文章我们将学习使用Curator来实现计数器。 顾名思义,计数器是用来计数的, 利用ZooKeeper可以实现一个集群共享的计数器。 只要使用相同的path就可以得到最新的计数器值, 这是由ZooKeeper的一致性保证的。Curator有两个计数器, 一个是用int来计数,一个用long来计数。 SharedCount 这个类使用int类型来计数。 主要涉及三个类。 SharedCount SharedCountReader SharedCountListener SharedCount代表计数器,
用户1263954
2018-01-30
9490
跟着实例学习ZooKeeper的用法: 缓存
可以利用ZooKeeper在集群的各个节点之间缓存数据。 每个节点都可以得到最新的缓存的数据。 Curator提供了三种类型的缓存方式:Path Cache,Node Cache 和Tree Cache。 Path Cache Path Cache用来监控一个ZNode的子节点. 当一个子节点增加, 更新,删除时, Path Cache会改变它的状态, 会包含最新的子节点, 子节点的数据和状态。 这也正如它的名字表示的那样, 那监控path。 实际使用时会涉及到四个类: PathChildrenCache
用户1263954
2018-01-30
1K0
跟着实例学习ZooKeeper的用法: 分布式锁
锁 分布式的锁全局同步, 这意味着任何一个时间点不会有两个客户端都拥有相同的锁。 可重入锁Shared Reentrant Lock 首先我们先看一个全局可重入的锁。 Shared意味着锁是全局可见的, 客户端都可以请求锁。 Reentrant和JDK的ReentrantLock类似, 意味着同一个客户端在拥有锁的同时,可以多次获取,不会被阻塞。 它是由类InterProcessMutex来实现。 它的构造函数为: public InterProcessMutex(CuratorFramework clie
用户1263954
2018-01-30
1.1K0
跟着实例学习ZooKeeper的用法: 临时节点
使用Curator也可以简化Ephemeral Node (临时节点)的操作。 临时节点驻存在ZooKeeper中,当连接和session断掉时被删除。 比如通过ZooKeeper发布服务,服务启动时将自己的信息注册为临时节点,当服务断掉时ZooKeeper将此临时节点删除,这样client就不会得到服务的信息了。 PersistentEphemeralNode类代表临时节点。 通过下面的构造函数创建: public PersistentEphemeralNode(CuratorFramework clie
用户1263954
2018-01-30
1.6K0
跟着实例学习ZooKeeper的用法: Barrier
分布式Barrier是这样一个类: 它会阻塞所有节点上的等待进程,知道某一个被满足, 然后所有的节点继续进行。 比如赛马比赛中, 等赛马陆续来到起跑线前。 一声令下,所有的赛马都飞奔而出。 栅栏Barrier DistributedBarrier类实现了栅栏的功能。 它的构造函数如下: public DistributedBarrier(CuratorFramework client, String barrierPath)Parameters: client - client barrierPath -
用户1263954
2018-01-30
6410
跟着实例学习ZooKeeper的用法: Leader选举
Leader Election Barriers Queues Locks Two-phased Commit 其它应用如Name Service, Configuration, Group Membership 在实际使用ZooKeeper开发中,我们最常用的是Apache Curator。 它由Netflix公司贡献给Apache,目前版本2.7.0。 相信你在使用ZK API开发时会遇到让人头疼的几个问题,ZK连接管理、SESSION失效等一些异常问题的处理,Curator替我们解决了这些问题,通过对
用户1263954
2018-01-30
1.1K0
ZooKeeper工作原理
系统架构 ZooKeeper集群是由多台机器组成的,每台机器都充当了特定的角色,各种角色在协作过程中履行自己的任务,从而对外提供稳定、可靠的服务。 (微信公众号:IT技术精选文摘, 微信号:ITHK0
用户1263954
2018-01-30
1.1K0
Paxos协议学习小结
一直对Paxos协议比较感兴趣,之前对这个算法 有耳闻 但只是了解皮毛,最近在学Zookeeper,趁着这股新鲜劲,就花时间研究了下Zookeeper的选举算法实现,再重新学习了Paxos算法,这篇文章算是我的学习总结吧。 Basic Paxos 协议 Paxos 协议是一个解决分布式系统中 多个节点之间就某个值(提案value)达成一致(决议)的通信协议,也就是说,每个节点 提出的提案 会 对 同一个 提案内容 达成一致(知悉 且 要commit成功)。下面简称提案ID为 ProposalID,提案内容为
用户1263954
2018-01-30
1.1K0
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档