SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
instaclustr.comTwitter @instaclustr info@instaclustr.com instaclustr.com
Lessons Learned from Building an
Apache Kafka
Managed Service
instaclustr.com
Introduction
# Who am I?
/bin/whoami
● Ben Bromhead, CTO, Instaclustr
# Who is Instaclustr?
/bin/id -g -n
● Experts in reliability at scale
● Manage/Support 3k+ Cassandra, Spark and Elassandra nodes
● Platform providers automated provisioning, monitoring and management
● Available on AWS, GCP, Azure and IBM Cloud
● Managed Apache Kafka released May 21st
instaclustr.com
Agenda
● What is Kafka
● A quick intro to how it works
● Context - our offering and development process
● Hardware choice and benchmarking
● Topic and user management
● Broker security configuration
● Monitoring
● Backup and Restore
instaclustr.com
What Is Apache Kafka?
Key Characteristics
● Horizontal scalable, distributed system
● Performance
○ Low latency, high throughput
● Scalability
○ Linear broker scalability via partitioned topics
○ Linear consumer scalability via consumer groups
● Fault-tolerance
○ Data is replicated across multiple brokers
○ Automatic broker failover when primary replica goes offline
○ Automatic consumer failover when consumer in consumer group
goes offline
● Apache Foundation Open Source
● Production Proven
• Publish & Subscribe to streams of data
(reliable message transport)
• Transform and/or aggregate data streams
using distributed processing applications
(stream processing)
instaclustr.com
Why use Apache Kafka?
● Provide a buffering mechanism in front of a processing (ie deal with temporary incoming message rate
greater than processing app can deal with)
● A special case of buffering is to allow producers to publish messages with guaranteed delivery even if
the consumers are down when the message is published
● As an event store for events sourcing or Kappa architecture
● Facilitate flexible, configurable architectures with many producers -> many consumers by separating
the details who what is consuming messages for the apps that produce them (and vice-versa)
● Perform stream analytics (with Kafka Streams)
instaclustr.com
How does it work: producing records
● Each topic has a fixed number of partitions
● Records published to a topic by a producer are
divided amongst the topic’s partitions
● Partitions are ordered, immutable lists
● Each new record is appended to the end of a
partition
● Each partition is stored on a single leader broker,
and may optionally be replicated to one or more
follower brokers
instaclustr.com
How does it work: consuming records
● A consumer reads from one or more partitions
● Consumer maintains an offset of the last record in the partition read
● The consumer requests a micro-batch of records from Kafka. The
broker uses the offset to provide the latest records to the consumer
● Once the consumer has finished processing a record, it must
commit the new offset
● Because Kafka does not delete records immediately after they are
read, consumers may reset the offset to a previous value to replay
records
instaclustr.com
How does it work: consumer groups
● Multiple consumers reading from a topic may be
arranged into Consumer Groups
● A Consumer Group load-balances partitions amongst
consumers
● If a consumer goes offline, the consumer group will
automatically re-distribute it’s partitions amongst the
remaining consumers
instaclustr.com
How it works: Easier Abstractions
● High-level API
● Drop-in source (import) & sink (export) connectors
exist for many popular technologies, including
Amazon S3, Amazon Kinesis, Apache Cassandra,
HDFS and JDBC
Kafka Connect
● Provides functionality to aggregate data, join
multiple topics and perform complex
transformations to live data as it arrives
● The API abstracts away most of the difficult
scalability, fault-tolerance and consistency
problems associated with performing live
aggregations on a distributed system
Kafka Streams
instaclustr.com
Instaclustr Managed Kafka - Key Features
● Available Now:
○ Open source Apache Kafka (Brokers) and Zookeeper
automatically provisioned in AWS, GCP and Azure
○ Broker Monitoring
○ Instaclustr monitoring and provisioning API support
○ Private network clusters (AWS only)
○ Run in your cloud provider account or ours
● For GA (end June):
○ SOC2 compliant
○ User & credential management
○ More cluster config options
○ Topic Level and Synthetic transaction monitoring
○ Infrastructure config tuning
● Likely future release scope:
○ Topic Management UI
○ Cluster “copy”
○ Managed:
■ Kafka Connect
■ Schema Registry
■ Mirror Maker
○ Dynamic scaling
instaclustr.com
Instaclustr Managed Kafka - Development Process
● First customer requests 2016
● Internal infrastructure deployment and usage of Kafka mid 2017
● Managed service platform development
commenced November 2017
● Early access program with 4 customers
commenced December 2017
● Public preview release 21 May 2018
● GA expected 25 June 2018
instaclustr.com
Hardware Choice and Benchmarking - GP2 vs ST1
● AWS Benchmark - r4.large w
500GB disks
● Avg 10% improved throughput
with ST1 vs GP2 EBS
● ST1 is 45% of the cost of GP2
instaclustr.com
Hardware Choice and Benchmarking - GP2 vs ST1
● AWS Benchmark - r4.large w
500GB disks
● Avg 10% improved throughput
with ST1 vs GP2 EBS
● ST1 is 45% of the cost of GP2
instaclustr.com
Hardware Choice and Benchmarking - SSL vs non-SSL
● AWS Benchmark - r4.large w
1500GB ST1 disks
● 512 byte messages
● ~30% decrease in throughput with
Broker and Client SSL enabled
instaclustr.com
Hardware Choice and Benchmarking - SSL vs non-SSL
● AWS Benchmark - r4.large w
1500GB ST1 disks
● 512 byte messages
● ~30% decrease in throughput with
Broker and Client SSL enabled
instaclustr.com
Hardware Choice and Benchmarking - Number of Topics
● Increasing topics small reduction
performances
● However,
more topics = more partitions
and
significantly slows recovery time from
node failure
10
Topic
s
100
Topic
s
1000
Topic
s
5000
Topic
s
instaclustr.com
Hardware Choice and Benchmarking -
Colocated Zookeeper
● Often recommended to host zookeeper
separately to Kafka.
● However, recent changes have
significantly reduced load on
Zookeeper from Kafka.
○ Consumer offsets are no longer
stored in Zookeeper.
● Our benchmarking showed no
measurable difference in performance,
at least for smaller clusters.
Consumer Rate - Colocated Consumer Rate - Separate
6 Broker Test with Node Restart
instaclustr.com
Topic and User Configuration Management
● Existing Kafka utilities for managing topic and user configuration required direct access to Zookeeper
● However, Zookeeper does not have a robust external security model (TLS support, node to node auth, etc)
● Providing Zookeeper access to customers introduces a whole class of very strange ways to break a cluster
by corrupting Zookeeper
● Solutions:
○ Developed command line tool to use Kafka API for topic configuration (https://github.com/instaclustr/ic-kafka-tools)
■ may add to Instaclustr console later although we think maintaining topic config as a version controlled file in your repo is
a better approach
○ Adding user management to Instaclustr console
■ we do no want to keep cluster passwords in our central management system so this feature will require users to enter an
existing Kafka credentials to be temporarily used by our system
instaclustr.com
Broker Security Configuration
● Using SCRAM (Salted Challenge Response Authentication Mechanism) for authentication
○ More secure
○ Allows easier rotation of credentials
○ Initial release for client->broker only with plain text for broker to broker
○ Decided to also use for broker->broker to allow rapid rotation of credentials as part of SOC2 security measures
● TLS built on existing Cassandra infrastructure
○ New CA created per cluster
○ CA used to generate certificates for each node
○ CA pub cert available for clients to download for full validation of certificates
● Access to managed clusters also follows same model as Cassandra
○ Public IPs and whitelisting in firewall (security group or equivalent)
○ Private IPs with VPC Peering (or equivalent in other cloud providers)
○ Private Network Clusters where nodes are not allocated public IPs and gateway box is used for admin access
○ Did not expose through firewall Zookeeper due to weak security model
instaclustr.com
Monitoring
● Metrics exposed via JMX allowing us to use our existing Cassandra monitoring
○ Custom agent -> RabbitMQ (planned to migrate to Kafka) -> Riemann -> Cassandra + Spark -> Console, APIs, Grafana
● Exposing broker-level and per-topic metrics
● Alerting?
○ The basics: service state, disk usage free space, server still exists
○ Kafka metrics: offline partitions, active controllers != 1, partition under replicated
○ Synthetic transactions: publish and consume message to controlled topic, measure success and latency
instaclustr.com
Backup and Restore
● Internet wisdom = Kafka Backups is not a thing
○ Rely on replication within cluster or mirror maker replication to another cluster
● Hmm - we rarely use backups for Cassandra but there have been a few times we’ve been very glad to have
them
○ Hardware failure is not an issue but corruption due to app bugs or user error can occur and be spread by replication
● Working on regular automated backup and restore of topic and security configuration
● Consider using Kafka Connect to write important message to offline backup
instaclustr.comTwitter @instaclustr info@instaclustr.com instaclustr.com
Give a try!
14 Day Free Trial at
instaclustr.com

Mais conteúdo relacionado

Mais procurados

Apache Kafka Architecture & Fundamentals Explained
Apache Kafka Architecture & Fundamentals ExplainedApache Kafka Architecture & Fundamentals Explained
Apache Kafka Architecture & Fundamentals Explainedconfluent
 
Function Mesh for Apache Pulsar, the Way for Simple Streaming Solutions
Function Mesh for Apache Pulsar, the Way for Simple Streaming SolutionsFunction Mesh for Apache Pulsar, the Way for Simple Streaming Solutions
Function Mesh for Apache Pulsar, the Way for Simple Streaming SolutionsStreamNative
 
Architecture of a Kafka camus infrastructure
Architecture of a Kafka camus infrastructureArchitecture of a Kafka camus infrastructure
Architecture of a Kafka camus infrastructuremattlieber
 
Kafka on Kubernetes—From Evaluation to Production at Intuit
Kafka on Kubernetes—From Evaluation to Production at Intuit Kafka on Kubernetes—From Evaluation to Production at Intuit
Kafka on Kubernetes—From Evaluation to Production at Intuit confluent
 
Oops! I started a broker | Yinon Kahta, Taboola
Oops! I started a broker | Yinon Kahta, TaboolaOops! I started a broker | Yinon Kahta, Taboola
Oops! I started a broker | Yinon Kahta, TaboolaHostedbyConfluent
 
Everything you ever needed to know about Kafka on Kubernetes but were afraid ...
Everything you ever needed to know about Kafka on Kubernetes but were afraid ...Everything you ever needed to know about Kafka on Kubernetes but were afraid ...
Everything you ever needed to know about Kafka on Kubernetes but were afraid ...HostedbyConfluent
 
High performance messaging with Apache Pulsar
High performance messaging with Apache PulsarHigh performance messaging with Apache Pulsar
High performance messaging with Apache PulsarMatteo Merli
 
Introduction to Kafka Cruise Control
Introduction to Kafka Cruise ControlIntroduction to Kafka Cruise Control
Introduction to Kafka Cruise ControlJiangjie Qin
 
Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...
Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...
Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...HostedbyConfluent
 
Apache Pulsar Seattle - Meetup
Apache Pulsar Seattle - MeetupApache Pulsar Seattle - Meetup
Apache Pulsar Seattle - MeetupKarthik Ramasamy
 
Scaling Security on 100s of Millions of Mobile Devices Using Apache Kafka® an...
Scaling Security on 100s of Millions of Mobile Devices Using Apache Kafka® an...Scaling Security on 100s of Millions of Mobile Devices Using Apache Kafka® an...
Scaling Security on 100s of Millions of Mobile Devices Using Apache Kafka® an...confluent
 
Netflix Data Pipeline With Kafka
Netflix Data Pipeline With KafkaNetflix Data Pipeline With Kafka
Netflix Data Pipeline With KafkaSteven Wu
 
Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013
Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013
Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013Christopher Curtin
 
Fundamentals and Architecture of Apache Kafka
Fundamentals and Architecture of Apache KafkaFundamentals and Architecture of Apache Kafka
Fundamentals and Architecture of Apache KafkaAngelo Cesaro
 
Fundamentals of Apache Kafka
Fundamentals of Apache KafkaFundamentals of Apache Kafka
Fundamentals of Apache KafkaChhavi Parasher
 

Mais procurados (17)

Apache Kafka Architecture & Fundamentals Explained
Apache Kafka Architecture & Fundamentals ExplainedApache Kafka Architecture & Fundamentals Explained
Apache Kafka Architecture & Fundamentals Explained
 
Function Mesh for Apache Pulsar, the Way for Simple Streaming Solutions
Function Mesh for Apache Pulsar, the Way for Simple Streaming SolutionsFunction Mesh for Apache Pulsar, the Way for Simple Streaming Solutions
Function Mesh for Apache Pulsar, the Way for Simple Streaming Solutions
 
Architecture of a Kafka camus infrastructure
Architecture of a Kafka camus infrastructureArchitecture of a Kafka camus infrastructure
Architecture of a Kafka camus infrastructure
 
Kafka on Kubernetes—From Evaluation to Production at Intuit
Kafka on Kubernetes—From Evaluation to Production at Intuit Kafka on Kubernetes—From Evaluation to Production at Intuit
Kafka on Kubernetes—From Evaluation to Production at Intuit
 
Oops! I started a broker | Yinon Kahta, Taboola
Oops! I started a broker | Yinon Kahta, TaboolaOops! I started a broker | Yinon Kahta, Taboola
Oops! I started a broker | Yinon Kahta, Taboola
 
Kafka aws
Kafka awsKafka aws
Kafka aws
 
Everything you ever needed to know about Kafka on Kubernetes but were afraid ...
Everything you ever needed to know about Kafka on Kubernetes but were afraid ...Everything you ever needed to know about Kafka on Kubernetes but were afraid ...
Everything you ever needed to know about Kafka on Kubernetes but were afraid ...
 
High performance messaging with Apache Pulsar
High performance messaging with Apache PulsarHigh performance messaging with Apache Pulsar
High performance messaging with Apache Pulsar
 
Introduction to Kafka Cruise Control
Introduction to Kafka Cruise ControlIntroduction to Kafka Cruise Control
Introduction to Kafka Cruise Control
 
Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...
Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...
Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...
 
Apache Pulsar Seattle - Meetup
Apache Pulsar Seattle - MeetupApache Pulsar Seattle - Meetup
Apache Pulsar Seattle - Meetup
 
Scaling Security on 100s of Millions of Mobile Devices Using Apache Kafka® an...
Scaling Security on 100s of Millions of Mobile Devices Using Apache Kafka® an...Scaling Security on 100s of Millions of Mobile Devices Using Apache Kafka® an...
Scaling Security on 100s of Millions of Mobile Devices Using Apache Kafka® an...
 
Netflix Data Pipeline With Kafka
Netflix Data Pipeline With KafkaNetflix Data Pipeline With Kafka
Netflix Data Pipeline With Kafka
 
Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013
Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013
Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013
 
Fundamentals and Architecture of Apache Kafka
Fundamentals and Architecture of Apache KafkaFundamentals and Architecture of Apache Kafka
Fundamentals and Architecture of Apache Kafka
 
Fundamentals of Apache Kafka
Fundamentals of Apache KafkaFundamentals of Apache Kafka
Fundamentals of Apache Kafka
 
Introduction to apache kafka
Introduction to apache kafkaIntroduction to apache kafka
Introduction to apache kafka
 

Semelhante a Insta clustr seattle kafka meetup presentation bb

Netflix Keystone Pipeline at Big Data Bootcamp, Santa Clara, Nov 2015
Netflix Keystone Pipeline at Big Data Bootcamp, Santa Clara, Nov 2015Netflix Keystone Pipeline at Big Data Bootcamp, Santa Clara, Nov 2015
Netflix Keystone Pipeline at Big Data Bootcamp, Santa Clara, Nov 2015Monal Daxini
 
An Introduction to Apache Kafka
An Introduction to Apache KafkaAn Introduction to Apache Kafka
An Introduction to Apache KafkaAmir Sedighi
 
Strimzi - Where Apache Kafka meets OpenShift - OpenShift Spain MeetUp
Strimzi - Where Apache Kafka meets OpenShift - OpenShift Spain MeetUpStrimzi - Where Apache Kafka meets OpenShift - OpenShift Spain MeetUp
Strimzi - Where Apache Kafka meets OpenShift - OpenShift Spain MeetUpJosé Román Martín Gil
 
Twitter’s Apache Kafka Adoption Journey | Ming Liu, Twitter
Twitter’s Apache Kafka Adoption Journey | Ming Liu, TwitterTwitter’s Apache Kafka Adoption Journey | Ming Liu, Twitter
Twitter’s Apache Kafka Adoption Journey | Ming Liu, TwitterHostedbyConfluent
 
Kafka meetup seattle 2019 mirus reliable, high performance replication for ap...
Kafka meetup seattle 2019 mirus reliable, high performance replication for ap...Kafka meetup seattle 2019 mirus reliable, high performance replication for ap...
Kafka meetup seattle 2019 mirus reliable, high performance replication for ap...Nitin Kumar
 
Redpanda and ClickHouse
Redpanda and ClickHouseRedpanda and ClickHouse
Redpanda and ClickHouseAltinity Ltd
 
Introduction to apache kafka
Introduction to apache kafkaIntroduction to apache kafka
Introduction to apache kafkaSamuel Kerrien
 
A day in the life of a log message
A day in the life of a log messageA day in the life of a log message
A day in the life of a log messageJosef Karásek
 
14th Athens Big Data Meetup - Landoop Workshop - Apache Kafka Entering The St...
14th Athens Big Data Meetup - Landoop Workshop - Apache Kafka Entering The St...14th Athens Big Data Meetup - Landoop Workshop - Apache Kafka Entering The St...
14th Athens Big Data Meetup - Landoop Workshop - Apache Kafka Entering The St...Athens Big Data
 
Uber Real Time Data Analytics
Uber Real Time Data AnalyticsUber Real Time Data Analytics
Uber Real Time Data AnalyticsAnkur Bansal
 
Uber: Kafka Consumer Proxy
Uber: Kafka Consumer ProxyUber: Kafka Consumer Proxy
Uber: Kafka Consumer Proxyconfluent
 
Structured Streaming with Kafka
Structured Streaming with KafkaStructured Streaming with Kafka
Structured Streaming with Kafkadatamantra
 
Kafka Cluster Federation at Uber (Yupeng Fui & Xiaoman Dong, Uber) Kafka Summ...
Kafka Cluster Federation at Uber (Yupeng Fui & Xiaoman Dong, Uber) Kafka Summ...Kafka Cluster Federation at Uber (Yupeng Fui & Xiaoman Dong, Uber) Kafka Summ...
Kafka Cluster Federation at Uber (Yupeng Fui & Xiaoman Dong, Uber) Kafka Summ...confluent
 
Apache Kafka Introduction
Apache Kafka IntroductionApache Kafka Introduction
Apache Kafka IntroductionAmita Mirajkar
 
A Primer Towards Running Kafka on Top of Kubernetes.pdf
A Primer Towards Running Kafka on Top of Kubernetes.pdfA Primer Towards Running Kafka on Top of Kubernetes.pdf
A Primer Towards Running Kafka on Top of Kubernetes.pdfAvinashUpadhyaya3
 
Kafka in action - Tech Talk - Paytm
Kafka in action - Tech Talk - PaytmKafka in action - Tech Talk - Paytm
Kafka in action - Tech Talk - PaytmSumit Jain
 
Netflix keystone streaming data pipeline @scale in the cloud-dbtb-2016
Netflix keystone   streaming data pipeline @scale in the cloud-dbtb-2016Netflix keystone   streaming data pipeline @scale in the cloud-dbtb-2016
Netflix keystone streaming data pipeline @scale in the cloud-dbtb-2016Monal Daxini
 
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...javier ramirez
 

Semelhante a Insta clustr seattle kafka meetup presentation bb (20)

Netflix Keystone Pipeline at Big Data Bootcamp, Santa Clara, Nov 2015
Netflix Keystone Pipeline at Big Data Bootcamp, Santa Clara, Nov 2015Netflix Keystone Pipeline at Big Data Bootcamp, Santa Clara, Nov 2015
Netflix Keystone Pipeline at Big Data Bootcamp, Santa Clara, Nov 2015
 
An Introduction to Apache Kafka
An Introduction to Apache KafkaAn Introduction to Apache Kafka
An Introduction to Apache Kafka
 
kafka
kafkakafka
kafka
 
Strimzi - Where Apache Kafka meets OpenShift - OpenShift Spain MeetUp
Strimzi - Where Apache Kafka meets OpenShift - OpenShift Spain MeetUpStrimzi - Where Apache Kafka meets OpenShift - OpenShift Spain MeetUp
Strimzi - Where Apache Kafka meets OpenShift - OpenShift Spain MeetUp
 
Twitter’s Apache Kafka Adoption Journey | Ming Liu, Twitter
Twitter’s Apache Kafka Adoption Journey | Ming Liu, TwitterTwitter’s Apache Kafka Adoption Journey | Ming Liu, Twitter
Twitter’s Apache Kafka Adoption Journey | Ming Liu, Twitter
 
Kafka meetup seattle 2019 mirus reliable, high performance replication for ap...
Kafka meetup seattle 2019 mirus reliable, high performance replication for ap...Kafka meetup seattle 2019 mirus reliable, high performance replication for ap...
Kafka meetup seattle 2019 mirus reliable, high performance replication for ap...
 
Redpanda and ClickHouse
Redpanda and ClickHouseRedpanda and ClickHouse
Redpanda and ClickHouse
 
Introduction to apache kafka
Introduction to apache kafkaIntroduction to apache kafka
Introduction to apache kafka
 
A day in the life of a log message
A day in the life of a log messageA day in the life of a log message
A day in the life of a log message
 
14th Athens Big Data Meetup - Landoop Workshop - Apache Kafka Entering The St...
14th Athens Big Data Meetup - Landoop Workshop - Apache Kafka Entering The St...14th Athens Big Data Meetup - Landoop Workshop - Apache Kafka Entering The St...
14th Athens Big Data Meetup - Landoop Workshop - Apache Kafka Entering The St...
 
Netflix Data Pipeline With Kafka
Netflix Data Pipeline With KafkaNetflix Data Pipeline With Kafka
Netflix Data Pipeline With Kafka
 
Uber Real Time Data Analytics
Uber Real Time Data AnalyticsUber Real Time Data Analytics
Uber Real Time Data Analytics
 
Uber: Kafka Consumer Proxy
Uber: Kafka Consumer ProxyUber: Kafka Consumer Proxy
Uber: Kafka Consumer Proxy
 
Structured Streaming with Kafka
Structured Streaming with KafkaStructured Streaming with Kafka
Structured Streaming with Kafka
 
Kafka Cluster Federation at Uber (Yupeng Fui & Xiaoman Dong, Uber) Kafka Summ...
Kafka Cluster Federation at Uber (Yupeng Fui & Xiaoman Dong, Uber) Kafka Summ...Kafka Cluster Federation at Uber (Yupeng Fui & Xiaoman Dong, Uber) Kafka Summ...
Kafka Cluster Federation at Uber (Yupeng Fui & Xiaoman Dong, Uber) Kafka Summ...
 
Apache Kafka Introduction
Apache Kafka IntroductionApache Kafka Introduction
Apache Kafka Introduction
 
A Primer Towards Running Kafka on Top of Kubernetes.pdf
A Primer Towards Running Kafka on Top of Kubernetes.pdfA Primer Towards Running Kafka on Top of Kubernetes.pdf
A Primer Towards Running Kafka on Top of Kubernetes.pdf
 
Kafka in action - Tech Talk - Paytm
Kafka in action - Tech Talk - PaytmKafka in action - Tech Talk - Paytm
Kafka in action - Tech Talk - Paytm
 
Netflix keystone streaming data pipeline @scale in the cloud-dbtb-2016
Netflix keystone   streaming data pipeline @scale in the cloud-dbtb-2016Netflix keystone   streaming data pipeline @scale in the cloud-dbtb-2016
Netflix keystone streaming data pipeline @scale in the cloud-dbtb-2016
 
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
 

Mais de Nitin Kumar

Deep learning with kafka
Deep learning with kafkaDeep learning with kafka
Deep learning with kafkaNitin Kumar
 
2019 04 seattle_meetup___kafka_machine_learning___kai_waehner
2019 04 seattle_meetup___kafka_machine_learning___kai_waehner2019 04 seattle_meetup___kafka_machine_learning___kai_waehner
2019 04 seattle_meetup___kafka_machine_learning___kai_waehnerNitin Kumar
 
Processing trillions of events per day with apache
Processing trillions of events per day with apacheProcessing trillions of events per day with apache
Processing trillions of events per day with apacheNitin Kumar
 
Ren cao kafka connect
Ren cao   kafka connectRen cao   kafka connect
Ren cao kafka connectNitin Kumar
 
EventHub for kafka ecosystems kafka meetup
EventHub for kafka ecosystems   kafka meetupEventHub for kafka ecosystems   kafka meetup
EventHub for kafka ecosystems kafka meetupNitin Kumar
 
Microsoft challenges of a multi tenant kafka service
Microsoft challenges of a multi tenant kafka serviceMicrosoft challenges of a multi tenant kafka service
Microsoft challenges of a multi tenant kafka serviceNitin Kumar
 
Net flix kafka seattle meetup
Net flix kafka seattle meetupNet flix kafka seattle meetup
Net flix kafka seattle meetupNitin Kumar
 
Brandon obrien streaming_data
Brandon obrien streaming_dataBrandon obrien streaming_data
Brandon obrien streaming_dataNitin Kumar
 
Confluent kafka meetupseattle jan2017
Confluent kafka meetupseattle jan2017Confluent kafka meetupseattle jan2017
Confluent kafka meetupseattle jan2017Nitin Kumar
 
Microsoft kafka load imbalance
Microsoft   kafka load imbalanceMicrosoft   kafka load imbalance
Microsoft kafka load imbalanceNitin Kumar
 
Map r seattle streams meetup oct 2016
Map r seattle streams meetup   oct 2016Map r seattle streams meetup   oct 2016
Map r seattle streams meetup oct 2016Nitin Kumar
 
Linked in multi tier, multi-tenant, multi-problem kafka
Linked in multi tier, multi-tenant, multi-problem kafkaLinked in multi tier, multi-tenant, multi-problem kafka
Linked in multi tier, multi-tenant, multi-problem kafkaNitin Kumar
 
Seattle kafka meetup nov 2015 published siphon
Seattle kafka meetup nov 2015 published  siphonSeattle kafka meetup nov 2015 published  siphon
Seattle kafka meetup nov 2015 published siphonNitin Kumar
 

Mais de Nitin Kumar (15)

Deep learning with kafka
Deep learning with kafkaDeep learning with kafka
Deep learning with kafka
 
2019 04 seattle_meetup___kafka_machine_learning___kai_waehner
2019 04 seattle_meetup___kafka_machine_learning___kai_waehner2019 04 seattle_meetup___kafka_machine_learning___kai_waehner
2019 04 seattle_meetup___kafka_machine_learning___kai_waehner
 
Processing trillions of events per day with apache
Processing trillions of events per day with apacheProcessing trillions of events per day with apache
Processing trillions of events per day with apache
 
Ren cao kafka connect
Ren cao   kafka connectRen cao   kafka connect
Ren cao kafka connect
 
EventHub for kafka ecosystems kafka meetup
EventHub for kafka ecosystems   kafka meetupEventHub for kafka ecosystems   kafka meetup
EventHub for kafka ecosystems kafka meetup
 
Kafka eos
Kafka eosKafka eos
Kafka eos
 
Microsoft challenges of a multi tenant kafka service
Microsoft challenges of a multi tenant kafka serviceMicrosoft challenges of a multi tenant kafka service
Microsoft challenges of a multi tenant kafka service
 
Net flix kafka seattle meetup
Net flix kafka seattle meetupNet flix kafka seattle meetup
Net flix kafka seattle meetup
 
Avvo fkafka
Avvo fkafkaAvvo fkafka
Avvo fkafka
 
Brandon obrien streaming_data
Brandon obrien streaming_dataBrandon obrien streaming_data
Brandon obrien streaming_data
 
Confluent kafka meetupseattle jan2017
Confluent kafka meetupseattle jan2017Confluent kafka meetupseattle jan2017
Confluent kafka meetupseattle jan2017
 
Microsoft kafka load imbalance
Microsoft   kafka load imbalanceMicrosoft   kafka load imbalance
Microsoft kafka load imbalance
 
Map r seattle streams meetup oct 2016
Map r seattle streams meetup   oct 2016Map r seattle streams meetup   oct 2016
Map r seattle streams meetup oct 2016
 
Linked in multi tier, multi-tenant, multi-problem kafka
Linked in multi tier, multi-tenant, multi-problem kafkaLinked in multi tier, multi-tenant, multi-problem kafka
Linked in multi tier, multi-tenant, multi-problem kafka
 
Seattle kafka meetup nov 2015 published siphon
Seattle kafka meetup nov 2015 published  siphonSeattle kafka meetup nov 2015 published  siphon
Seattle kafka meetup nov 2015 published siphon
 

Último

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 

Último (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Insta clustr seattle kafka meetup presentation bb

  • 1. instaclustr.comTwitter @instaclustr info@instaclustr.com instaclustr.com Lessons Learned from Building an Apache Kafka Managed Service
  • 2. instaclustr.com Introduction # Who am I? /bin/whoami ● Ben Bromhead, CTO, Instaclustr # Who is Instaclustr? /bin/id -g -n ● Experts in reliability at scale ● Manage/Support 3k+ Cassandra, Spark and Elassandra nodes ● Platform providers automated provisioning, monitoring and management ● Available on AWS, GCP, Azure and IBM Cloud ● Managed Apache Kafka released May 21st
  • 3. instaclustr.com Agenda ● What is Kafka ● A quick intro to how it works ● Context - our offering and development process ● Hardware choice and benchmarking ● Topic and user management ● Broker security configuration ● Monitoring ● Backup and Restore
  • 4. instaclustr.com What Is Apache Kafka? Key Characteristics ● Horizontal scalable, distributed system ● Performance ○ Low latency, high throughput ● Scalability ○ Linear broker scalability via partitioned topics ○ Linear consumer scalability via consumer groups ● Fault-tolerance ○ Data is replicated across multiple brokers ○ Automatic broker failover when primary replica goes offline ○ Automatic consumer failover when consumer in consumer group goes offline ● Apache Foundation Open Source ● Production Proven • Publish & Subscribe to streams of data (reliable message transport) • Transform and/or aggregate data streams using distributed processing applications (stream processing)
  • 5. instaclustr.com Why use Apache Kafka? ● Provide a buffering mechanism in front of a processing (ie deal with temporary incoming message rate greater than processing app can deal with) ● A special case of buffering is to allow producers to publish messages with guaranteed delivery even if the consumers are down when the message is published ● As an event store for events sourcing or Kappa architecture ● Facilitate flexible, configurable architectures with many producers -> many consumers by separating the details who what is consuming messages for the apps that produce them (and vice-versa) ● Perform stream analytics (with Kafka Streams)
  • 6. instaclustr.com How does it work: producing records ● Each topic has a fixed number of partitions ● Records published to a topic by a producer are divided amongst the topic’s partitions ● Partitions are ordered, immutable lists ● Each new record is appended to the end of a partition ● Each partition is stored on a single leader broker, and may optionally be replicated to one or more follower brokers
  • 7. instaclustr.com How does it work: consuming records ● A consumer reads from one or more partitions ● Consumer maintains an offset of the last record in the partition read ● The consumer requests a micro-batch of records from Kafka. The broker uses the offset to provide the latest records to the consumer ● Once the consumer has finished processing a record, it must commit the new offset ● Because Kafka does not delete records immediately after they are read, consumers may reset the offset to a previous value to replay records
  • 8. instaclustr.com How does it work: consumer groups ● Multiple consumers reading from a topic may be arranged into Consumer Groups ● A Consumer Group load-balances partitions amongst consumers ● If a consumer goes offline, the consumer group will automatically re-distribute it’s partitions amongst the remaining consumers
  • 9. instaclustr.com How it works: Easier Abstractions ● High-level API ● Drop-in source (import) & sink (export) connectors exist for many popular technologies, including Amazon S3, Amazon Kinesis, Apache Cassandra, HDFS and JDBC Kafka Connect ● Provides functionality to aggregate data, join multiple topics and perform complex transformations to live data as it arrives ● The API abstracts away most of the difficult scalability, fault-tolerance and consistency problems associated with performing live aggregations on a distributed system Kafka Streams
  • 10. instaclustr.com Instaclustr Managed Kafka - Key Features ● Available Now: ○ Open source Apache Kafka (Brokers) and Zookeeper automatically provisioned in AWS, GCP and Azure ○ Broker Monitoring ○ Instaclustr monitoring and provisioning API support ○ Private network clusters (AWS only) ○ Run in your cloud provider account or ours ● For GA (end June): ○ SOC2 compliant ○ User & credential management ○ More cluster config options ○ Topic Level and Synthetic transaction monitoring ○ Infrastructure config tuning ● Likely future release scope: ○ Topic Management UI ○ Cluster “copy” ○ Managed: ■ Kafka Connect ■ Schema Registry ■ Mirror Maker ○ Dynamic scaling
  • 11. instaclustr.com Instaclustr Managed Kafka - Development Process ● First customer requests 2016 ● Internal infrastructure deployment and usage of Kafka mid 2017 ● Managed service platform development commenced November 2017 ● Early access program with 4 customers commenced December 2017 ● Public preview release 21 May 2018 ● GA expected 25 June 2018
  • 12. instaclustr.com Hardware Choice and Benchmarking - GP2 vs ST1 ● AWS Benchmark - r4.large w 500GB disks ● Avg 10% improved throughput with ST1 vs GP2 EBS ● ST1 is 45% of the cost of GP2
  • 13. instaclustr.com Hardware Choice and Benchmarking - GP2 vs ST1 ● AWS Benchmark - r4.large w 500GB disks ● Avg 10% improved throughput with ST1 vs GP2 EBS ● ST1 is 45% of the cost of GP2
  • 14. instaclustr.com Hardware Choice and Benchmarking - SSL vs non-SSL ● AWS Benchmark - r4.large w 1500GB ST1 disks ● 512 byte messages ● ~30% decrease in throughput with Broker and Client SSL enabled
  • 15. instaclustr.com Hardware Choice and Benchmarking - SSL vs non-SSL ● AWS Benchmark - r4.large w 1500GB ST1 disks ● 512 byte messages ● ~30% decrease in throughput with Broker and Client SSL enabled
  • 16. instaclustr.com Hardware Choice and Benchmarking - Number of Topics ● Increasing topics small reduction performances ● However, more topics = more partitions and significantly slows recovery time from node failure 10 Topic s 100 Topic s 1000 Topic s 5000 Topic s
  • 17. instaclustr.com Hardware Choice and Benchmarking - Colocated Zookeeper ● Often recommended to host zookeeper separately to Kafka. ● However, recent changes have significantly reduced load on Zookeeper from Kafka. ○ Consumer offsets are no longer stored in Zookeeper. ● Our benchmarking showed no measurable difference in performance, at least for smaller clusters. Consumer Rate - Colocated Consumer Rate - Separate 6 Broker Test with Node Restart
  • 18. instaclustr.com Topic and User Configuration Management ● Existing Kafka utilities for managing topic and user configuration required direct access to Zookeeper ● However, Zookeeper does not have a robust external security model (TLS support, node to node auth, etc) ● Providing Zookeeper access to customers introduces a whole class of very strange ways to break a cluster by corrupting Zookeeper ● Solutions: ○ Developed command line tool to use Kafka API for topic configuration (https://github.com/instaclustr/ic-kafka-tools) ■ may add to Instaclustr console later although we think maintaining topic config as a version controlled file in your repo is a better approach ○ Adding user management to Instaclustr console ■ we do no want to keep cluster passwords in our central management system so this feature will require users to enter an existing Kafka credentials to be temporarily used by our system
  • 19. instaclustr.com Broker Security Configuration ● Using SCRAM (Salted Challenge Response Authentication Mechanism) for authentication ○ More secure ○ Allows easier rotation of credentials ○ Initial release for client->broker only with plain text for broker to broker ○ Decided to also use for broker->broker to allow rapid rotation of credentials as part of SOC2 security measures ● TLS built on existing Cassandra infrastructure ○ New CA created per cluster ○ CA used to generate certificates for each node ○ CA pub cert available for clients to download for full validation of certificates ● Access to managed clusters also follows same model as Cassandra ○ Public IPs and whitelisting in firewall (security group or equivalent) ○ Private IPs with VPC Peering (or equivalent in other cloud providers) ○ Private Network Clusters where nodes are not allocated public IPs and gateway box is used for admin access ○ Did not expose through firewall Zookeeper due to weak security model
  • 20. instaclustr.com Monitoring ● Metrics exposed via JMX allowing us to use our existing Cassandra monitoring ○ Custom agent -> RabbitMQ (planned to migrate to Kafka) -> Riemann -> Cassandra + Spark -> Console, APIs, Grafana ● Exposing broker-level and per-topic metrics ● Alerting? ○ The basics: service state, disk usage free space, server still exists ○ Kafka metrics: offline partitions, active controllers != 1, partition under replicated ○ Synthetic transactions: publish and consume message to controlled topic, measure success and latency
  • 21. instaclustr.com Backup and Restore ● Internet wisdom = Kafka Backups is not a thing ○ Rely on replication within cluster or mirror maker replication to another cluster ● Hmm - we rarely use backups for Cassandra but there have been a few times we’ve been very glad to have them ○ Hardware failure is not an issue but corruption due to app bugs or user error can occur and be spread by replication ● Working on regular automated backup and restore of topic and security configuration ● Consider using Kafka Connect to write important message to offline backup
  • 22. instaclustr.comTwitter @instaclustr info@instaclustr.com instaclustr.com Give a try! 14 Day Free Trial at instaclustr.com