“我翻开招聘APP一查,这上面没有功能测试,歪歪斜斜的每页上都写着“大数据”几个字。我横竖睡不着,仔细看了半夜,才从字缝里看出字来,满本都写着两个字是“kafka”!”那么让我们揭开kafka那神秘的面纱吧!了解什么事务之前我习惯于问自己几个问题:什么是kafka?为啥都要用kafka呢?它到底有什么魔力值得广大企事业和程序猿去选择它?kafka是什么?ApacheKafka是一个开放源代码的分布式事件流平台,成千上万的公司使用它来实现高性能数据管道,流分析,数据集成和关键任务等相关的应用程序。嗯?说了但是又完全说...那么它既然能被成千上万家公司信赖的理由是什么呢?kafka的优势总结来说就
创建一个1副本1分区的topickafka-topics.sh--create--topictest--bootstrap-serverlocalhost:9092--partitions1--replication-factor1对这个topic生产吞吐量测试#生产者吞吐量测试工具kafka-producer-perf-test.sh #生产者测试--topictest#topic--num-records300000#总共300000条数据--record-size1000#每条1000字节,约1kb--throughput100000#每次发送100000条记录--producer-pr
面试就是这么简单,offer拿到手软(一)——常见非技术问题回答思路面试就是这么简单,offer拿到手软(二)——常见65道非技术面试问题面试就是这么简单,offer拿到手软(三)——常见中间件框架面试题,es,redis,dubbo,zookeeperkafka等面试就是这么简单,offer拿到手软(四)——常见java152道基础面试题文章目录一、消息队列1.1常见消息队列优缺点1.2如何保证消息队列高可用?1.2.1使用kafka使用集群模式1.2.2确保不重复消费1.2.3确保消息可靠性传输1.2.4如何保证保证消息顺序性1.2.5如何设计消息中间件二、分布式搜索引擎2.1.es分布式
Zookeeper数据写入与分布式锁1.数据是怎么写入的2.基于Zookeeper实现分布式锁1.数据是怎么写入的无论是Zookeeper自带的客户端zkCli.sh,还是使用Python(或者其它语言)实现的客户端,本质上都是连接至集群,然后往里面读写数据。那么问题来了,集群在收到来自客户端的写请求时,是怎么写入数据的呢?另外客户端在访问集群的时候,本质上是访问集群内的某一个节点,而根据访问的节点是领导者还是追随者,写入数据的过程也会有所不同。先来看看当访问的节点是领导者的情况:这里面有一个关键的地方,就是Leader不会等到所有的Follower都写完,只要有一半的Follower写完,就
分布式协调系统Zookeeper1.Zookeeper的特点2.Zookeeper的数据结构3.Zookeeper的应用场景3.1统一命名服务3.2统一配置管理3.3统一集群管理3.4服务器动态上下线3.5软负载均衡Zookeeper是Apache开源的一个顶级项目,目的是为分布式应用提供协调服务,当然Zookeeper本身也是分布式的。而从设计模式的角度来理解:Zookeeper是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接收观察者的注册。一旦数据的状态发生变化,Zookeeper就会通知那些已经注册的观察者,以便它们能够及时做出反应。所以Zookee
Zookeeper集群及其选举机制1.安装Zookeeper集群2.如何选取Leader1.安装Zookeeper集群我们之前说了,Zookeeper集群是由一个领导者(Leader)和多个追随者(Follower)组成,但这个领导者是怎么选出来的呢?我们貌似没有在配置文件中看到有关领导者和追随者的参数啊?在此之前先来看看Zookeeper内部的一些机制:半数机制:只要有半数以上的节点存活,则集群可用,所以Zookeeper集群的节点数量适合为奇数。虽然在配置文件中没有指定领导者和追随者,但Zookeeper在工作时,有一个节点为Leader,其它则为Follower,而Leader是通过内部
新建Topic./kafka-topics--zookeeper166.188.xx.xx--create--topicflink_source--partitions1--replication-factor1replication-factor:指定副本数量partitions:指定分区删除Topic./kafka-topics--zookeeper166.188.xx.xx--delete--topicflink_source查看所有Topic./kafka-topics--zookeeper166.188.xx.xx--list查看指定Topic详情./kafka-topics--zo
1.环境准备docker拉取zookeeper镜像dockerpullzookeeper:3.4.14创建zookeeper容器,默认端口号为2181dockerrun-d--namezookeeper-p2181:2181zookeeper:3.4.14拉取kafka镜像dockerpullwurstmeister/kafka:2.12-2.3.1创键kafka容器,默认端口号为9092dockerrun-d--namekafka\--envKAFKA_ADVERTISED_HOST_NAME=192.168.117.80\--envKAFKA_ZOOKEEPER_CONNECT=192.1
kafka与zookeeper安装包:链接:https://pan.baidu.com/s/1b4DkzQttIfkA6DilC5AsWg?pwd=i9s9 提取码:i9s9一、kafka依赖1:需要jdk(我这使用的是1.8)yum-yinstalljava-1.8.0-openjdk2:需要zookeeper1>解压:tar-zxvf 包名2>cd /usr/local/zookeeper/zookeeper-3.4.123> mkdirdata #创建数据存放位置4> mkdirlog #创建日志存放位置5>cd /usr/local/zookeeper/zookeeper-3.
Kafka的使用查看kafka的topic./kafka-topics--bootstrap-server10.1.9.84:9092--list查看topic信息./kafka-topics--bootstrap-server10.1.9.84:9092--describe--topictopic_example_1创建topic创建topic名为test,分区数为8,副本数为1./kafka-topics.sh--create--zookeeper10.128.106.52:2181--topictest--partitions8--replication-factor1修改topic./