SlideShare ist ein Scribd-Unternehmen logo
1 von 57
Downloaden Sie, um offline zu lesen
Pulsar Summit
San Francisco
Hotel Nikko
August 18 2022
Keynote
Event-Driven
Applications
Done Right
Sijie Guo
Co-Founder & CEO • StreamNative
Matteo Merli
CTO • StreamNative
Sijie Guo
Co-Founder & CEO
StreamNative @sijieg @sijie
● Co-Founder & CEO, StreamNative
● PMC Member of Apache Pulsar
● PMC Chair of Apache BookKeeper
● Ex Co-Founder, Streamlio
● Ex Twitter, Yahoo!
Bar Chart Race - Pull Requests
HUGE GROWTH IN THE COMMUNITY
Top-10 PRs in messaging and streaming
HUGE GROWTH IN THE COMMUNITY
Pulsar ranked as a Top 5 ASF project
HUGE GROWTH IN THE COMMUNITY
> 560+
Contributors
> 10,000+
Commits
> 7,000+
Slack Members
> 1,000+
Organizations
using Pulsar
Pulsar has already been deployed by thousands
of companies across the globe
HUGE GROWTH IN THE COMMUNITY
New Platform Around
Messaging and Streaming
SAY WHAT YOU MEAN
Applications Pipelines
Apache Pulsar
Payment service
Inventory management
Personal recommendations
Shipment tracking/alerting
Fleet management
Customer
communication
Dynamic pricing
Geofencing
Real-time analytics
Customer 360
Streaming ETL
Cloud Lakehouse Ingestion
Change data capture
Complex event processing
Log aggregation
ML Pipelines
Application Domain Data Domain
Applications
Payment service
Inventory management
Personal recommendations
Shipment tracking/alerting
Fleet management
Customer
communication
Dynamic pricing
Geofencing
Application Domain
Applications are built with HTTP, REST, or some
other protocol made from requests and replies
The Evolution of Microservices
Request
Reply
This works well when ecosystems are small …
The Evolution of Microservices
But gets harder as they grow more complex and
more interconnected
The Evolution of Microservices
Services are tightly coupled
The Evolution of Microservices
So if one service fails …
The Evolution of Microservices
x
…or even just runs slowly
The Evolution of Microservices
The fall-out could be much larger
The Evolution of Microservices
x
x
x
x
Others end up feeling that pain
The Evolution of Microservices
x
x
x
x
x
At company scale, the majority of processes
are asynchronous to one another
The Evolution of Microservices
Billing Inventory Fulfillment Fraud
So it makes sense to DECOUPLE services from
one another
The Evolution of Microservices
Billing Inventory Fulfillment Fraud
DECOUPLE
It evolves towards event-driven architecture
The Evolution of Microservices
Billing Inventory Fulfillment Fraud
MESSAGING & STREAMING PLATFORM
Messaging & Streaming Technologies Old and New
The Evolution of Microservices
MESSAGING & STREAMING PLATFORM
1. Data abstraction: what is the right data abstraction?
2. API: what is the right API to provide? Is it just Streams?
3. Primitives: what are primitives to provide?
4. Processing Semantics: How to meet business needs?
5. Tools: what are the tools to offer?
Matteo Merli
CTO
StreamNative @merlimat @merlimat
● CTO, StreamNative
● Co-creator and PMC Chair of Apache Pulsar
● Ex Co-Founder, Streamlio
● Ex Splunk, Yahoo!
How event driven
applications have
evolved
Example of a complex event-driven application
5 FUNDAMENTALS OF
Modern
Event-Driven
Applications
1. Data abstraction
2. API
3. Primitives
4. Processing Semantics
5. Tools
5 FUNDAMENTALS OF
Modern
Event-Driven
Applications
1. Topics
2. Stream, Queue, and Table
3. Shared vs Exclusive
4. Processing Semantics
5. 3 Layers of Abstraction
5 FUNDAMENTALS OF
Modern
Event-Driven
Applications
1. Topics
2. Stream, Queue, and Table
3. Shared vs Exclusive
4. Processing Semantics
5. 3 Layers of Abstraction
● “Asynchronously broadcast messages to a set of consumers”
● Decouples producers from consumers
● Subscribers state is managed by the system
PUBLISH/SUBSCRIBE, IN THE LARGE
Topics
● Infinite Retention
● Source of truth
● Can be read from any position
● Events can be stored:
○ By row
○ Columnar format → Lakehouse Integration
Replayable Streams
Topics
5 FUNDAMENTALS OF
Modern
Event-Driven
Applications
1. Topics
2. Stream, Queue, and Table
3. Shared vs Exclusive
4. Processing Semantics
5. 3 Layers of Abstraction
● Unbound sequence of events
● Ordered
● Replayable
● Partitioned for scalability
Stream
Stream, Queue, and Table
● Queue is the fundamental “decoupling” mechanism
● The “Queue” is the unit to distribute work across a set of
workers
● Multiple routing strategies:
○ Round-robin
○ Per-key ordering
● Individual message tracking
● Delivery delay
Queue
Stream, Queue, and Table
● View the data in the topic as a “table”
● Access last value for each message key
● Can be used for:
○ Sharing state between processes
○ Distributed cache with local reads
● Integrated with transactions
Table
Stream, Queue, and Table
5 FUNDAMENTALS OF
Modern
Event-Driven
Applications
1. Topics
2. Stream, Queue, and Table
3. Shared vs Exclusive
4. Processing Semantics
5. 3 Layers of Abstraction
Shared vs Exclusive
Shared Producers Shared Producers Exclusive Producers
Shared Subscribers Exclusive Subscribers Exclusive Subscribers
● Exclusive access for producers:
○ Allows to manage producers epoch
○ Allows to implement leader election
● For consumers the choice is:
○ Shared subscribers → Distribute work
○ Exclusive subscribers → Receive all messages in order
5 FUNDAMENTALS OF
Modern
Event-Driven
Applications
1. Topics
2. Stream, Queue, and Table
3. Shared vs Exclusive
4. Processing Semantics
5. 3 Layers of Abstraction
Semantics
AT LEAST ONCE
Message pulled once or
more times; processed
each time
Duplicates are possible
Receipt guaranteed
No missing data
Semantics
AT MOST ONCE
Message pulled once
? May or may not be
received
No duplicates
Possible missing data
?
AT LEAST ONCE
Message pulled once or
more times; processed
each time
Duplicates are possible
Receipt guaranteed
No missing data
Semantics
AT MOST ONCE
Message pulled once
? May or may not be
received
No duplicates
Possible missing data
?
AT LEAST ONCE
Message pulled once or
more times; processed
each time
Duplicates are possible
EXACTLY ONCE
Message pulled once or
more times; processed
ONLY once
Receipt guaranteed
No duplicates
No missing data
Receipt guaranteed
No missing data
Semantics
AT MOST ONCE
Message pulled once
? May or may not be
received
No duplicates
Possible missing data
?
AT LEAST ONCE
Message pulled once or
more times; processed
each time
EXACTLY ONCE
Message pulled once or
more times; processed
ONLY once
Receipt guaranteed
No duplicates
No missing data
PIP-30: Pulsar Transactions
Receipt guaranteed
No missing data
Duplicates are possible
5 FUNDAMENTALS OF
Modern
Event-Driven
Applications
1. Topics
2. Stream, Queue, and Table
3. Shared vs Exclusive
4. Processing Semantics
5. 3 Layers of Abstraction
● A simple, high-performance, language-agnostic TCP protocol
● The protocol is versioned and maintains backward compatibility
with older versions
● Layers of abstraction build upon simple client operations
Client
Three Layers of Abstraction
Client - REST
Three Layers of Abstraction
{REST}
admin requests
pulsar-admin, pulsarctl, API
Client - REST
Three Layers of Abstraction
{REST}
admin requests
data requests
PIP-64: Introduce REST endpoints
for producing, consuming, and
reading messages
Functions - Serverless Event Processing
Three Layers of Abstraction
input topic 1
input topic 2
input topic N
…
output topic 1
output topic 2
Functions - Serverless Event Processing
Three Layers of Abstraction
input topic 1
input topic 2
input topic N
…
output topic 1
output topic 2
Three Layers of Abstraction
PULSAR CLIENT
PULSAR
FUNCTIONS
Less complexity,
Less flexibility
More flexibility,
More complexity
Three Layers of Abstraction
PULSAR CLIENT
PULSAR
FUNCTIONS
?
Less complexity,
Less flexibility
More flexibility,
More complexity
Three Layers of Abstraction
PULSAR CLIENT
PULSAR
FUNCTIONS
SQL
Less complexity,
Less flexibility
More flexibility,
More complexity
Introducing (pf)SQL - Pulsar Functions made easy
Three Layers of Abstraction
● Designed for Pulsar Functions
● Filtering / Transformation /
Routing
● Transformations for Pulsar IO
connectors
SQL - Pulsar Functions made easy
Three Layers of Abstraction
Neng Lu
Platform Engineering Lead
StreamNative
Simplify Pulsar Functions
Development with SQL
3:20 PM - 3:50 PM
5 FUNDAMENTALS OF
Modern
Event-Driven
Applications
1. Topics
2. Stream, Queue, and Table
3. Shared vs Exclusive
4. Semantics
5. 3 Layers of Abstraction
Concluding
● Complex event-driven applications require a
wide-range of abstractions, API and semantics for
each specific problem
● Pulsar is the system that solves all these problems
in the most natural and comprehensive way
Pulsar Summit
San Francisco
Hotel Nikko
August 18 2022
Keynote
Thank you!
Pulsar Summit
San Francisco
Hotel Nikko
August 18 2022
Sijie Guo
Co-Founder & CEO • StreamNative
Matteo Merli
CTO • StreamNative

Weitere ähnliche Inhalte

Ähnlich wie Event-Driven Applications Done Right - Pulsar Summit SF 2022

[AerospikeRoadshow] Apache Pulsar Unifies Streaming and Messaging for Real-Ti...
[AerospikeRoadshow] Apache Pulsar Unifies Streaming and Messaging for Real-Ti...[AerospikeRoadshow] Apache Pulsar Unifies Streaming and Messaging for Real-Ti...
[AerospikeRoadshow] Apache Pulsar Unifies Streaming and Messaging for Real-Ti...Timothy Spann
 
Introducing Events and Stream Processing into Nationwide Building Society (Ro...
Introducing Events and Stream Processing into Nationwide Building Society (Ro...Introducing Events and Stream Processing into Nationwide Building Society (Ro...
Introducing Events and Stream Processing into Nationwide Building Society (Ro...confluent
 
Partner Connect APAC - 2022 - April
Partner Connect APAC - 2022 - AprilPartner Connect APAC - 2022 - April
Partner Connect APAC - 2022 - Aprilconfluent
 
Confluent Messaging Modernization Forum
Confluent Messaging Modernization ForumConfluent Messaging Modernization Forum
Confluent Messaging Modernization Forumconfluent
 
Introducing Events and Stream Processing into Nationwide Building Society
Introducing Events and Stream Processing into Nationwide Building SocietyIntroducing Events and Stream Processing into Nationwide Building Society
Introducing Events and Stream Processing into Nationwide Building Societyconfluent
 
Introduction to Streaming Analytics
Introduction to Streaming AnalyticsIntroduction to Streaming Analytics
Introduction to Streaming AnalyticsGuido Schmutz
 
Confluent Partner Tech Talk with Reply
Confluent Partner Tech Talk with ReplyConfluent Partner Tech Talk with Reply
Confluent Partner Tech Talk with Replyconfluent
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache KafkaRicardo Bravo
 
Hail hydrate! from stream to lake using open source
Hail hydrate! from stream to lake using open sourceHail hydrate! from stream to lake using open source
Hail hydrate! from stream to lake using open sourceTimothy Spann
 
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...Agile Gurugram 2023 | Observability for Modern Applications. How does it help...
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...AgileNetwork
 
Apache Pulsar: Why Unified Messaging and Streaming Is the Future - Pulsar Sum...
Apache Pulsar: Why Unified Messaging and Streaming Is the Future - Pulsar Sum...Apache Pulsar: Why Unified Messaging and Streaming Is the Future - Pulsar Sum...
Apache Pulsar: Why Unified Messaging and Streaming Is the Future - Pulsar Sum...StreamNative
 
Real-time processing of large amounts of data
Real-time processing of large amounts of dataReal-time processing of large amounts of data
Real-time processing of large amounts of dataconfluent
 
PortoTechHub - Hail Hydrate! From Stream to Lake with Apache Pulsar and Friends
PortoTechHub  - Hail Hydrate! From Stream to Lake with Apache Pulsar and FriendsPortoTechHub  - Hail Hydrate! From Stream to Lake with Apache Pulsar and Friends
PortoTechHub - Hail Hydrate! From Stream to Lake with Apache Pulsar and FriendsTimothy Spann
 
Automation + dev ops summit hail hydrate! from stream to lake
Automation + dev ops summit   hail hydrate! from stream to lakeAutomation + dev ops summit   hail hydrate! from stream to lake
Automation + dev ops summit hail hydrate! from stream to lakeTimothy Spann
 
Message Driven and Event Sourcing
Message Driven and Event SourcingMessage Driven and Event Sourcing
Message Driven and Event SourcingPaolo Castagna
 
Devfest uk & ireland using apache nifi with apache pulsar for fast data on-r...
Devfest uk & ireland  using apache nifi with apache pulsar for fast data on-r...Devfest uk & ireland  using apache nifi with apache pulsar for fast data on-r...
Devfest uk & ireland using apache nifi with apache pulsar for fast data on-r...Timothy Spann
 
Apache Kafka - Scalable Message-Processing and more !
Apache Kafka - Scalable Message-Processing and more !Apache Kafka - Scalable Message-Processing and more !
Apache Kafka - Scalable Message-Processing and more !Guido Schmutz
 
data-mesh-101.pptx
data-mesh-101.pptxdata-mesh-101.pptx
data-mesh-101.pptxTarekHamdi8
 

Ähnlich wie Event-Driven Applications Done Right - Pulsar Summit SF 2022 (20)

[AerospikeRoadshow] Apache Pulsar Unifies Streaming and Messaging for Real-Ti...
[AerospikeRoadshow] Apache Pulsar Unifies Streaming and Messaging for Real-Ti...[AerospikeRoadshow] Apache Pulsar Unifies Streaming and Messaging for Real-Ti...
[AerospikeRoadshow] Apache Pulsar Unifies Streaming and Messaging for Real-Ti...
 
Introducing Events and Stream Processing into Nationwide Building Society (Ro...
Introducing Events and Stream Processing into Nationwide Building Society (Ro...Introducing Events and Stream Processing into Nationwide Building Society (Ro...
Introducing Events and Stream Processing into Nationwide Building Society (Ro...
 
Partner Connect APAC - 2022 - April
Partner Connect APAC - 2022 - AprilPartner Connect APAC - 2022 - April
Partner Connect APAC - 2022 - April
 
Confluent Messaging Modernization Forum
Confluent Messaging Modernization ForumConfluent Messaging Modernization Forum
Confluent Messaging Modernization Forum
 
Introducing Events and Stream Processing into Nationwide Building Society
Introducing Events and Stream Processing into Nationwide Building SocietyIntroducing Events and Stream Processing into Nationwide Building Society
Introducing Events and Stream Processing into Nationwide Building Society
 
Introduction to Streaming Analytics
Introduction to Streaming AnalyticsIntroduction to Streaming Analytics
Introduction to Streaming Analytics
 
Confluent Partner Tech Talk with Reply
Confluent Partner Tech Talk with ReplyConfluent Partner Tech Talk with Reply
Confluent Partner Tech Talk with Reply
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache Kafka
 
Hail hydrate! from stream to lake using open source
Hail hydrate! from stream to lake using open sourceHail hydrate! from stream to lake using open source
Hail hydrate! from stream to lake using open source
 
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...Agile Gurugram 2023 | Observability for Modern Applications. How does it help...
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...
 
Apache Pulsar: Why Unified Messaging and Streaming Is the Future - Pulsar Sum...
Apache Pulsar: Why Unified Messaging and Streaming Is the Future - Pulsar Sum...Apache Pulsar: Why Unified Messaging and Streaming Is the Future - Pulsar Sum...
Apache Pulsar: Why Unified Messaging and Streaming Is the Future - Pulsar Sum...
 
Real-time processing of large amounts of data
Real-time processing of large amounts of dataReal-time processing of large amounts of data
Real-time processing of large amounts of data
 
Shaik Niyas Ahamed M Resume
Shaik Niyas Ahamed M ResumeShaik Niyas Ahamed M Resume
Shaik Niyas Ahamed M Resume
 
PortoTechHub - Hail Hydrate! From Stream to Lake with Apache Pulsar and Friends
PortoTechHub  - Hail Hydrate! From Stream to Lake with Apache Pulsar and FriendsPortoTechHub  - Hail Hydrate! From Stream to Lake with Apache Pulsar and Friends
PortoTechHub - Hail Hydrate! From Stream to Lake with Apache Pulsar and Friends
 
Automation + dev ops summit hail hydrate! from stream to lake
Automation + dev ops summit   hail hydrate! from stream to lakeAutomation + dev ops summit   hail hydrate! from stream to lake
Automation + dev ops summit hail hydrate! from stream to lake
 
Mesoscon 2015
Mesoscon 2015Mesoscon 2015
Mesoscon 2015
 
Message Driven and Event Sourcing
Message Driven and Event SourcingMessage Driven and Event Sourcing
Message Driven and Event Sourcing
 
Devfest uk & ireland using apache nifi with apache pulsar for fast data on-r...
Devfest uk & ireland  using apache nifi with apache pulsar for fast data on-r...Devfest uk & ireland  using apache nifi with apache pulsar for fast data on-r...
Devfest uk & ireland using apache nifi with apache pulsar for fast data on-r...
 
Apache Kafka - Scalable Message-Processing and more !
Apache Kafka - Scalable Message-Processing and more !Apache Kafka - Scalable Message-Processing and more !
Apache Kafka - Scalable Message-Processing and more !
 
data-mesh-101.pptx
data-mesh-101.pptxdata-mesh-101.pptx
data-mesh-101.pptx
 

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
 
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
 
Improvements Made in KoP 2.9.0 - Pulsar Summit Asia 2021
Improvements Made in KoP 2.9.0  - Pulsar Summit Asia 2021Improvements Made in KoP 2.9.0  - Pulsar Summit Asia 2021
Improvements Made in KoP 2.9.0 - Pulsar Summit Asia 2021StreamNative
 

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
 
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...
 
Improvements Made in KoP 2.9.0 - Pulsar Summit Asia 2021
Improvements Made in KoP 2.9.0  - Pulsar Summit Asia 2021Improvements Made in KoP 2.9.0  - Pulsar Summit Asia 2021
Improvements Made in KoP 2.9.0 - Pulsar Summit Asia 2021
 

Kürzlich hochgeladen

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
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
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 

Kürzlich hochgeladen (20)

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
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
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 

Event-Driven Applications Done Right - Pulsar Summit SF 2022

  • 1. Pulsar Summit San Francisco Hotel Nikko August 18 2022 Keynote Event-Driven Applications Done Right Sijie Guo Co-Founder & CEO • StreamNative Matteo Merli CTO • StreamNative
  • 2. Sijie Guo Co-Founder & CEO StreamNative @sijieg @sijie ● Co-Founder & CEO, StreamNative ● PMC Member of Apache Pulsar ● PMC Chair of Apache BookKeeper ● Ex Co-Founder, Streamlio ● Ex Twitter, Yahoo!
  • 3.
  • 4. Bar Chart Race - Pull Requests HUGE GROWTH IN THE COMMUNITY
  • 5. Top-10 PRs in messaging and streaming HUGE GROWTH IN THE COMMUNITY
  • 6. Pulsar ranked as a Top 5 ASF project HUGE GROWTH IN THE COMMUNITY > 560+ Contributors > 10,000+ Commits > 7,000+ Slack Members > 1,000+ Organizations using Pulsar
  • 7. Pulsar has already been deployed by thousands of companies across the globe HUGE GROWTH IN THE COMMUNITY
  • 10. Applications Pipelines Apache Pulsar Payment service Inventory management Personal recommendations Shipment tracking/alerting Fleet management Customer communication Dynamic pricing Geofencing Real-time analytics Customer 360 Streaming ETL Cloud Lakehouse Ingestion Change data capture Complex event processing Log aggregation ML Pipelines Application Domain Data Domain
  • 11. Applications Payment service Inventory management Personal recommendations Shipment tracking/alerting Fleet management Customer communication Dynamic pricing Geofencing Application Domain
  • 12. Applications are built with HTTP, REST, or some other protocol made from requests and replies The Evolution of Microservices Request Reply
  • 13. This works well when ecosystems are small … The Evolution of Microservices
  • 14. But gets harder as they grow more complex and more interconnected The Evolution of Microservices
  • 15. Services are tightly coupled The Evolution of Microservices
  • 16. So if one service fails … The Evolution of Microservices x
  • 17. …or even just runs slowly The Evolution of Microservices
  • 18. The fall-out could be much larger The Evolution of Microservices x x x x
  • 19. Others end up feeling that pain The Evolution of Microservices x x x x x
  • 20. At company scale, the majority of processes are asynchronous to one another The Evolution of Microservices Billing Inventory Fulfillment Fraud
  • 21. So it makes sense to DECOUPLE services from one another The Evolution of Microservices Billing Inventory Fulfillment Fraud DECOUPLE
  • 22. It evolves towards event-driven architecture The Evolution of Microservices Billing Inventory Fulfillment Fraud MESSAGING & STREAMING PLATFORM
  • 23. Messaging & Streaming Technologies Old and New The Evolution of Microservices MESSAGING & STREAMING PLATFORM
  • 24. 1. Data abstraction: what is the right data abstraction? 2. API: what is the right API to provide? Is it just Streams? 3. Primitives: what are primitives to provide? 4. Processing Semantics: How to meet business needs? 5. Tools: what are the tools to offer?
  • 25. Matteo Merli CTO StreamNative @merlimat @merlimat ● CTO, StreamNative ● Co-creator and PMC Chair of Apache Pulsar ● Ex Co-Founder, Streamlio ● Ex Splunk, Yahoo!
  • 27. Example of a complex event-driven application
  • 28. 5 FUNDAMENTALS OF Modern Event-Driven Applications 1. Data abstraction 2. API 3. Primitives 4. Processing Semantics 5. Tools
  • 29. 5 FUNDAMENTALS OF Modern Event-Driven Applications 1. Topics 2. Stream, Queue, and Table 3. Shared vs Exclusive 4. Processing Semantics 5. 3 Layers of Abstraction
  • 30. 5 FUNDAMENTALS OF Modern Event-Driven Applications 1. Topics 2. Stream, Queue, and Table 3. Shared vs Exclusive 4. Processing Semantics 5. 3 Layers of Abstraction
  • 31. ● “Asynchronously broadcast messages to a set of consumers” ● Decouples producers from consumers ● Subscribers state is managed by the system PUBLISH/SUBSCRIBE, IN THE LARGE Topics
  • 32. ● Infinite Retention ● Source of truth ● Can be read from any position ● Events can be stored: ○ By row ○ Columnar format → Lakehouse Integration Replayable Streams Topics
  • 33. 5 FUNDAMENTALS OF Modern Event-Driven Applications 1. Topics 2. Stream, Queue, and Table 3. Shared vs Exclusive 4. Processing Semantics 5. 3 Layers of Abstraction
  • 34. ● Unbound sequence of events ● Ordered ● Replayable ● Partitioned for scalability Stream Stream, Queue, and Table
  • 35. ● Queue is the fundamental “decoupling” mechanism ● The “Queue” is the unit to distribute work across a set of workers ● Multiple routing strategies: ○ Round-robin ○ Per-key ordering ● Individual message tracking ● Delivery delay Queue Stream, Queue, and Table
  • 36. ● View the data in the topic as a “table” ● Access last value for each message key ● Can be used for: ○ Sharing state between processes ○ Distributed cache with local reads ● Integrated with transactions Table Stream, Queue, and Table
  • 37. 5 FUNDAMENTALS OF Modern Event-Driven Applications 1. Topics 2. Stream, Queue, and Table 3. Shared vs Exclusive 4. Processing Semantics 5. 3 Layers of Abstraction
  • 38. Shared vs Exclusive Shared Producers Shared Producers Exclusive Producers Shared Subscribers Exclusive Subscribers Exclusive Subscribers ● Exclusive access for producers: ○ Allows to manage producers epoch ○ Allows to implement leader election ● For consumers the choice is: ○ Shared subscribers → Distribute work ○ Exclusive subscribers → Receive all messages in order
  • 39. 5 FUNDAMENTALS OF Modern Event-Driven Applications 1. Topics 2. Stream, Queue, and Table 3. Shared vs Exclusive 4. Processing Semantics 5. 3 Layers of Abstraction
  • 40. Semantics AT LEAST ONCE Message pulled once or more times; processed each time Duplicates are possible Receipt guaranteed No missing data
  • 41. Semantics AT MOST ONCE Message pulled once ? May or may not be received No duplicates Possible missing data ? AT LEAST ONCE Message pulled once or more times; processed each time Duplicates are possible Receipt guaranteed No missing data
  • 42. Semantics AT MOST ONCE Message pulled once ? May or may not be received No duplicates Possible missing data ? AT LEAST ONCE Message pulled once or more times; processed each time Duplicates are possible EXACTLY ONCE Message pulled once or more times; processed ONLY once Receipt guaranteed No duplicates No missing data Receipt guaranteed No missing data
  • 43. Semantics AT MOST ONCE Message pulled once ? May or may not be received No duplicates Possible missing data ? AT LEAST ONCE Message pulled once or more times; processed each time EXACTLY ONCE Message pulled once or more times; processed ONLY once Receipt guaranteed No duplicates No missing data PIP-30: Pulsar Transactions Receipt guaranteed No missing data Duplicates are possible
  • 44. 5 FUNDAMENTALS OF Modern Event-Driven Applications 1. Topics 2. Stream, Queue, and Table 3. Shared vs Exclusive 4. Processing Semantics 5. 3 Layers of Abstraction
  • 45. ● A simple, high-performance, language-agnostic TCP protocol ● The protocol is versioned and maintains backward compatibility with older versions ● Layers of abstraction build upon simple client operations Client Three Layers of Abstraction
  • 46. Client - REST Three Layers of Abstraction {REST} admin requests pulsar-admin, pulsarctl, API
  • 47. Client - REST Three Layers of Abstraction {REST} admin requests data requests PIP-64: Introduce REST endpoints for producing, consuming, and reading messages
  • 48. Functions - Serverless Event Processing Three Layers of Abstraction input topic 1 input topic 2 input topic N … output topic 1 output topic 2
  • 49. Functions - Serverless Event Processing Three Layers of Abstraction input topic 1 input topic 2 input topic N … output topic 1 output topic 2
  • 50. Three Layers of Abstraction PULSAR CLIENT PULSAR FUNCTIONS Less complexity, Less flexibility More flexibility, More complexity
  • 51. Three Layers of Abstraction PULSAR CLIENT PULSAR FUNCTIONS ? Less complexity, Less flexibility More flexibility, More complexity
  • 52. Three Layers of Abstraction PULSAR CLIENT PULSAR FUNCTIONS SQL Less complexity, Less flexibility More flexibility, More complexity
  • 53. Introducing (pf)SQL - Pulsar Functions made easy Three Layers of Abstraction ● Designed for Pulsar Functions ● Filtering / Transformation / Routing ● Transformations for Pulsar IO connectors
  • 54. SQL - Pulsar Functions made easy Three Layers of Abstraction Neng Lu Platform Engineering Lead StreamNative Simplify Pulsar Functions Development with SQL 3:20 PM - 3:50 PM
  • 55. 5 FUNDAMENTALS OF Modern Event-Driven Applications 1. Topics 2. Stream, Queue, and Table 3. Shared vs Exclusive 4. Semantics 5. 3 Layers of Abstraction
  • 56. Concluding ● Complex event-driven applications require a wide-range of abstractions, API and semantics for each specific problem ● Pulsar is the system that solves all these problems in the most natural and comprehensive way
  • 57. Pulsar Summit San Francisco Hotel Nikko August 18 2022 Keynote Thank you! Pulsar Summit San Francisco Hotel Nikko August 18 2022 Sijie Guo Co-Founder & CEO • StreamNative Matteo Merli CTO • StreamNative