- 2024-11-20实验15:职责链模式
[实验任务一]:财务审批某物资管理系统中物资采购需要分级审批,主任可以审批1万元及以下的采购单,部门经理可以审批5万元及以下的采购单,副总经理可以审批10万元及以下的采购单,总经理可以审批20万元及以下的采购单,20万元以上的采购单需要开职工大会确定。现用职责链模式设计该系统。
- 2024-11-19kafka 丢失消息
BrokerProducerConsumerKafka存在丢消息的问题,消息丢失会发生在Broker,Producer和Consumer三种。BrokerBroker丢失消息是由于Kafka本身的原因造成的,kafka为了得到更高的性能和吞吐量,将数据异步批量的存储在磁盘中。消息的刷盘过程,为了提高性能,减少刷盘次数,kafka采用
- 2024-11-12大数据面试题--kafka夺命连环问(前15问)
目录1、kafka消息发送的流程?2、Kafka的设计架构你知道吗3、Kafka分区的目的?4、你知道Kafka是如何做到消息的有序性?5、ISR、OSR、AR是什么?6、Kafka在什么情况下会出现消息丢失?7、怎么尽可能保证Kafka的可靠性?8、Kafka中如何做到数据唯一,即数据去重?9、生产者如
- 2024-11-11消费者组和分区数之间的关系是怎样的?
消费者组原理:ConsumerGroup(CG):消费者组,由多个consumer组成。形成一个消费者组的条件,使所有消费者的groupid相同。•消费者组内每个消费者负责消费不同分区的数据,一个分区只能由一个组内消费者消费。•消费者组之间互不影响。所有的消费者都属于某个消费者组,即消费者组是
- 2024-11-07大数据学习笔记 第5天 ZooKeeper 3.6.3安装部署 CAP原则 Paxos算法 ZAB协议详解
ZooKeeper3.6.3重点CAP原则Paxos算法存储模型和监听机制一、集群与分布式集群:将一个任务部署在多个服务器,每个服务器都能独立完成该任务。分布式:将一个任务拆分成若干个子任务,由若干个服务器分别完成这些子任务,每个服务器只能完成某个特定的子任务。从概念上就可
- 2024-11-07Kafka面试题总结
1、kafka消息发送的流程?2、Kafka的设计架构你知道吗?3、Kafka分区的目的?4、你知道Kafka是如何做到消息的有序性?5、ISR、OSR、AR是什么?6、Kafka在什么情况下会出现消息丢失7、怎么尽可能保证Kafka的可靠性8、Kafka中如何做到数据唯一,即数据去重?9、生产者如何提高
- 2024-11-06如何做线上问题复盘
1、什么事复盘复盘,源自围棋中的一个术语,指棋手下完一盘棋后,要在棋盘上重新摆一遍,看看哪里下得好,哪里下得不好。下得好的要继承,下得不好的,要在重新摆的过程中探究怎么样落子才更好。线上问题复盘,通过还原问题现场,问题发生时间线,分析设计、开发、测试、上线、运维等各个环节的问
- 2024-11-06kafka分片与副本消息同步的详细策略[持久化]
kafka分片与副本消息同步的详细策略[持久化]参考文章Kafka学习之路(三)Kafka的高可用DataReplication(副本策略)1.消息传递同步策略Producer在发布消息到某个Partition时,先通过ZooKeeper找到该Partition的Leader,然后无论该Topic的ReplicationFactor为多少,Producer只将
- 2024-10-27成为不可取代的程序员的编码方式
背景在一家公司呆了两年了,作为工作十多年的程序员来说,真心感觉这两年时间是真的长,每天上班如上坟,度日如年。21年入坑,接手了一个老项目,进去后发现项目几乎天天报错,每天群里bug满天飞,每天改完一个bug,一会群里又开始叫,每天都是晚上下班才有时间输出业务代码。开始还特别不习
- 2024-10-26编队队形保持-Leader-Follower法-matlab仿真
Leader-follower方法是传统编队队形控制中最常用的方法之一。leader跟踪一个预先给定的轨迹,follower和leader轨迹保持一定构型,并速度达到一致。本文使用的应用编队控制情景就如上图所示,是一个小编队。编队中有一个leader,和两个follower。编写的代码是对Desai团队发表
- 2024-10-24【产品经理修炼之道】-SaaS创业路线图(十):骨干营销团队培养
团队扩张后,必然就会面临基层和中层干部不足的问题。前面有一篇讲到“团队高效扩张的方法”,团队扩大后立即面临的问题就是,谁来带这些团队?基层销售团队要想带得好,一个人管十几个是不现实的,因为销售管理的工作非常细碎,从早会激发、夕会复盘(根据业务复杂情况不同)、陪访、理单、
- 2024-10-23[转]Zookeeper介绍
Zookeeper的工作机制什么是ZooKeeperZooKeeper是一个分布式协调服务,其设计的初衷是为分布式软件提供一致性服务。其本质上,就是文件系统+通知机制。ZooKeeper提供了一个类似Linux文件系统的树形结构,ZooKeeper的每个节点既可以是目录也可以是数据,并且ZooKeeper还提供了对
- 2024-10-17etcd中的"IS LEARNER"是指什么
etcd中的"ISLEARNER"是指在etcd集群中新引入的一种节点角色——学习者(Learner)。这个概念最早出现在etcd的3.4版本中。在介绍学习者角色之前,先简单了解一下etcd集群的背景:etcd是一个分布式键值存储系统,常用于服务发现、配置管理和分布式锁等场景。它内部使用Raft算法来保证数据的
- 2024-10-16etcd入门到实战
概述:本文将介绍etcd特性、使用场景、基本原理以及Linux环境下的实战操作入门什么是etcd?etcd是一个分布式键值存储数据库关键字解析:键值存储:存储协议是key—value的形式,类似于redis分布式:具有分布式特性、每个etcd实例作为集群中的一个节点,通过分布式锁,leader选举保
- 2024-10-16模板-并查集DSU
版本1:路径压缩。structDSU{ std::vector<int>fa; voidinit(intn){ fa.resize(n+1); std::iota(fa.begin(),fa.end(),0); } intleader(intx){ while(x!=fa[x]){ fa[x]=leader(fa[x]); } returnfa[x]; } voidjoin(intx,inty){ x
- 2024-10-11消息队列详细介绍、工作原理,kafka与RocketMQ的比对
消息队列:当一个服务处理量为100,而另一个服务发送量为200,这时候多余的消息会被丢弃,如果想要全部处理,我们必须加入队列,这个队列用来存储消息的信息,通过offset表示当前处理的位置。注意此时队列还位于进程中,也就是服务进程,我们的进程一旦挂掉,未被处理的消息会直接丢失,我们不希望
- 2024-10-01Linux 部署Zookeeper集群详解
Zookeeper是一个分布式协调服务,它可以用来解决分布式系统中的很多问题,如配置管理、分布式锁、集群管理等。以下是如何在Linux环境下部署Zookeeper集群的详细步骤,以及Zookeeper集群的工作原理和选举原理。Zookeeper集群工作原理Zookeeper集群由一个领导者(Leader)和多个跟随
- 2024-09-29Kafka:架构与核心机制
ApacheKafka是一种高吞吐量的分布式消息队列,广泛应用于实时数据流处理和大数据架构中。本文将详细探讨Kafka的架构、Replica管理、消息读取、分区策略、可靠性保障等核心机制。1.Kafka的架构1.1组件概述Kafka的架构由多个组件构成,主要包括以下部分:Broker:Kafka
- 2024-09-28RocksDB代码分析——写入流程
分析均基于v6.27.3。以下流程为了方便理解均经过了简化。首先,我们通过调用DB::Open来创建数据库,它返回了一个DB*。DB::Open内部调用了DBImpl::Open,在里面构造了一个DBImpl*并转换成DB*返回。所以我们拿到的DB*其实是DBImpl*。然后我们调用DB::Put来写入数据。DB::Put是个virtual
- 2024-09-25ZooKeeper 学习笔记
概述ZooKeeper是一个分布式协调服务,其设计初衷是为分布式软件提供一致性服务。ZooKeeper提供了一个类似Linux文件系统的树形结构,ZooKeeper的每个节点既可以是目录,也可以是数据,同时ZooKeeper提供了对每个节点的监控与通知机制。基于ZooKeeper的一致性服务,可以方便地实现
- 2024-09-24Raft总结
Raft算法State所有server都有的持久化状态先存储,然后响应RPCcurrentTerm当前任期,初始为0,单调递增votedFor当前任期投票给谁了,没有就是nulllog[]日志条目,每个条目都包含命令、Leader收到条目时的任期,第一个条目的index为1所有server都有的Volatilestate
- 2024-09-24Lab3 Raft
Lab3Raft1.GettingStarted代码位置:基础框架代码位置:src/raft/raft.go测试代码:src/raft/test_test.go建议测试时使用-race2.Thecode向raft/raft.go添加代码来实现Raft。实现必须支持以下接口//创建一个RaftServerrf:=Make(peers,me,persister,applyC
- 2024-09-24Lab3 记录
Part3A:leaderelection1.选举主要流程新服务器加入集群服务器在启动时状态是Follower。只要持续接收到Leader或Candidate的心跳信息,就继续保持Follower状态。开始选举每个Server都有一个随机的选举超时时间,选举超时在一个固定区间内随机选择(例如,150-300毫秒)如果Follo
- 2024-09-18外包干了2年,技术退步明显。。。
前言简单的说下,我大学的一个同学,毕业后我自己去了自研的公司,他去了外包,快两年了我薪资、技术各个方面都有了很大的提升,他在外包干的这两年人都要废了,技术没一点提升,学不到任何东西,一直都在点点点,其实感觉挺可惜的,毕竟我和他关系还算不错!前段时间他和我说了下,说不能在废下去了
- 2024-09-15中间件知识点-消息中间件(Kafka)二
Kafka一、Kafka介绍及基本原理kafka是一个分布式的、支持分区的、多副本、基于zookeeper的分布式消息系统/中间件。kafka一般不会删除消息,不管这些消息有没有被消费。只会根据配置的日志保留时间(log.retention.hours)确认消息多久被删除,默认保留最近一周的日志消息(日志