SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Pulsar Virtual Summit Europe 2021
Pulsar Watermarking
Eron Wright
Cloud Engineering Lead, StreamNative
Pulsar Virtual Summit Europe 2021
Overview
Pulsar Virtual Summit Europe 2021
What are Watermarks?
A watermark is an assertion that all
events up to a certain timestamp have
arrived.
Pulsar Virtual Summit Europe 2021
Stream Processing with Watermarks
In stream processing applications,
watermarks regulate the event-time
clock.
Watermarks allow the processor to
make progress in its time-based
calculations.
Pulsar Virtual Summit Europe 2021
Generating Watermarks
Strategy: Use a heuristic
based on observation of
event timestamps.
Flaw: Highly dependent on
order-of-observation.
Pulsar Virtual Summit Europe 2021
Generating Watermarks
Pulsar offers a per-key ordering
guarantee. No guarantees about
event-time ordering.
Complications: subscription
modes, message ACKs,
partitioning, transactions.
Pulsar Virtual Summit Europe 2021
Introducing Pulsar Watermarks (PIP-
102)
Pulsar Virtual Summit Europe 2021
What are Pulsar Watermarks?
A new type of message,
generated by producers,
aggregated by brokers, and
delivered by subscriptions.
An assertion by a producer about
the progression of event time.
Pulsar Virtual Summit Europe 2021
Producer API
Send watermarks in-band
with messages, using
broadcast semantics for
partitioned topics.
package org.apache.pulsar.client.api;
public interface Producer<T> extends Closeable {
/**
* Create a new watermark builder.
*/
WatermarkBuilder newWatermark();
WatermarkBuilder newWatermark(Transaction txn);
TypedMessageBuilder<T> newMessage();
}
public interface WatermarkBuilder {
/**
* Set the event time for a given watermark.
*/
WatermarkBuilder eventTime(long timestamp);
WatermarkBuilder markIdle();
WatermarkId send();
CompletableFuture<WatermarkId> sendAsync();
}
Pulsar Virtual Summit Europe 2021
Consumer API
Receive watermarks in-
band with messages.
package org.apache.pulsar.client.api;
public interface Consumer<T> extends Closeable {
/**
* @return The latest watermark.
*/
Watermark getLastWatermark();
Message<T> receive();
CompletableFuture<Message<T>> receiveAsync();
}
public interface MessageListener<T> {
/**
* This method is called when a watermark is received.
*/
default void receivedWatermark(
Consumer<T> consumer, Watermark watermark) {}
}
Pulsar Virtual Summit Europe 2021
Consumer API
Supports all subscription
modes.
Watermarks advance as
messages are acknowledged.
Pulsar Virtual Summit Europe 2021
Brokering
Broker aggregates watermarks,
taking the minimum across all
producers to a topic.
Materializes the current
watermark for each subscription
as messages are acknowledged.
Pulsar Virtual Summit Europe 2021
Flink Integration
Pulsar source automatically
provides source-based
watermarks.
Pulsar sink emits watermarks
from Flink pipeline to output
topic.
FlinkPulsarSource<Example> source =
new FlinkPulsarSource<>("public/default/example", ...);
source.assignTimestampsAndWatermarks(
PulsarWatermarkStrategy
.forPulsarWatermarks()
.withTimestampAssigner(...));
CREATE TABLE example (
`eventTime` TIMESTAMP(3) METADATA,
WATERMARK FOR `eventTime` AS SOURCE_WATERMARK()
`key` STRING
) WITH (
'connector' = 'pulsar',
'topic' = 'persistent://public/default/example'
)
Pulsar Virtual Summit Europe 2021
Recap
Proposal:
● Enhance Pulsar to propagate watermarks from producer to consumer.
Benefits:
● Improved correctness of Pulsar-based stream processing applications.
● Easier to build multi-stage applications and event-driven microservices.
Pulsar Virtual Summit Europe 2021
Project Status
Pulsar Virtual Summit Europe 2021
Proposal
PIP-102 is the proposal and is in discussion.
- https://github.com/apache/pulsar/issues/12267
A prototype was made at the 2021 Apache Pulsar Hackathon.
- https://github.com/EronWright/pulsar-hackathon-2021-projects-watermarking
Help wanted! Active discussions include:
- Producer participant lifecycle
- Automatic watermark generation on broker side
Main Contact:
- Eron Wright (ewright@streamnative.io)
Pulsar Virtual Summit Europe 2021
Resources
- Streaming 101: The world beyond batch - O'Reilly
- Streaming 102: The world beyond batch - O'Reilly
Pulsar Virtual Summit Europe 2021
Thank-You!

Weitere ähnliche Inhalte

Was ist angesagt?

KSQL - Stream Processing simplified!
KSQL - Stream Processing simplified!KSQL - Stream Processing simplified!
KSQL - Stream Processing simplified!Guido Schmutz
 
How Splunk Mission Control leverages various Pulsar subscription types_Pranav...
How Splunk Mission Control leverages various Pulsar subscription types_Pranav...How Splunk Mission Control leverages various Pulsar subscription types_Pranav...
How Splunk Mission Control leverages various Pulsar subscription types_Pranav...StreamNative
 
Apache Kafka - Event Sourcing, Monitoring, Librdkafka, Scaling & Partitioning
Apache Kafka - Event Sourcing, Monitoring, Librdkafka, Scaling & PartitioningApache Kafka - Event Sourcing, Monitoring, Librdkafka, Scaling & Partitioning
Apache Kafka - Event Sourcing, Monitoring, Librdkafka, Scaling & PartitioningGuido Schmutz
 
Flexible Authentication Strategies with SASL/OAUTHBEARER (Michael Kaminski, T...
Flexible Authentication Strategies with SASL/OAUTHBEARER (Michael Kaminski, T...Flexible Authentication Strategies with SASL/OAUTHBEARER (Michael Kaminski, T...
Flexible Authentication Strategies with SASL/OAUTHBEARER (Michael Kaminski, T...confluent
 
How Narvar Uses Pulsar to Power the Post-Purchase Experience - Pulsar Summit ...
How Narvar Uses Pulsar to Power the Post-Purchase Experience - Pulsar Summit ...How Narvar Uses Pulsar to Power the Post-Purchase Experience - Pulsar Summit ...
How Narvar Uses Pulsar to Power the Post-Purchase Experience - Pulsar Summit ...StreamNative
 
Enhancing Apache Kafka for Large Scale Real-Time Data Pipeline at Tencent | K...
Enhancing Apache Kafka for Large Scale Real-Time Data Pipeline at Tencent | K...Enhancing Apache Kafka for Large Scale Real-Time Data Pipeline at Tencent | K...
Enhancing Apache Kafka for Large Scale Real-Time Data Pipeline at Tencent | K...HostedbyConfluent
 
Guaranteed Event Delivery with Kafka and NodeJS | Amitesh Madhur, Nutanix
Guaranteed Event Delivery with Kafka and NodeJS | Amitesh Madhur, NutanixGuaranteed Event Delivery with Kafka and NodeJS | Amitesh Madhur, Nutanix
Guaranteed Event Delivery with Kafka and NodeJS | Amitesh Madhur, NutanixHostedbyConfluent
 
Talking Traffic: Data in the Driver's Seat (Dominique Chanet, Klarrio) Kafka ...
Talking Traffic: Data in the Driver's Seat (Dominique Chanet, Klarrio) Kafka ...Talking Traffic: Data in the Driver's Seat (Dominique Chanet, Klarrio) Kafka ...
Talking Traffic: Data in the Driver's Seat (Dominique Chanet, Klarrio) Kafka ...confluent
 
Introduction to Stream Processing
Introduction to Stream ProcessingIntroduction to Stream Processing
Introduction to Stream ProcessingGuido Schmutz
 
Making Sense of Your Event-Driven Dataflows (Jorge Esteban Quilcate Otoya, SY...
Making Sense of Your Event-Driven Dataflows (Jorge Esteban Quilcate Otoya, SY...Making Sense of Your Event-Driven Dataflows (Jorge Esteban Quilcate Otoya, SY...
Making Sense of Your Event-Driven Dataflows (Jorge Esteban Quilcate Otoya, SY...confluent
 
Etl, esb, mq? no! es Apache Kafka®
Etl, esb, mq?  no! es Apache Kafka®Etl, esb, mq?  no! es Apache Kafka®
Etl, esb, mq? no! es Apache Kafka®confluent
 
Gluecon - Kafka and the service mesh
Gluecon - Kafka and the service meshGluecon - Kafka and the service mesh
Gluecon - Kafka and the service meshGwen (Chen) Shapira
 
Pulsar Functions Deep Dive_Sanjeev kulkarni
Pulsar Functions Deep Dive_Sanjeev kulkarniPulsar Functions Deep Dive_Sanjeev kulkarni
Pulsar Functions Deep Dive_Sanjeev kulkarniStreamNative
 
A guide through the Azure Messaging services - Update Conference
A guide through the Azure Messaging services - Update ConferenceA guide through the Azure Messaging services - Update Conference
A guide through the Azure Messaging services - Update ConferenceEldert Grootenboer
 
8 Lessons Learned from Using Kafka in 1000 Scala microservices - Scale by the...
8 Lessons Learned from Using Kafka in 1000 Scala microservices - Scale by the...8 Lessons Learned from Using Kafka in 1000 Scala microservices - Scale by the...
8 Lessons Learned from Using Kafka in 1000 Scala microservices - Scale by the...Natan Silnitsky
 
Opening Remarks - Pulsar Virtual Summit Europe 2021
Opening Remarks - Pulsar Virtual Summit Europe 2021Opening Remarks - Pulsar Virtual Summit Europe 2021
Opening Remarks - Pulsar Virtual Summit Europe 2021StreamNative
 
Architecting Microservices Applications with Instant Analytics
Architecting Microservices Applications with Instant AnalyticsArchitecting Microservices Applications with Instant Analytics
Architecting Microservices Applications with Instant Analyticsconfluent
 
[Demo session] 관리형 Kafka 서비스 - Oracle Event Hub Service
[Demo session] 관리형 Kafka 서비스 - Oracle Event Hub Service[Demo session] 관리형 Kafka 서비스 - Oracle Event Hub Service
[Demo session] 관리형 Kafka 서비스 - Oracle Event Hub ServiceOracle Korea
 
Apache Kafka at LinkedIn - How LinkedIn Customizes Kafka to Work at the Trill...
Apache Kafka at LinkedIn - How LinkedIn Customizes Kafka to Work at the Trill...Apache Kafka at LinkedIn - How LinkedIn Customizes Kafka to Work at the Trill...
Apache Kafka at LinkedIn - How LinkedIn Customizes Kafka to Work at the Trill...Jonghyun Lee
 
Kafka Connect & Kafka Streams/KSQL - the ecosystem around Kafka
Kafka Connect & Kafka Streams/KSQL - the ecosystem around KafkaKafka Connect & Kafka Streams/KSQL - the ecosystem around Kafka
Kafka Connect & Kafka Streams/KSQL - the ecosystem around KafkaGuido Schmutz
 

Was ist angesagt? (20)

KSQL - Stream Processing simplified!
KSQL - Stream Processing simplified!KSQL - Stream Processing simplified!
KSQL - Stream Processing simplified!
 
How Splunk Mission Control leverages various Pulsar subscription types_Pranav...
How Splunk Mission Control leverages various Pulsar subscription types_Pranav...How Splunk Mission Control leverages various Pulsar subscription types_Pranav...
How Splunk Mission Control leverages various Pulsar subscription types_Pranav...
 
Apache Kafka - Event Sourcing, Monitoring, Librdkafka, Scaling & Partitioning
Apache Kafka - Event Sourcing, Monitoring, Librdkafka, Scaling & PartitioningApache Kafka - Event Sourcing, Monitoring, Librdkafka, Scaling & Partitioning
Apache Kafka - Event Sourcing, Monitoring, Librdkafka, Scaling & Partitioning
 
Flexible Authentication Strategies with SASL/OAUTHBEARER (Michael Kaminski, T...
Flexible Authentication Strategies with SASL/OAUTHBEARER (Michael Kaminski, T...Flexible Authentication Strategies with SASL/OAUTHBEARER (Michael Kaminski, T...
Flexible Authentication Strategies with SASL/OAUTHBEARER (Michael Kaminski, T...
 
How Narvar Uses Pulsar to Power the Post-Purchase Experience - Pulsar Summit ...
How Narvar Uses Pulsar to Power the Post-Purchase Experience - Pulsar Summit ...How Narvar Uses Pulsar to Power the Post-Purchase Experience - Pulsar Summit ...
How Narvar Uses Pulsar to Power the Post-Purchase Experience - Pulsar Summit ...
 
Enhancing Apache Kafka for Large Scale Real-Time Data Pipeline at Tencent | K...
Enhancing Apache Kafka for Large Scale Real-Time Data Pipeline at Tencent | K...Enhancing Apache Kafka for Large Scale Real-Time Data Pipeline at Tencent | K...
Enhancing Apache Kafka for Large Scale Real-Time Data Pipeline at Tencent | K...
 
Guaranteed Event Delivery with Kafka and NodeJS | Amitesh Madhur, Nutanix
Guaranteed Event Delivery with Kafka and NodeJS | Amitesh Madhur, NutanixGuaranteed Event Delivery with Kafka and NodeJS | Amitesh Madhur, Nutanix
Guaranteed Event Delivery with Kafka and NodeJS | Amitesh Madhur, Nutanix
 
Talking Traffic: Data in the Driver's Seat (Dominique Chanet, Klarrio) Kafka ...
Talking Traffic: Data in the Driver's Seat (Dominique Chanet, Klarrio) Kafka ...Talking Traffic: Data in the Driver's Seat (Dominique Chanet, Klarrio) Kafka ...
Talking Traffic: Data in the Driver's Seat (Dominique Chanet, Klarrio) Kafka ...
 
Introduction to Stream Processing
Introduction to Stream ProcessingIntroduction to Stream Processing
Introduction to Stream Processing
 
Making Sense of Your Event-Driven Dataflows (Jorge Esteban Quilcate Otoya, SY...
Making Sense of Your Event-Driven Dataflows (Jorge Esteban Quilcate Otoya, SY...Making Sense of Your Event-Driven Dataflows (Jorge Esteban Quilcate Otoya, SY...
Making Sense of Your Event-Driven Dataflows (Jorge Esteban Quilcate Otoya, SY...
 
Etl, esb, mq? no! es Apache Kafka®
Etl, esb, mq?  no! es Apache Kafka®Etl, esb, mq?  no! es Apache Kafka®
Etl, esb, mq? no! es Apache Kafka®
 
Gluecon - Kafka and the service mesh
Gluecon - Kafka and the service meshGluecon - Kafka and the service mesh
Gluecon - Kafka and the service mesh
 
Pulsar Functions Deep Dive_Sanjeev kulkarni
Pulsar Functions Deep Dive_Sanjeev kulkarniPulsar Functions Deep Dive_Sanjeev kulkarni
Pulsar Functions Deep Dive_Sanjeev kulkarni
 
A guide through the Azure Messaging services - Update Conference
A guide through the Azure Messaging services - Update ConferenceA guide through the Azure Messaging services - Update Conference
A guide through the Azure Messaging services - Update Conference
 
8 Lessons Learned from Using Kafka in 1000 Scala microservices - Scale by the...
8 Lessons Learned from Using Kafka in 1000 Scala microservices - Scale by the...8 Lessons Learned from Using Kafka in 1000 Scala microservices - Scale by the...
8 Lessons Learned from Using Kafka in 1000 Scala microservices - Scale by the...
 
Opening Remarks - Pulsar Virtual Summit Europe 2021
Opening Remarks - Pulsar Virtual Summit Europe 2021Opening Remarks - Pulsar Virtual Summit Europe 2021
Opening Remarks - Pulsar Virtual Summit Europe 2021
 
Architecting Microservices Applications with Instant Analytics
Architecting Microservices Applications with Instant AnalyticsArchitecting Microservices Applications with Instant Analytics
Architecting Microservices Applications with Instant Analytics
 
[Demo session] 관리형 Kafka 서비스 - Oracle Event Hub Service
[Demo session] 관리형 Kafka 서비스 - Oracle Event Hub Service[Demo session] 관리형 Kafka 서비스 - Oracle Event Hub Service
[Demo session] 관리형 Kafka 서비스 - Oracle Event Hub Service
 
Apache Kafka at LinkedIn - How LinkedIn Customizes Kafka to Work at the Trill...
Apache Kafka at LinkedIn - How LinkedIn Customizes Kafka to Work at the Trill...Apache Kafka at LinkedIn - How LinkedIn Customizes Kafka to Work at the Trill...
Apache Kafka at LinkedIn - How LinkedIn Customizes Kafka to Work at the Trill...
 
Kafka Connect & Kafka Streams/KSQL - the ecosystem around Kafka
Kafka Connect & Kafka Streams/KSQL - the ecosystem around KafkaKafka Connect & Kafka Streams/KSQL - the ecosystem around Kafka
Kafka Connect & Kafka Streams/KSQL - the ecosystem around Kafka
 

Ähnlich wie Pulsar Watermarking - Pulsar Virtual Summit Europe 2021

Tracking Apache Pulsar Messages with Apache SkyWalking - Pulsar Virtual Summi...
Tracking Apache Pulsar Messages with Apache SkyWalking - Pulsar Virtual Summi...Tracking Apache Pulsar Messages with Apache SkyWalking - Pulsar Virtual Summi...
Tracking Apache Pulsar Messages with Apache SkyWalking - Pulsar Virtual Summi...StreamNative
 
Beam me up, Samza!
Beam me up, Samza!Beam me up, Samza!
Beam me up, Samza!Xinyu Liu
 
Fast Streaming into Clickhouse with Apache Pulsar
Fast Streaming into Clickhouse with Apache PulsarFast Streaming into Clickhouse with Apache Pulsar
Fast Streaming into Clickhouse with Apache PulsarTimothy Spann
 
Devoxx Morocco 2016 - Microservices with Kafka
Devoxx Morocco 2016 - Microservices with KafkaDevoxx Morocco 2016 - Microservices with Kafka
Devoxx Morocco 2016 - Microservices with KafkaLászló-Róbert Albert
 
React Native EU 2021 - Creating a VoIP app in React Native - the beginner's g...
React Native EU 2021 - Creating a VoIP app in React Native - the beginner's g...React Native EU 2021 - Creating a VoIP app in React Native - the beginner's g...
React Native EU 2021 - Creating a VoIP app in React Native - the beginner's g...Wojciech Kwiatek
 
Azure Signalr Service
Azure Signalr ServiceAzure Signalr Service
Azure Signalr ServiceAndrea Tosato
 
Get visibility into your Containers/Kubernetes using Azure Monitor
Get visibility into your Containers/Kubernetes using Azure MonitorGet visibility into your Containers/Kubernetes using Azure Monitor
Get visibility into your Containers/Kubernetes using Azure MonitorBizTalk360
 
Nubomedia: the cloud infrastructure for WebRTC and IMS multimedia real-time c...
Nubomedia: the cloud infrastructure for WebRTC and IMS multimedia real-time c...Nubomedia: the cloud infrastructure for WebRTC and IMS multimedia real-time c...
Nubomedia: the cloud infrastructure for WebRTC and IMS multimedia real-time c...Luis Lopez
 
Data Streaming in Kafka
Data Streaming in KafkaData Streaming in Kafka
Data Streaming in KafkaSilviuMarcu1
 
ACRN Kata Container on ACRN
ACRN Kata Container on ACRNACRN Kata Container on ACRN
ACRN Kata Container on ACRNProject ACRN
 
Harbour IT & VMware - vForum 2010 Wrap
Harbour IT & VMware - vForum 2010 WrapHarbour IT & VMware - vForum 2010 Wrap
Harbour IT & VMware - vForum 2010 WrapHarbourIT
 
Pulsar for Kafka People_Jesse anderson
Pulsar for Kafka People_Jesse andersonPulsar for Kafka People_Jesse anderson
Pulsar for Kafka People_Jesse andersonStreamNative
 
Kafka in Adobe Ad Cloud's Analytics Platform: Building systems with exactly-o...
Kafka in Adobe Ad Cloud's Analytics Platform: Building systems with exactly-o...Kafka in Adobe Ad Cloud's Analytics Platform: Building systems with exactly-o...
Kafka in Adobe Ad Cloud's Analytics Platform: Building systems with exactly-o...Vikram Patankar
 
Apache Kafka in Adobe Ad Cloud's Analytics Platform
Apache Kafka in Adobe Ad Cloud's Analytics PlatformApache Kafka in Adobe Ad Cloud's Analytics Platform
Apache Kafka in Adobe Ad Cloud's Analytics Platformconfluent
 
Cloud Native Spring - The role of Spring Cloud after Kubernetes became a main...
Cloud Native Spring - The role of Spring Cloud after Kubernetes became a main...Cloud Native Spring - The role of Spring Cloud after Kubernetes became a main...
Cloud Native Spring - The role of Spring Cloud after Kubernetes became a main...Orkhan Gasimov
 
ArcSight Logger Forwarding Connector for HP Operations Manager
ArcSight Logger Forwarding Connector for HP Operations Manager	ArcSight Logger Forwarding Connector for HP Operations Manager
ArcSight Logger Forwarding Connector for HP Operations Manager Protect724manoj
 

Ähnlich wie Pulsar Watermarking - Pulsar Virtual Summit Europe 2021 (20)

Tracking Apache Pulsar Messages with Apache SkyWalking - Pulsar Virtual Summi...
Tracking Apache Pulsar Messages with Apache SkyWalking - Pulsar Virtual Summi...Tracking Apache Pulsar Messages with Apache SkyWalking - Pulsar Virtual Summi...
Tracking Apache Pulsar Messages with Apache SkyWalking - Pulsar Virtual Summi...
 
Beam me up, Samza!
Beam me up, Samza!Beam me up, Samza!
Beam me up, Samza!
 
Fast Streaming into Clickhouse with Apache Pulsar
Fast Streaming into Clickhouse with Apache PulsarFast Streaming into Clickhouse with Apache Pulsar
Fast Streaming into Clickhouse with Apache Pulsar
 
Devoxx Morocco 2016 - Microservices with Kafka
Devoxx Morocco 2016 - Microservices with KafkaDevoxx Morocco 2016 - Microservices with Kafka
Devoxx Morocco 2016 - Microservices with Kafka
 
Signal r
Signal rSignal r
Signal r
 
SignalR with asp.net
SignalR with asp.netSignalR with asp.net
SignalR with asp.net
 
React Native EU 2021 - Creating a VoIP app in React Native - the beginner's g...
React Native EU 2021 - Creating a VoIP app in React Native - the beginner's g...React Native EU 2021 - Creating a VoIP app in React Native - the beginner's g...
React Native EU 2021 - Creating a VoIP app in React Native - the beginner's g...
 
Azure Signalr Service
Azure Signalr ServiceAzure Signalr Service
Azure Signalr Service
 
Introduction to ns3
Introduction to ns3Introduction to ns3
Introduction to ns3
 
Html web rtc
Html web rtcHtml web rtc
Html web rtc
 
Get visibility into your Containers/Kubernetes using Azure Monitor
Get visibility into your Containers/Kubernetes using Azure MonitorGet visibility into your Containers/Kubernetes using Azure Monitor
Get visibility into your Containers/Kubernetes using Azure Monitor
 
Nubomedia: the cloud infrastructure for WebRTC and IMS multimedia real-time c...
Nubomedia: the cloud infrastructure for WebRTC and IMS multimedia real-time c...Nubomedia: the cloud infrastructure for WebRTC and IMS multimedia real-time c...
Nubomedia: the cloud infrastructure for WebRTC and IMS multimedia real-time c...
 
Data Streaming in Kafka
Data Streaming in KafkaData Streaming in Kafka
Data Streaming in Kafka
 
ACRN Kata Container on ACRN
ACRN Kata Container on ACRNACRN Kata Container on ACRN
ACRN Kata Container on ACRN
 
Harbour IT & VMware - vForum 2010 Wrap
Harbour IT & VMware - vForum 2010 WrapHarbour IT & VMware - vForum 2010 Wrap
Harbour IT & VMware - vForum 2010 Wrap
 
Pulsar for Kafka People_Jesse anderson
Pulsar for Kafka People_Jesse andersonPulsar for Kafka People_Jesse anderson
Pulsar for Kafka People_Jesse anderson
 
Kafka in Adobe Ad Cloud's Analytics Platform: Building systems with exactly-o...
Kafka in Adobe Ad Cloud's Analytics Platform: Building systems with exactly-o...Kafka in Adobe Ad Cloud's Analytics Platform: Building systems with exactly-o...
Kafka in Adobe Ad Cloud's Analytics Platform: Building systems with exactly-o...
 
Apache Kafka in Adobe Ad Cloud's Analytics Platform
Apache Kafka in Adobe Ad Cloud's Analytics PlatformApache Kafka in Adobe Ad Cloud's Analytics Platform
Apache Kafka in Adobe Ad Cloud's Analytics Platform
 
Cloud Native Spring - The role of Spring Cloud after Kubernetes became a main...
Cloud Native Spring - The role of Spring Cloud after Kubernetes became a main...Cloud Native Spring - The role of Spring Cloud after Kubernetes became a main...
Cloud Native Spring - The role of Spring Cloud after Kubernetes became a main...
 
ArcSight Logger Forwarding Connector for HP Operations Manager
ArcSight Logger Forwarding Connector for HP Operations Manager	ArcSight Logger Forwarding Connector for HP Operations Manager
ArcSight Logger Forwarding Connector for HP Operations Manager
 

Mehr von StreamNative

Is Using KoP (Kafka-on-Pulsar) a Good Idea? - Pulsar Summit SF 2022
Is Using KoP (Kafka-on-Pulsar) a Good Idea? - Pulsar Summit SF 2022Is Using KoP (Kafka-on-Pulsar) a Good Idea? - Pulsar Summit SF 2022
Is Using KoP (Kafka-on-Pulsar) a Good Idea? - Pulsar Summit SF 2022StreamNative
 
Building an Asynchronous Application Framework with Python and Pulsar - Pulsa...
Building an Asynchronous Application Framework with Python and Pulsar - Pulsa...Building an Asynchronous Application Framework with Python and Pulsar - Pulsa...
Building an Asynchronous Application Framework with Python and Pulsar - Pulsa...StreamNative
 
Blue-green deploys with Pulsar & Envoy in an event-driven microservice ecosys...
Blue-green deploys with Pulsar & Envoy in an event-driven microservice ecosys...Blue-green deploys with Pulsar & Envoy in an event-driven microservice ecosys...
Blue-green deploys with Pulsar & Envoy in an event-driven microservice ecosys...StreamNative
 
Distributed Database Design Decisions to Support High Performance Event Strea...
Distributed Database Design Decisions to Support High Performance Event Strea...Distributed Database Design Decisions to Support High Performance Event Strea...
Distributed Database Design Decisions to Support High Performance Event Strea...StreamNative
 
Simplify Pulsar Functions Development with SQL - Pulsar Summit SF 2022
Simplify Pulsar Functions Development with SQL - Pulsar Summit SF 2022Simplify Pulsar Functions Development with SQL - Pulsar Summit SF 2022
Simplify Pulsar Functions Development with SQL - Pulsar Summit SF 2022StreamNative
 
Towards a ZooKeeper-less Pulsar, etcd, etcd, etcd. - Pulsar Summit SF 2022
Towards a ZooKeeper-less Pulsar, etcd, etcd, etcd. - Pulsar Summit SF 2022Towards a ZooKeeper-less Pulsar, etcd, etcd, etcd. - Pulsar Summit SF 2022
Towards a ZooKeeper-less Pulsar, etcd, etcd, etcd. - Pulsar Summit SF 2022StreamNative
 
Validating Apache Pulsar’s Behavior under Failure Conditions - Pulsar Summit ...
Validating Apache Pulsar’s Behavior under Failure Conditions - Pulsar Summit ...Validating Apache Pulsar’s Behavior under Failure Conditions - Pulsar Summit ...
Validating Apache Pulsar’s Behavior under Failure Conditions - Pulsar Summit ...StreamNative
 
Cross the Streams! Creating Streaming Data Pipelines with Apache Flink + Apac...
Cross the Streams! Creating Streaming Data Pipelines with Apache Flink + Apac...Cross the Streams! Creating Streaming Data Pipelines with Apache Flink + Apac...
Cross the Streams! Creating Streaming Data Pipelines with Apache Flink + Apac...StreamNative
 
Message Redelivery: An Unexpected Journey - Pulsar Summit SF 2022
Message Redelivery: An Unexpected Journey - Pulsar Summit SF 2022Message Redelivery: An Unexpected Journey - Pulsar Summit SF 2022
Message Redelivery: An Unexpected Journey - Pulsar Summit SF 2022StreamNative
 
Unlocking the Power of Lakehouse Architectures with Apache Pulsar and Apache ...
Unlocking the Power of Lakehouse Architectures with Apache Pulsar and Apache ...Unlocking the Power of Lakehouse Architectures with Apache Pulsar and Apache ...
Unlocking the Power of Lakehouse Architectures with Apache Pulsar and Apache ...StreamNative
 
Understanding Broker Load Balancing - Pulsar Summit SF 2022
Understanding Broker Load Balancing - Pulsar Summit SF 2022Understanding Broker Load Balancing - Pulsar Summit SF 2022
Understanding Broker Load Balancing - Pulsar Summit SF 2022StreamNative
 
Building an Asynchronous Application Framework with Python and Pulsar - Pulsa...
Building an Asynchronous Application Framework with Python and Pulsar - Pulsa...Building an Asynchronous Application Framework with Python and Pulsar - Pulsa...
Building an Asynchronous Application Framework with Python and Pulsar - Pulsa...StreamNative
 
Pulsar's Journey in Yahoo!: On-prem, Cloud and Hybrid - Pulsar Summit SF 2022
Pulsar's Journey in Yahoo!: On-prem, Cloud and Hybrid - Pulsar Summit SF 2022Pulsar's Journey in Yahoo!: On-prem, Cloud and Hybrid - Pulsar Summit SF 2022
Pulsar's Journey in Yahoo!: On-prem, Cloud and Hybrid - Pulsar Summit SF 2022StreamNative
 
Event-Driven Applications Done Right - Pulsar Summit SF 2022
Event-Driven Applications Done Right - Pulsar Summit SF 2022Event-Driven Applications Done Right - Pulsar Summit SF 2022
Event-Driven Applications Done Right - Pulsar Summit SF 2022StreamNative
 
Pulsar @ Scale. 200M RPM and 1K instances - Pulsar Summit SF 2022
Pulsar @ Scale. 200M RPM and 1K instances - Pulsar Summit SF 2022Pulsar @ Scale. 200M RPM and 1K instances - Pulsar Summit SF 2022
Pulsar @ Scale. 200M RPM and 1K instances - Pulsar Summit SF 2022StreamNative
 
Data Democracy: Journey to User-Facing Analytics - Pulsar Summit SF 2022
Data Democracy: Journey to User-Facing Analytics - Pulsar Summit SF 2022Data Democracy: Journey to User-Facing Analytics - Pulsar Summit SF 2022
Data Democracy: Journey to User-Facing Analytics - Pulsar Summit SF 2022StreamNative
 
Beam + Pulsar: Powerful Stream Processing at Scale - Pulsar Summit SF 2022
Beam + Pulsar: Powerful Stream Processing at Scale - Pulsar Summit SF 2022Beam + Pulsar: Powerful Stream Processing at Scale - Pulsar Summit SF 2022
Beam + Pulsar: Powerful Stream Processing at Scale - Pulsar Summit SF 2022StreamNative
 
Welcome and Opening Remarks - Pulsar Summit SF 2022
Welcome and Opening Remarks - Pulsar Summit SF 2022Welcome and Opening Remarks - Pulsar Summit SF 2022
Welcome and Opening Remarks - Pulsar Summit SF 2022StreamNative
 
Log System As Backbone – How We Built the World’s Most Advanced Vector Databa...
Log System As Backbone – How We Built the World’s Most Advanced Vector Databa...Log System As Backbone – How We Built the World’s Most Advanced Vector Databa...
Log System As Backbone – How We Built the World’s Most Advanced Vector Databa...StreamNative
 
MoP(MQTT on Pulsar) - a Powerful Tool for Apache Pulsar in IoT - Pulsar Summi...
MoP(MQTT on Pulsar) - a Powerful Tool for Apache Pulsar in IoT - Pulsar Summi...MoP(MQTT on Pulsar) - a Powerful Tool for Apache Pulsar in IoT - Pulsar Summi...
MoP(MQTT on Pulsar) - a Powerful Tool for Apache Pulsar in IoT - Pulsar Summi...StreamNative
 

Mehr von StreamNative (20)

Is Using KoP (Kafka-on-Pulsar) a Good Idea? - Pulsar Summit SF 2022
Is Using KoP (Kafka-on-Pulsar) a Good Idea? - Pulsar Summit SF 2022Is Using KoP (Kafka-on-Pulsar) a Good Idea? - Pulsar Summit SF 2022
Is Using KoP (Kafka-on-Pulsar) a Good Idea? - Pulsar Summit SF 2022
 
Building an Asynchronous Application Framework with Python and Pulsar - Pulsa...
Building an Asynchronous Application Framework with Python and Pulsar - Pulsa...Building an Asynchronous Application Framework with Python and Pulsar - Pulsa...
Building an Asynchronous Application Framework with Python and Pulsar - Pulsa...
 
Blue-green deploys with Pulsar & Envoy in an event-driven microservice ecosys...
Blue-green deploys with Pulsar & Envoy in an event-driven microservice ecosys...Blue-green deploys with Pulsar & Envoy in an event-driven microservice ecosys...
Blue-green deploys with Pulsar & Envoy in an event-driven microservice ecosys...
 
Distributed Database Design Decisions to Support High Performance Event Strea...
Distributed Database Design Decisions to Support High Performance Event Strea...Distributed Database Design Decisions to Support High Performance Event Strea...
Distributed Database Design Decisions to Support High Performance Event Strea...
 
Simplify Pulsar Functions Development with SQL - Pulsar Summit SF 2022
Simplify Pulsar Functions Development with SQL - Pulsar Summit SF 2022Simplify Pulsar Functions Development with SQL - Pulsar Summit SF 2022
Simplify Pulsar Functions Development with SQL - Pulsar Summit SF 2022
 
Towards a ZooKeeper-less Pulsar, etcd, etcd, etcd. - Pulsar Summit SF 2022
Towards a ZooKeeper-less Pulsar, etcd, etcd, etcd. - Pulsar Summit SF 2022Towards a ZooKeeper-less Pulsar, etcd, etcd, etcd. - Pulsar Summit SF 2022
Towards a ZooKeeper-less Pulsar, etcd, etcd, etcd. - Pulsar Summit SF 2022
 
Validating Apache Pulsar’s Behavior under Failure Conditions - Pulsar Summit ...
Validating Apache Pulsar’s Behavior under Failure Conditions - Pulsar Summit ...Validating Apache Pulsar’s Behavior under Failure Conditions - Pulsar Summit ...
Validating Apache Pulsar’s Behavior under Failure Conditions - Pulsar Summit ...
 
Cross the Streams! Creating Streaming Data Pipelines with Apache Flink + Apac...
Cross the Streams! Creating Streaming Data Pipelines with Apache Flink + Apac...Cross the Streams! Creating Streaming Data Pipelines with Apache Flink + Apac...
Cross the Streams! Creating Streaming Data Pipelines with Apache Flink + Apac...
 
Message Redelivery: An Unexpected Journey - Pulsar Summit SF 2022
Message Redelivery: An Unexpected Journey - Pulsar Summit SF 2022Message Redelivery: An Unexpected Journey - Pulsar Summit SF 2022
Message Redelivery: An Unexpected Journey - Pulsar Summit SF 2022
 
Unlocking the Power of Lakehouse Architectures with Apache Pulsar and Apache ...
Unlocking the Power of Lakehouse Architectures with Apache Pulsar and Apache ...Unlocking the Power of Lakehouse Architectures with Apache Pulsar and Apache ...
Unlocking the Power of Lakehouse Architectures with Apache Pulsar and Apache ...
 
Understanding Broker Load Balancing - Pulsar Summit SF 2022
Understanding Broker Load Balancing - Pulsar Summit SF 2022Understanding Broker Load Balancing - Pulsar Summit SF 2022
Understanding Broker Load Balancing - Pulsar Summit SF 2022
 
Building an Asynchronous Application Framework with Python and Pulsar - Pulsa...
Building an Asynchronous Application Framework with Python and Pulsar - Pulsa...Building an Asynchronous Application Framework with Python and Pulsar - Pulsa...
Building an Asynchronous Application Framework with Python and Pulsar - Pulsa...
 
Pulsar's Journey in Yahoo!: On-prem, Cloud and Hybrid - Pulsar Summit SF 2022
Pulsar's Journey in Yahoo!: On-prem, Cloud and Hybrid - Pulsar Summit SF 2022Pulsar's Journey in Yahoo!: On-prem, Cloud and Hybrid - Pulsar Summit SF 2022
Pulsar's Journey in Yahoo!: On-prem, Cloud and Hybrid - Pulsar Summit SF 2022
 
Event-Driven Applications Done Right - Pulsar Summit SF 2022
Event-Driven Applications Done Right - Pulsar Summit SF 2022Event-Driven Applications Done Right - Pulsar Summit SF 2022
Event-Driven Applications Done Right - Pulsar Summit SF 2022
 
Pulsar @ Scale. 200M RPM and 1K instances - Pulsar Summit SF 2022
Pulsar @ Scale. 200M RPM and 1K instances - Pulsar Summit SF 2022Pulsar @ Scale. 200M RPM and 1K instances - Pulsar Summit SF 2022
Pulsar @ Scale. 200M RPM and 1K instances - Pulsar Summit SF 2022
 
Data Democracy: Journey to User-Facing Analytics - Pulsar Summit SF 2022
Data Democracy: Journey to User-Facing Analytics - Pulsar Summit SF 2022Data Democracy: Journey to User-Facing Analytics - Pulsar Summit SF 2022
Data Democracy: Journey to User-Facing Analytics - Pulsar Summit SF 2022
 
Beam + Pulsar: Powerful Stream Processing at Scale - Pulsar Summit SF 2022
Beam + Pulsar: Powerful Stream Processing at Scale - Pulsar Summit SF 2022Beam + Pulsar: Powerful Stream Processing at Scale - Pulsar Summit SF 2022
Beam + Pulsar: Powerful Stream Processing at Scale - Pulsar Summit SF 2022
 
Welcome and Opening Remarks - Pulsar Summit SF 2022
Welcome and Opening Remarks - Pulsar Summit SF 2022Welcome and Opening Remarks - Pulsar Summit SF 2022
Welcome and Opening Remarks - Pulsar Summit SF 2022
 
Log System As Backbone – How We Built the World’s Most Advanced Vector Databa...
Log System As Backbone – How We Built the World’s Most Advanced Vector Databa...Log System As Backbone – How We Built the World’s Most Advanced Vector Databa...
Log System As Backbone – How We Built the World’s Most Advanced Vector Databa...
 
MoP(MQTT on Pulsar) - a Powerful Tool for Apache Pulsar in IoT - Pulsar Summi...
MoP(MQTT on Pulsar) - a Powerful Tool for Apache Pulsar in IoT - Pulsar Summi...MoP(MQTT on Pulsar) - a Powerful Tool for Apache Pulsar in IoT - Pulsar Summi...
MoP(MQTT on Pulsar) - a Powerful Tool for Apache Pulsar in IoT - Pulsar Summi...
 

Kürzlich hochgeladen

Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 

Kürzlich hochgeladen (20)

Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 

Pulsar Watermarking - Pulsar Virtual Summit Europe 2021

  • 1. Pulsar Virtual Summit Europe 2021 Pulsar Watermarking Eron Wright Cloud Engineering Lead, StreamNative
  • 2. Pulsar Virtual Summit Europe 2021 Overview
  • 3. Pulsar Virtual Summit Europe 2021 What are Watermarks? A watermark is an assertion that all events up to a certain timestamp have arrived.
  • 4. Pulsar Virtual Summit Europe 2021 Stream Processing with Watermarks In stream processing applications, watermarks regulate the event-time clock. Watermarks allow the processor to make progress in its time-based calculations.
  • 5. Pulsar Virtual Summit Europe 2021 Generating Watermarks Strategy: Use a heuristic based on observation of event timestamps. Flaw: Highly dependent on order-of-observation.
  • 6. Pulsar Virtual Summit Europe 2021 Generating Watermarks Pulsar offers a per-key ordering guarantee. No guarantees about event-time ordering. Complications: subscription modes, message ACKs, partitioning, transactions.
  • 7. Pulsar Virtual Summit Europe 2021 Introducing Pulsar Watermarks (PIP- 102)
  • 8. Pulsar Virtual Summit Europe 2021 What are Pulsar Watermarks? A new type of message, generated by producers, aggregated by brokers, and delivered by subscriptions. An assertion by a producer about the progression of event time.
  • 9. Pulsar Virtual Summit Europe 2021 Producer API Send watermarks in-band with messages, using broadcast semantics for partitioned topics. package org.apache.pulsar.client.api; public interface Producer<T> extends Closeable { /** * Create a new watermark builder. */ WatermarkBuilder newWatermark(); WatermarkBuilder newWatermark(Transaction txn); TypedMessageBuilder<T> newMessage(); } public interface WatermarkBuilder { /** * Set the event time for a given watermark. */ WatermarkBuilder eventTime(long timestamp); WatermarkBuilder markIdle(); WatermarkId send(); CompletableFuture<WatermarkId> sendAsync(); }
  • 10. Pulsar Virtual Summit Europe 2021 Consumer API Receive watermarks in- band with messages. package org.apache.pulsar.client.api; public interface Consumer<T> extends Closeable { /** * @return The latest watermark. */ Watermark getLastWatermark(); Message<T> receive(); CompletableFuture<Message<T>> receiveAsync(); } public interface MessageListener<T> { /** * This method is called when a watermark is received. */ default void receivedWatermark( Consumer<T> consumer, Watermark watermark) {} }
  • 11. Pulsar Virtual Summit Europe 2021 Consumer API Supports all subscription modes. Watermarks advance as messages are acknowledged.
  • 12. Pulsar Virtual Summit Europe 2021 Brokering Broker aggregates watermarks, taking the minimum across all producers to a topic. Materializes the current watermark for each subscription as messages are acknowledged.
  • 13. Pulsar Virtual Summit Europe 2021 Flink Integration Pulsar source automatically provides source-based watermarks. Pulsar sink emits watermarks from Flink pipeline to output topic. FlinkPulsarSource<Example> source = new FlinkPulsarSource<>("public/default/example", ...); source.assignTimestampsAndWatermarks( PulsarWatermarkStrategy .forPulsarWatermarks() .withTimestampAssigner(...)); CREATE TABLE example ( `eventTime` TIMESTAMP(3) METADATA, WATERMARK FOR `eventTime` AS SOURCE_WATERMARK() `key` STRING ) WITH ( 'connector' = 'pulsar', 'topic' = 'persistent://public/default/example' )
  • 14. Pulsar Virtual Summit Europe 2021 Recap Proposal: ● Enhance Pulsar to propagate watermarks from producer to consumer. Benefits: ● Improved correctness of Pulsar-based stream processing applications. ● Easier to build multi-stage applications and event-driven microservices.
  • 15. Pulsar Virtual Summit Europe 2021 Project Status
  • 16. Pulsar Virtual Summit Europe 2021 Proposal PIP-102 is the proposal and is in discussion. - https://github.com/apache/pulsar/issues/12267 A prototype was made at the 2021 Apache Pulsar Hackathon. - https://github.com/EronWright/pulsar-hackathon-2021-projects-watermarking Help wanted! Active discussions include: - Producer participant lifecycle - Automatic watermark generation on broker side Main Contact: - Eron Wright (ewright@streamnative.io)
  • 17. Pulsar Virtual Summit Europe 2021 Resources - Streaming 101: The world beyond batch - O'Reilly - Streaming 102: The world beyond batch - O'Reilly
  • 18. Pulsar Virtual Summit Europe 2021 Thank-You!

Hinweis der Redaktion

  1. This slide introduces the abstract concept of a watermark. Explain: Each stream consists of a unbounded series of events and watermarks. Each event has an event timestamp (simplified for illustrative purposes). A watermark with time t indicates there should be no subsequent events with a timestamp older than t. A watermark is similar to an end-to-file (EOF) in that it punctuates a stream, but is in the event domain (specifically a point in time) rather than in the processing domain. A processing domain analogue to EOF in Pulsar would be reaching the end of a terminated topic.
  2. This slide reveals how stream processors use watermarks to make progress, and the importance of watermark correctness. Explain: Events and watermarks flow through the stream processing pipeline, e.g. from source, to transformer, to sink. We call these operators. A watermark may trigger a time-based computation or cause a state change, such as finalizing a time-based aggregation. The correctness of the watermark is essential for producing correct program output. Some processors support special-case handling of late records. Watermarks may be pessimistic at the expense of end-to-end latency.
  3. This slide focuses on the challenge of generating correct watermarks. Explain heuristics-based watermarking. Infer the progression of event time by observing event timestamps. A typical strategy is to assume a bounded out-of-orderness, where the watermark lags behind the maximum observed timestamp by a fixed amount of time (a “grace period”). These strategies are highly sensitive ot the order of observation, and may break in dynamic/complex/unified scenarios. Also: generator state may be ephemeral. Explain the concept of regimes and that of unified batch/streaming. Imagine a stream processor that is acting as a consumer of a topic. Real-time: order is largely determined by the producer. Historical: abundance of data, order is determined by system guarantees and by system internals. Ths may cause a heuristics-based generator to fail spectacularly.
  4. This slide is about the specific challenge of generating watermarks as a consumer of a Pulsar topic. This is the last slide before we dive into the proposal. Explain the specific challenges faced by Pulsar consumers using a diagram showing how events are multiplexed during consumption. Imagine how producing to, and consuming from, a partitioned topic involves fan-out and fan-in. The complexity rises in a distributed, partitioned, multi-party scenario. Only the broker has a complete view of the topic; no one consumer observes all events. This complicates heuristics-based watermark generation at the consumer. The Pulsar client encapsulates various system internals such as scheduling, retries, acknowledgements, fan-in. Transactions tend to disturb the order-of-observation.
  5. We introduced the concept of watermarks and discussed the challenge of generating correct watermarks. Now we introduce a proposal for an enhancement to Pulsar to address this challenge.
  6. This slide introduces the overall concept of brokered watermarks. The next slides dive into the details for producer, broker, and consumer. PIP-102 is a community proposal to add first-class support to Pulsar for brokered watermarks. Recall: watermarks are an assertion about the progression of event time with respect to the events in a particular stream. Explain: Place the responsibility (of making assertions) on the producer(s) to a topic. Each producer is responsible only for watermarking its own events. Aggregate the watermarks across producers. Deliver aggregated watermarks to topic consumers via a subscription. Subscriptions are like cursors over a topic, and materialize watermarks as the cursor advances.
  7. This slide focuses on the producer experience. Remarks: PIP-102 introduces a “watermark” message to the Producer API. For aggregation purposes, producers are recognized by their producer name. Note that Pulsar messages already have an event timestamp. (see TypedMessageBuilder::eventTime). All routing modes are supported, using broadcast semantics for watermarks sent to partitioned topics. Results in a WatermarkId containing a MessageId (position information) per partition. A producer may idle itself to cease contributing watermarks. Is otherwise invariant to producer disconnections. Fully supports transactions.
  8. This slide focuses on the consumer experience. Continues on next slide with a diagram about subscription modes. Explain: Watermarks are an opt-in feature on the Consumer API. Watermarks are delivered via the MessageListener interface and the latest is available via Consumer::getLastWatermark(). When opted in, slight behavior change on Consumer::receiveAsync() - completes with null when a watermark arrives. Alternatively use shorter timeouts on Consumer::receive().
  9. Explain: All subscription modes are supported. Some modes have the effect of re-delivering a message to another consumer, e.g. when a message goes unacknowledged or a consumer becomes disconnected. It would be wrong to prematurely advance the watermark for such messages. Hence, watermarks track with acknowledged messages. Internally this is known as the mark-delete point within the subscription cursor. Consider pausing to reiterate how painful watermark generation is in the status-quo. e.g. consumers of key-shared subscriptions lack information, and consumers of failover subscriptions are over-eager.
  10. This slide focuses on how watermarks are brokered. Explain: Watermarks are stored as special ‘marker’ messages in the managed ledger (shown in orange). When a subscription is created or seeked, the broker materializes the latest watermark at the subscription’s current position. Is implemented with a secondary cursor that is associated with the subscription. For transactional messaging, watermarks are read-committed (as are ordinary messages). Periodic snapshots improve efficiency and allow for ledger operations. Watermarks from outstanding transactions are held in snapshot state.
  11. This slide talks about how Pulsar watermarking works in Apache Flink with the Pulsar connector. Source: Emits watermarks into the Flink pipeline Provides a ‘source-based’ watermarking strategy Use ordinary timestamp extractor or use eventTime message metadata. Sink: Receives watermarks from Flink pipeline (see FLIP-167) Produces watermarks into the topic Future: better support for idle pipelines
  12. Explain correctness: This approach improves the determinism of watermarks and thus of program output. Program should produce same output in batch and streaming modes. This is the dream of ‘unified batch and stream processing’. Explain multi-stage: Multi-stage applications use Pulsar topics to move information from stage to stage. Now able to preserve watermarks with high fidelity.