SlideShare a Scribd company logo
1 of 20
Download to read offline
Apache	Kafka	Reference	
Biju	Nair
Architecture	
BK1	 BK2	 BK3	 BK4	 BK5	
ZK1	 ZK2	 ZK3	
Producer	
- 	Serialize	Data	
-	Identify	Partition	
- 	Send	data	-	a/sync	
- 	Wait	for	sync	ack	
Consumer	
- 	Assigned	partition	
-	Polls	for	message	
- 	Grp	Coord	heartbeat	
- 	Partition	rebalance	
- 	Consumer	group	lead	
- 	Partition	will	be	assigned	to	mount	points	with	less	number	of	partitions	
- 	Partition	restricted	to	one	disk	/	mount	point	:	log.dirs	
- 	Max	message	size	:	message.max.bytes			
Brokers	
- 	All	brokers	registers	to	ZK		
- 	First	broker	becomes	the	
controller		
- 	Responsible	for	partition	leader	
election	
-	Controller	failure	and	election	
uses	ZK	watch	notification	
- 	Broker	creating	/controller	
Znode	becomes	the	controller	
- 	Controller	epoch	through	ZK	
conditional	increment	operation	
is	used	
- 	First	consumer	is	group	lead	
-	One	broker	assigned	as	group	
coordinator	
- 	Change	in	#	of	consumer	initiates	
partition	rebalance	
- 	All	reads	go	through	part		leader	
- 	Leader	keeps	track	of	ISR	
/brokers/ids	–	ephemeral	nodes	–	subscribed	by	kafka	components		
/controller	–	ZooKeeper	watch	
- 	All	writes	go	through	leader	
-	Writes	will	block	if	<	min	ISR	
- 	Broker	failure	results	in	next	
ISR	being	assigned	part	leader	
- 	Part	leader	keeps	track	of	ISR	
Fetch	
Replica
Partition	Leader	Election	
•  When	a	broker	fails	the	next	broker	hosting	an	
ISR	will	be	assigned	the	leader	
•  Only	brokers	with	ISR	can	become	the	leader	
•  Broker	which	was	the	leader	when	the	
partition	is	created	is	the	Preferred	Leader	(PL)	
•  If	PL	is	not	the	leader	and	is	an	ISR	then	a	
leader	election	is	triggered	
– auto.leader.rebalance.enable	=	true|false
Partition	Replication	
•  Replicas	send	fetch	requests	to	part	leaders	
•  Replica	is	out	of	sync	if	
– No	request	for	10	seconds	or	
– Not	caught	up	to	the	last	message	in	10	seconds	
– replica.lag.time.max.ms
Kafka	Client	
•  Uses	binary	protocol	
•  Requests	are	ordered	–	Produce/Fetch	
•  Acceptor	thread	to	Processing/network	thread	
•  Processing	thread	is	configurable	
–  Places	requests	into	request	queue	
–  Picks	responses	from	response	queue	and	returns	
•  Requests	picked-up	and	processed	by	IO	threads	
•  Client	makes	metadata	request	and	caches	result	
–  metadata.max.age.ms
Request	Header	
•  Request	Type			
•  Request	Version	–	Client	version	
•  Correlation	Id	–	Unique	ID	to	relate	req/res		
•  Client	Id	–	Identifies	the	application
Producer	Request		
•  Checks	for	
– User	privilege	
– Valid	acks	–	0,	1,	ALL	
– For	valid	acks	ALL,	check	there	are	enough	ISRs	
•  Ack	ALL	–	leader	responds	when	replicated	to	
all	
– Until	then	stores	request	in	buffer	called	Purgatory
Producer	Request	
Produce.send(r)	
Producer.send(r).get()	
Producer.send(r,	new	CallBack())	
acks	=	0|1|ALL	
buffer.memory.compression.type	=	
snappy|gzip|lz4	
retry.backoff.ms	
batch.size	–	batch	size	in	bytes	
linger.ms	–	time	before	batch	send	
client.id	–	for	stats/logging	
timeout.ms	
request.timeout.ms	
metadata.fetch.timeout.ms	
max.block.ms	
max.request.size	
receive|sender.buffer.bytes	
max.in.flight.requests.per.session	=	1	
B
K
2	
Producer	:	BootStrap,	KeySerializer,	ValueSerializer	
Producer	Record	(r)	
Topic	 Partition	 Key	 Value	
Serializer	
Partitioner	
Sender	Threads	
B
K
1	
B
K
3	
RecordMetaData
Fetch	Request	
•  Topic,	partition,	offset	
•  Limit	the	data	returned	
–  Size	or	#	of	messages	
•  Uses	Zero-Copy	for	performance		
–  File	system	cache	to	network	cache	
•  Can	set	min	size	to	minimize	network	traffic	
–  Also	set	time	in	ms	to	send	data	
•  Only	sees	data	which	has	been	replicated	–	high	
water	mark	
•  replica.lag.time.max.ms
Partition	Allocation	
•  Rack	awareness	
•  Equal	distribution	
•  Leader	at	node	A,	followers	in	A+1,	A+2	
•  Partition	assigned	to	directory	with	least	number	
of	partitions	
•  Partitions	are	divided	into	segments	
–  Segments	store	1	GB	or	1	weeks	worth	of	data	
•  File	handlers	open	to	all	segments	in	all	partitions	
–  OS	ulimit	need	to	be	changed	for	open	file	handlers
Files	
•  Indexes	
–  Index	to	segment	files	->	positions	within	segments	
–  Indexes	correspond	to	data	segments	
–  Indexes	will	be	purged	along	with	data	
•  Compaction	
–  Retention	policy	:	delete|compact	
–  log.cleaner.enabled	
–  To	delete	message;	generate	message	with	NULL	values	
–  No	compaction	of	active	segments	
–  Compaction	on	topics	with	50%	of	records	being	dirty	
Offset	
Magic/
Checksum	
Compression	
Codec	
Timestamp	 Key	Size	 Key	 Value	Size	 Value	
Data	File
Consumer	
•  Consumer	Group	
–  Consumers	->	Partition	
•  More	consumers	than	partition	->	idle	consumers	
•  Adding/dropping	consumers	->	partition	rebalancing	
–  While	rebalancing	can’t	consume	messages	
•  Group	membership	maintained	by	heartbeat	to	group	
coordinator	
–  Heartbeats	are	send	during	poll()	
•  Commit	records	offset	of	message	consumed	
•  Consumer	crash	leads	to	no	processing	of	messages	from	
the	assigned	partition	
–  session.timeout.ms	/	max.poll.interval.ms
Consumer	Group	
•  One	broker	acts	as	Group	Coordinator	
•  Consumers	make	JoinGroup	request	
•  First	consumer	becomes	group	leader	
•  Leader	receives	all	details	about	all	consumers	
•  Assigns	partitions	to	consumer	using	
“PartitionAssignor”	
•  Sends	assignments	to	Group	Coordinator	
•  Group	coordinator	sends	relevant	information	to	
each	consumer	like	the	assigned	partition
Consumer	
•  Consumer	
–  Bootstrap,	KeyDeSerializer,	ValueDeSerializer,	Group.id	
•  subscribe()	
•  poll	
–  Returns	records	
–  Sends	heartbeats	
•  close	
•  pause/resume	
–  Poll	without	retrieving	data	which	does	heartbeat	
•  wakeup	
–  JVM	shutdown	hook	to	perform	housekeeping
Consumer	Attributes	
•  fetch.min.bytes	
•  fetch.max.wait.ms	–	500	ms	
•  max.partiton.fetch.bytes	>	max.message.size	
•  session.timeout.ms	–	3	secs	
•  heartbeat.interval.ms	
•  auto.offset.reset	–	latest|earliest	
•  enable.auto.commit	–	true|false	
•  auto.commit.interval.ms	
•  partition.assignment.strategy	–	range|round	robin	
•  client.id	
•  max.poll.records	
•  receive.buffer.bytes,	send.buffer.bytes
Commits	&	Offsets	
•  Topics	__consumer_offset	to	store	offsets	
–  enable.auto.commit	=	true	
–  Auto.commit.interval.ms	=	5	
•  During	rebalancing,	data	can	be	processed	twice	
or	missed	with	auto	commit	
•  Disable	auto	commit	–	auto.commit.offset	=	false	
–  poll()	and	process	all	the	records	
–  Commit	
•  commitSync()	
•  commitAsync()	
•  commitAsync(new	OffsetCommitCallback())
Handling	Rebalancing	
•  Pass	in	“ConsumerRebalancerListener”	to	
subscribe	
– onPartitionsRevoked	
– onPartitionsAssigned	
•  consumer.seekToBegining(TopicPartition)	
•  consumer.seekToEnd(TopicPartition)	
•  Consumer.seek(partition,	offset)
Serializer/DeSerializer	
•  Avro	
•  String	
•  Integer	
•  ByteArray
Broker	Configs	
•  default.replication.factor	
– replication.factor	
•  broker.rack	
•  unclean.leader.election.enable	–	true|false	
•  min.insync.replicas
Administration	
Shell	Script	 Feature	
Kafka-topics.sh	 Create,	delete,	alter,	list,	describe	topics	
Kafka-consumer-groups.sh	 List,	describe,	delete	(o)	consumer	groups	
kafka-run-class.sh	
kafka.tools.ExportZkOffsets	
Export	offset	of	a	consumer	group	
kafka-run-class.sh	
kafka.tools.ImportZkOffsets		
Import	offset	for	a	consumer	group	
kafka-configs.sh		 Dynamic	configuration	changes	for	topics	
and	client	quotas	
kafka-preferred-replica-	election.sh		 Request	preferred	replica	leader	election	
kafka-reassign-partitions.sh	 Reassign	partitions,	rebalance,	change	
replication	
kafka-run-class.sh	
kafka.tools.DumpLogSegments		
Dump	log	segments	and	verify	indexes	
kafka-replica-verification.sh		 Replica	verification	
kafka-verifiable-producer/consumer.sh	 Script

More Related Content

What's hot

Copy of Kafka-Camus
Copy of Kafka-CamusCopy of Kafka-Camus
Copy of Kafka-Camus
Deep Shah
 

What's hot (20)

Dragonflow 01 2016 TLV meetup
Dragonflow 01 2016 TLV meetup  Dragonflow 01 2016 TLV meetup
Dragonflow 01 2016 TLV meetup
 
High performance messaging with Apache Pulsar
High performance messaging with Apache PulsarHigh performance messaging with Apache Pulsar
High performance messaging with Apache Pulsar
 
Kafka Summit NYC 2017 - Deep Dive Into Apache Kafka
Kafka Summit NYC 2017 - Deep Dive Into Apache KafkaKafka Summit NYC 2017 - Deep Dive Into Apache Kafka
Kafka Summit NYC 2017 - Deep Dive Into Apache Kafka
 
Apache Pulsar at Yahoo! Japan
Apache Pulsar at Yahoo! JapanApache Pulsar at Yahoo! Japan
Apache Pulsar at Yahoo! Japan
 
OpenStack Dragonflow shenzhen and Hangzhou meetups
OpenStack Dragonflow shenzhen and Hangzhou  meetupsOpenStack Dragonflow shenzhen and Hangzhou  meetups
OpenStack Dragonflow shenzhen and Hangzhou meetups
 
Copy of Kafka-Camus
Copy of Kafka-CamusCopy of Kafka-Camus
Copy of Kafka-Camus
 
Introducing KSML: Kafka Streams for low code environments | Jeroen van Dissel...
Introducing KSML: Kafka Streams for low code environments | Jeroen van Dissel...Introducing KSML: Kafka Streams for low code environments | Jeroen van Dissel...
Introducing KSML: Kafka Streams for low code environments | Jeroen van Dissel...
 
OpenStack Tokyo Talk Application Data Protection Service
OpenStack Tokyo Talk Application Data Protection ServiceOpenStack Tokyo Talk Application Data Protection Service
OpenStack Tokyo Talk Application Data Protection Service
 
Apache Kafka Introduction
Apache Kafka IntroductionApache Kafka Introduction
Apache Kafka Introduction
 
Apache Pulsar First Overview
Apache PulsarFirst OverviewApache PulsarFirst Overview
Apache Pulsar First Overview
 
Open keynote_carolyn&matteo&sijie
Open keynote_carolyn&matteo&sijieOpen keynote_carolyn&matteo&sijie
Open keynote_carolyn&matteo&sijie
 
Apache Kafka - Martin Podval
Apache Kafka - Martin PodvalApache Kafka - Martin Podval
Apache Kafka - Martin Podval
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
Apache kafka introduction
Apache kafka introductionApache kafka introduction
Apache kafka introduction
 
Introduction to Kafka
Introduction to KafkaIntroduction to Kafka
Introduction to Kafka
 
L3DSR - Overcoming Layer 2 Limitations of Direct Server Return Load Balancing
L3DSR - Overcoming Layer 2 Limitations of Direct Server Return Load BalancingL3DSR - Overcoming Layer 2 Limitations of Direct Server Return Load Balancing
L3DSR - Overcoming Layer 2 Limitations of Direct Server Return Load Balancing
 
2 networking
2 networking2 networking
2 networking
 
Scaling customer engagement with apache pulsar
Scaling customer engagement with apache pulsarScaling customer engagement with apache pulsar
Scaling customer engagement with apache pulsar
 
Kafka on Pulsar:bringing native Kafka protocol support to Pulsar_Sijie&Pierre
Kafka on Pulsar:bringing native Kafka protocol support to Pulsar_Sijie&PierreKafka on Pulsar:bringing native Kafka protocol support to Pulsar_Sijie&Pierre
Kafka on Pulsar:bringing native Kafka protocol support to Pulsar_Sijie&Pierre
 
Kafka on Pulsar
Kafka on Pulsar Kafka on Pulsar
Kafka on Pulsar
 

Similar to Apache Kafka Reference

Kafka Evaluation - High Throughout Message Queue
Kafka Evaluation - High Throughout Message QueueKafka Evaluation - High Throughout Message Queue
Kafka Evaluation - High Throughout Message Queue
Shafaq Abdullah
 

Similar to Apache Kafka Reference (20)

Kafka Evaluation - High Throughout Message Queue
Kafka Evaluation - High Throughout Message QueueKafka Evaluation - High Throughout Message Queue
Kafka Evaluation - High Throughout Message Queue
 
Kafka Needs no Keeper( Jason Gustafson & Colin McCabe, Confluent) Kafka Summi...
Kafka Needs no Keeper( Jason Gustafson & Colin McCabe, Confluent) Kafka Summi...Kafka Needs no Keeper( Jason Gustafson & Colin McCabe, Confluent) Kafka Summi...
Kafka Needs no Keeper( Jason Gustafson & Colin McCabe, Confluent) Kafka Summi...
 
Kafka and ibm event streams basics
Kafka and ibm event streams basicsKafka and ibm event streams basics
Kafka and ibm event streams basics
 
Kafka blr-meetup-presentation - Kafka internals
Kafka blr-meetup-presentation - Kafka internalsKafka blr-meetup-presentation - Kafka internals
Kafka blr-meetup-presentation - Kafka internals
 
Getting Started with Kafka on k8s
Getting Started with Kafka on k8sGetting Started with Kafka on k8s
Getting Started with Kafka on k8s
 
Streaming in Practice - Putting Apache Kafka in Production
Streaming in Practice - Putting Apache Kafka in ProductionStreaming in Practice - Putting Apache Kafka in Production
Streaming in Practice - Putting Apache Kafka in Production
 
Migrating to XtraDB Cluster
Migrating to XtraDB ClusterMigrating to XtraDB Cluster
Migrating to XtraDB Cluster
 
Zookeeper Introduce
Zookeeper IntroduceZookeeper Introduce
Zookeeper Introduce
 
Apache Kafka Women Who Code Meetup
Apache Kafka Women Who Code MeetupApache Kafka Women Who Code Meetup
Apache Kafka Women Who Code Meetup
 
Citi TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep DiveCiti TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep Dive
 
Kafka practical experience
Kafka practical experienceKafka practical experience
Kafka practical experience
 
Streaming systems - Part 1
Streaming systems - Part 1Streaming systems - Part 1
Streaming systems - Part 1
 
Apache Bookkeeper and Apache Zookeeper for Apache Pulsar
Apache Bookkeeper and Apache Zookeeper for Apache PulsarApache Bookkeeper and Apache Zookeeper for Apache Pulsar
Apache Bookkeeper and Apache Zookeeper for Apache Pulsar
 
Kafka Deep Dive
Kafka Deep DiveKafka Deep Dive
Kafka Deep Dive
 
Introduction to Kafka and Event-Driven
Introduction to Kafka and Event-DrivenIntroduction to Kafka and Event-Driven
Introduction to Kafka and Event-Driven
 
Introduction to Kafka and Event-Driven
Introduction to Kafka and Event-DrivenIntroduction to Kafka and Event-Driven
Introduction to Kafka and Event-Driven
 
Grokking TechTalk #24: Kafka's principles and protocols
Grokking TechTalk #24: Kafka's principles and protocolsGrokking TechTalk #24: Kafka's principles and protocols
Grokking TechTalk #24: Kafka's principles and protocols
 
Hadoop admin
Hadoop adminHadoop admin
Hadoop admin
 
Layer-3 BFD Optimization Proposals for Enterprise and Campus Networks
Layer-3 BFD Optimization Proposals for Enterprise and Campus NetworksLayer-3 BFD Optimization Proposals for Enterprise and Campus Networks
Layer-3 BFD Optimization Proposals for Enterprise and Campus Networks
 
Not Your Mother's Kafka - Deep Dive into Confluent Cloud Infrastructure | Gwe...
Not Your Mother's Kafka - Deep Dive into Confluent Cloud Infrastructure | Gwe...Not Your Mother's Kafka - Deep Dive into Confluent Cloud Infrastructure | Gwe...
Not Your Mother's Kafka - Deep Dive into Confluent Cloud Infrastructure | Gwe...
 

More from Biju Nair

NENUG Apr14 Talk - data modeling for netezza
NENUG Apr14 Talk - data modeling for netezzaNENUG Apr14 Talk - data modeling for netezza
NENUG Apr14 Talk - data modeling for netezza
Biju Nair
 
Netezza fundamentals for developers
Netezza fundamentals for developersNetezza fundamentals for developers
Netezza fundamentals for developers
Biju Nair
 
Project Risk Management
Project Risk ManagementProject Risk Management
Project Risk Management
Biju Nair
 

More from Biju Nair (17)

Chef conf-2015-chef-patterns-at-bloomberg-scale
Chef conf-2015-chef-patterns-at-bloomberg-scaleChef conf-2015-chef-patterns-at-bloomberg-scale
Chef conf-2015-chef-patterns-at-bloomberg-scale
 
HBase Internals And Operations
HBase Internals And OperationsHBase Internals And Operations
HBase Internals And Operations
 
Serving queries at low latency using HBase
Serving queries at low latency using HBaseServing queries at low latency using HBase
Serving queries at low latency using HBase
 
Multi-Tenant HBase Cluster - HBaseCon2018-final
Multi-Tenant HBase Cluster - HBaseCon2018-finalMulti-Tenant HBase Cluster - HBaseCon2018-final
Multi-Tenant HBase Cluster - HBaseCon2018-final
 
Cursor Implementation in Apache Phoenix
Cursor Implementation in Apache PhoenixCursor Implementation in Apache Phoenix
Cursor Implementation in Apache Phoenix
 
Hadoop security
Hadoop securityHadoop security
Hadoop security
 
Chef patterns
Chef patternsChef patterns
Chef patterns
 
HBase Application Performance Improvement
HBase Application Performance ImprovementHBase Application Performance Improvement
HBase Application Performance Improvement
 
HDFS User Reference
HDFS User ReferenceHDFS User Reference
HDFS User Reference
 
NENUG Apr14 Talk - data modeling for netezza
NENUG Apr14 Talk - data modeling for netezzaNENUG Apr14 Talk - data modeling for netezza
NENUG Apr14 Talk - data modeling for netezza
 
Netezza workload management
Netezza workload managementNetezza workload management
Netezza workload management
 
Row or Columnar Database
Row or Columnar DatabaseRow or Columnar Database
Row or Columnar Database
 
Using Netezza Query Plan to Improve Performace
Using Netezza Query Plan to Improve PerformaceUsing Netezza Query Plan to Improve Performace
Using Netezza Query Plan to Improve Performace
 
Netezza fundamentals for developers
Netezza fundamentals for developersNetezza fundamentals for developers
Netezza fundamentals for developers
 
Concurrency
ConcurrencyConcurrency
Concurrency
 
Project Risk Management
Project Risk ManagementProject Risk Management
Project Risk Management
 
Websphere MQ (MQSeries) fundamentals
Websphere MQ (MQSeries) fundamentalsWebsphere MQ (MQSeries) fundamentals
Websphere MQ (MQSeries) fundamentals
 

Recently uploaded

%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 

Recently uploaded (20)

%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 

Apache Kafka Reference