SlideShare a Scribd company logo
The Evolution of Trillion-level Real-
time Messaging System in BIGO
Zhanpeng Wu, Staff engineer at BIGO
Agenda
• BIGO Messaging System Introduction
• Challenges, Opportunities, and Choices
• Typical Application Scenarios
• High Throughput Event Tracking System
• Lightweight Traffic Balancing in DevOps
• High Performance Catch-up Read in Machine Learning
Tasks
• Conclusions
• Future Work
BIGO Messaging System Introduction
Development Timeline
2019
Pure Open-source
Kafka Solution
BIGO Messaging System Introduction
2021
5+ Pulsar Production Clusters
2022
Switch to Pulsar on
A Large Scale
2020
Introduced Pulsar
for the first time
Messaging System
Platform
BIGO Messaging System Introduction
APPs
Event Data Realtime Service Data
RecSys Biz Ad Monitoring
DB Bin-log Data
SQL KV
Others
Streaming System
Distributed Storage Computation Data Warehouse Others Applications
Challenges, Opportunities, and Choices
Challenges in Open-source Kafka Framework
Rapidly growing data scale
Challenges, Opportunities, and Choices
1
2
4
5
0
1
3
4
5
6
2019 2020 2021 2022
BIGO Messaging System Data Scale per Day
Challenges in Open-source Kafka Framework
• Poor scalability when encountering a sudden increase in traffic
• The I/O performance is being deteriorate as the #partitions increases
• Mixed reading and writing during catch-up read leading performance
degradation
• …
Challenges, Opportunities, and Choices
Why We Decided to Choose Apache Pulsar
• Lightweight and seamless horizontal scalability
Challenges, Opportunities, and Choices
Why We Decided to Choose Apache Pulsar
• Excellent read-write isolation effect
provided by Apache BookKeeper
• Ability to support over a million topics
in production env
Challenges, Opportunities, and Choices
BookKeeper I/O Isolation
Why We Decided to Choose Apache Pulsar
• Multiple subscription
modes for topics
Challenges, Opportunities, and Choices
Typical Application Scenarios
High Throughput Event Tracking System
Serious Difficulties:
• High throughput
• Huge amount of producers
Typical Application Scenarios
EU
AS
NA
BE-1
BE-2
Topic-A-partition-0
Topic-A-partition-1
Topic-B-partition-0
… …
…
100TB+ / 50Bil+ Msg-In per Day for one App
300K+ producers among topics for one App
High Throughput Event Tracking System
Typical Application Scenarios
Pulsar ETL System
Topic-A-partition-0
Topic-A-partition-1
Topic-B-partition-0
…
Flink job with Pulsar Flink Connector
Event-A
Event-B
…
Data Warehouse
ETL task
ETL task
…
High Throughput Event Tracking System
Entries from different ledgers are aggregated and written
sequentially, while their offsets are kept as pointers in a
ledger cache for fast lookup.
Typical Application Scenarios
High Throughput Event Tracking System
Kafka V.S. Pulsar: Catch-up read under high throughput env
Typical Application Scenarios
Pulsar has a more efficient catch-up capability while maintaining the stability of the
cluster.
High Throughput Event Tracking System
Optimization of adding a large number of producers in a short time
Typical Application Scenarios
https://github.com/apache/pulsar/pull/12
202
No exceptions after lock optimization even frequently reloading bundles
No response to R/W due to deadlock
Lightweight Traffic Balancing in DevOps
Cluster Scaling-up in Kafka
Typical Application Scenarios
Data is replicated across the disks and networks
Lightweight Traffic Balancing in DevOps
Pulsar-side Balancing
Typical Application Scenarios
A common shedding strategy is to determine whether it needs to be balanced by
comprehensively calculating multiple indicators to obtain a score
Lightweight Traffic Balancing in DevOps
Pulsar-side Balancing – Throughput-aware Shedding Optimization
Typical Application Scenarios
Focus on the traffic of the cluster to avoid redundant reload operations.
Be aware that even if it is lightweight, frequent reload will hurt performance
Lightweight Traffic Balancing in DevOps
Typical Application Scenarios
BookKeeper-side Balancing
Bookies X and Y are instantly
discovered by broker 2.
The traffic instantly ramps up on the
newly added bookies, without
recopying any data.
High Performance Catch-up Read in Machine Learning Tasks
The relationship between the #partitions and the degree of parallelism (Kafka)
Typical Application Scenarios
Topic-A
Topic-A-partition-0
Volume: ■■□
Topic-A-partition-1
Volume: ■■■
Topic-A-partition-2
Volume: ■□□
Group-1
Consumer-0
Consumer-1
Consumer-2
Consumer-3
ML Task
Worker-0
Worker-1
Worker-2
Worker-3
IDLE
Data
Skew
High Performance Catch-up Read in Machine Learning Tasks
The relationship between the #partitions and the degree of parallelism (Pulsar)
Typical Application Scenarios
Topic-A
Topic-A-partition-0
Volume: ■■□
Topic-A-partition-1
Volume: ■■■
Topic-A-partition-2
Volume: ■□□
Subscription-2
Consumer-0
Consumer-1
Consumer-2
Consumer-3
ML Task
Worker-0
Worker-1
Worker-2
Worker-3
Dispatcher
Shared Mode
High Performance Catch-up Read in Machine Learning Tasks
Ability to support huge amount of consumers (~200K+)
Typical Application Scenarios
With the growth of business, #consumers connected to the cluster has
increased to 200K+, and consumption performance has not significantly
affected.
>>>> Message Publish Timeline >>>>
High Performance Catch-up Read in Machine Learning Tasks
Efficient data replay with concurrent multitasking
Typical Application Scenarios
Data replay for a
specified time
period
Conclusions
• Valuable horizontal scalability in the production environment.
• Thanks to the I/O isolation, message writing and catch-up reading both
show the characteristics of low latency and high throughput.
• Producers, consumers, and topics all have excellent capacity expansion
capabilities
Conclusions
Future Work
• Combining SSD and HDD to ensure read and write performance while
reasonably controlling hardware costs.
• Latency optimization for different R/W models (read amplification, full
sequential reading, full catch-up reading, etc.).
Future Work
• Apache Pulsar Website: https://pulsar.apache.org/
• Apache Kafka Website: https://kafka.apache.org/
• https://jack-vanlightly.com/sketches/2018/10/2/kafka-vs-pulsar-rebalancing-sketch
• https://bookkeeper.apache.org/distributedlog/technical-review/2016/09/19/kafka-vs-
distributedlog.html
• https://www.splunk.com/en_us/blog/it/comparing-pulsar-and-kafka-how-a-segment-based-
architecture-delivers-better-performance-scalability-and-resilience.html
References
THANK YOU FOR
WATCHING
Zhanpeng Wu, Staff engineer at BIGO
The Evolution of Trillion-level Real-time Messaging System in BIGO

More Related Content

What's hot

FortiGate Firewall How-To: WEB Filtering
FortiGate Firewall How-To: WEB FilteringFortiGate Firewall How-To: WEB Filtering
FortiGate Firewall How-To: WEB Filtering
IPMAX s.r.l.
 
Modul 2 - Footprinting Scanning Enumeration.ppt
Modul 2 - Footprinting Scanning Enumeration.pptModul 2 - Footprinting Scanning Enumeration.ppt
Modul 2 - Footprinting Scanning Enumeration.ppt
cemporku
 
Nmap
NmapNmap
Mss solution guide
Mss solution guideMss solution guide
Mss solution guide
Arista Networks
 
Brkmpl 2333
Brkmpl 2333Brkmpl 2333
Brkmpl 2333ronsito
 
Firewall & its configurations
Firewall & its configurationsFirewall & its configurations
Firewall & its configurations
Student
 
Content filters presentation
Content filters presentationContent filters presentation
Content filters presentation
kdore
 
Ch06 Wireless Network Security
Ch06 Wireless Network SecurityCh06 Wireless Network Security
Ch06 Wireless Network Security
Information Technology
 
4 palo alto licenses
4 palo alto licenses4 palo alto licenses
4 palo alto licenses
Mostafa El Lathy
 
Network as a service
Network as a serviceNetwork as a service
Network as a service
KCOM
 
클라우드를 활용한 디지털 사업 강화 전략 - 삼성 SmartTV TVPlus - 석진호 AWS 제조업 사업개발 담당, 박선준 AWS 솔루션...
클라우드를 활용한 디지털 사업 강화 전략 - 삼성 SmartTV TVPlus - 석진호 AWS 제조업 사업개발 담당, 박선준 AWS 솔루션...클라우드를 활용한 디지털 사업 강화 전략 - 삼성 SmartTV TVPlus - 석진호 AWS 제조업 사업개발 담당, 박선준 AWS 솔루션...
클라우드를 활용한 디지털 사업 강화 전략 - 삼성 SmartTV TVPlus - 석진호 AWS 제조업 사업개발 담당, 박선준 AWS 솔루션...
Amazon Web Services Korea
 
Introduction to sandvine dpi
Introduction to sandvine dpiIntroduction to sandvine dpi
Introduction to sandvine dpi
Mohammed Abdallah
 
Introduction to OFDM.ppt
Introduction to OFDM.pptIntroduction to OFDM.ppt
Introduction to OFDM.ppt
Stefan Oprea
 
Application Security - Dont leave your AppSec for the last moment Meetup 2104...
Application Security - Dont leave your AppSec for the last moment Meetup 2104...Application Security - Dont leave your AppSec for the last moment Meetup 2104...
Application Security - Dont leave your AppSec for the last moment Meetup 2104...
lior mazor
 
Tech 101: Understanding Firewalls
Tech 101: Understanding FirewallsTech 101: Understanding Firewalls
Tech 101: Understanding Firewalls
Likan Patra
 
Proxy Presentation
Proxy PresentationProxy Presentation
Proxy Presentation
primeteacher32
 
Presentation fortinet securing the cloud
Presentation   fortinet securing the cloudPresentation   fortinet securing the cloud
Presentation fortinet securing the cloudxKinAnx
 
Understanding NMAP
Understanding NMAPUnderstanding NMAP
Understanding NMAP
Phannarith Ou, G-CISO
 
Firewalls
FirewallsFirewalls
Firewalls
vaishnavi
 
Aryaka Bringing SASE to Life with a Zero Trust WAN.pdf
Aryaka Bringing SASE to Life with a Zero Trust WAN.pdfAryaka Bringing SASE to Life with a Zero Trust WAN.pdf
Aryaka Bringing SASE to Life with a Zero Trust WAN.pdf
KlausSchwegler
 

What's hot (20)

FortiGate Firewall How-To: WEB Filtering
FortiGate Firewall How-To: WEB FilteringFortiGate Firewall How-To: WEB Filtering
FortiGate Firewall How-To: WEB Filtering
 
Modul 2 - Footprinting Scanning Enumeration.ppt
Modul 2 - Footprinting Scanning Enumeration.pptModul 2 - Footprinting Scanning Enumeration.ppt
Modul 2 - Footprinting Scanning Enumeration.ppt
 
Nmap
NmapNmap
Nmap
 
Mss solution guide
Mss solution guideMss solution guide
Mss solution guide
 
Brkmpl 2333
Brkmpl 2333Brkmpl 2333
Brkmpl 2333
 
Firewall & its configurations
Firewall & its configurationsFirewall & its configurations
Firewall & its configurations
 
Content filters presentation
Content filters presentationContent filters presentation
Content filters presentation
 
Ch06 Wireless Network Security
Ch06 Wireless Network SecurityCh06 Wireless Network Security
Ch06 Wireless Network Security
 
4 palo alto licenses
4 palo alto licenses4 palo alto licenses
4 palo alto licenses
 
Network as a service
Network as a serviceNetwork as a service
Network as a service
 
클라우드를 활용한 디지털 사업 강화 전략 - 삼성 SmartTV TVPlus - 석진호 AWS 제조업 사업개발 담당, 박선준 AWS 솔루션...
클라우드를 활용한 디지털 사업 강화 전략 - 삼성 SmartTV TVPlus - 석진호 AWS 제조업 사업개발 담당, 박선준 AWS 솔루션...클라우드를 활용한 디지털 사업 강화 전략 - 삼성 SmartTV TVPlus - 석진호 AWS 제조업 사업개발 담당, 박선준 AWS 솔루션...
클라우드를 활용한 디지털 사업 강화 전략 - 삼성 SmartTV TVPlus - 석진호 AWS 제조업 사업개발 담당, 박선준 AWS 솔루션...
 
Introduction to sandvine dpi
Introduction to sandvine dpiIntroduction to sandvine dpi
Introduction to sandvine dpi
 
Introduction to OFDM.ppt
Introduction to OFDM.pptIntroduction to OFDM.ppt
Introduction to OFDM.ppt
 
Application Security - Dont leave your AppSec for the last moment Meetup 2104...
Application Security - Dont leave your AppSec for the last moment Meetup 2104...Application Security - Dont leave your AppSec for the last moment Meetup 2104...
Application Security - Dont leave your AppSec for the last moment Meetup 2104...
 
Tech 101: Understanding Firewalls
Tech 101: Understanding FirewallsTech 101: Understanding Firewalls
Tech 101: Understanding Firewalls
 
Proxy Presentation
Proxy PresentationProxy Presentation
Proxy Presentation
 
Presentation fortinet securing the cloud
Presentation   fortinet securing the cloudPresentation   fortinet securing the cloud
Presentation fortinet securing the cloud
 
Understanding NMAP
Understanding NMAPUnderstanding NMAP
Understanding NMAP
 
Firewalls
FirewallsFirewalls
Firewalls
 
Aryaka Bringing SASE to Life with a Zero Trust WAN.pdf
Aryaka Bringing SASE to Life with a Zero Trust WAN.pdfAryaka Bringing SASE to Life with a Zero Trust WAN.pdf
Aryaka Bringing SASE to Life with a Zero Trust WAN.pdf
 

Similar to The Evolution of Trillion-level Real-time Messaging System in BIGO - Puslar Summit Asia 2021

Apache Pulsar Overview
Apache Pulsar OverviewApache Pulsar Overview
Apache Pulsar Overview
Streamlio
 
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
 
Stephan Ewen - Experiences running Flink at Very Large Scale
Stephan Ewen -  Experiences running Flink at Very Large ScaleStephan Ewen -  Experiences running Flink at Very Large Scale
Stephan Ewen - Experiences running Flink at Very Large Scale
Ververica
 
Counting Elements in Streams
Counting Elements in StreamsCounting Elements in Streams
Counting Elements in Streams
Jamie Grier
 
Flink forward-2017-netflix keystones-paas
Flink forward-2017-netflix keystones-paasFlink forward-2017-netflix keystones-paas
Flink forward-2017-netflix keystones-paas
Monal Daxini
 
Streaming in Practice - Putting Apache Kafka in Production
Streaming in Practice - Putting Apache Kafka in ProductionStreaming in Practice - Putting Apache Kafka in Production
Streaming in Practice - Putting Apache Kafka in Production
confluent
 
Flexible and Real-Time Stream Processing with Apache Flink
Flexible and Real-Time Stream Processing with Apache FlinkFlexible and Real-Time Stream Processing with Apache Flink
Flexible and Real-Time Stream Processing with Apache Flink
DataWorks Summit
 
Capital One Delivers Risk Insights in Real Time with Stream Processing
Capital One Delivers Risk Insights in Real Time with Stream ProcessingCapital One Delivers Risk Insights in Real Time with Stream Processing
Capital One Delivers Risk Insights in Real Time with Stream Processing
confluent
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
sKaushikNarayanan
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
sKaushikNarayanan
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
MvkZ
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
sKaushikNarayanan
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
sKaushikNarayanan
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
MvkZ
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
MvkZ
 
Devoxx university - Kafka de haut en bas
Devoxx university - Kafka de haut en basDevoxx university - Kafka de haut en bas
Devoxx university - Kafka de haut en bas
Florent Ramiere
 
Using a Fast Operational Database to Build Real-time Streaming Aggregations
Using a Fast Operational Database to Build Real-time Streaming AggregationsUsing a Fast Operational Database to Build Real-time Streaming Aggregations
Using a Fast Operational Database to Build Real-time Streaming Aggregations
VoltDB
 
Data on the Move: Transitioning from a Legacy Architecture to a Big Data Plat...
Data on the Move: Transitioning from a Legacy Architecture to a Big Data Plat...Data on the Move: Transitioning from a Legacy Architecture to a Big Data Plat...
Data on the Move: Transitioning from a Legacy Architecture to a Big Data Plat...
MapR Technologies
 
BDX 2016- Monal daxini @ Netflix
BDX 2016-  Monal daxini  @ NetflixBDX 2016-  Monal daxini  @ Netflix
BDX 2016- Monal daxini @ Netflix
Ido Shilon
 
Stream, Stream, Stream: Different Streaming Methods with Spark and Kafka
Stream, Stream, Stream: Different Streaming Methods with Spark and KafkaStream, Stream, Stream: Different Streaming Methods with Spark and Kafka
Stream, Stream, Stream: Different Streaming Methods with Spark and Kafka
DataWorks Summit
 

Similar to The Evolution of Trillion-level Real-time Messaging System in BIGO - Puslar Summit Asia 2021 (20)

Apache Pulsar Overview
Apache Pulsar OverviewApache Pulsar Overview
Apache Pulsar Overview
 
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 !
 
Stephan Ewen - Experiences running Flink at Very Large Scale
Stephan Ewen -  Experiences running Flink at Very Large ScaleStephan Ewen -  Experiences running Flink at Very Large Scale
Stephan Ewen - Experiences running Flink at Very Large Scale
 
Counting Elements in Streams
Counting Elements in StreamsCounting Elements in Streams
Counting Elements in Streams
 
Flink forward-2017-netflix keystones-paas
Flink forward-2017-netflix keystones-paasFlink forward-2017-netflix keystones-paas
Flink forward-2017-netflix keystones-paas
 
Streaming in Practice - Putting Apache Kafka in Production
Streaming in Practice - Putting Apache Kafka in ProductionStreaming in Practice - Putting Apache Kafka in Production
Streaming in Practice - Putting Apache Kafka in Production
 
Flexible and Real-Time Stream Processing with Apache Flink
Flexible and Real-Time Stream Processing with Apache FlinkFlexible and Real-Time Stream Processing with Apache Flink
Flexible and Real-Time Stream Processing with Apache Flink
 
Capital One Delivers Risk Insights in Real Time with Stream Processing
Capital One Delivers Risk Insights in Real Time with Stream ProcessingCapital One Delivers Risk Insights in Real Time with Stream Processing
Capital One Delivers Risk Insights in Real Time with Stream Processing
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
Devoxx university - Kafka de haut en bas
Devoxx university - Kafka de haut en basDevoxx university - Kafka de haut en bas
Devoxx university - Kafka de haut en bas
 
Using a Fast Operational Database to Build Real-time Streaming Aggregations
Using a Fast Operational Database to Build Real-time Streaming AggregationsUsing a Fast Operational Database to Build Real-time Streaming Aggregations
Using a Fast Operational Database to Build Real-time Streaming Aggregations
 
Data on the Move: Transitioning from a Legacy Architecture to a Big Data Plat...
Data on the Move: Transitioning from a Legacy Architecture to a Big Data Plat...Data on the Move: Transitioning from a Legacy Architecture to a Big Data Plat...
Data on the Move: Transitioning from a Legacy Architecture to a Big Data Plat...
 
BDX 2016- Monal daxini @ Netflix
BDX 2016-  Monal daxini  @ NetflixBDX 2016-  Monal daxini  @ Netflix
BDX 2016- Monal daxini @ Netflix
 
Stream, Stream, Stream: Different Streaming Methods with Spark and Kafka
Stream, Stream, Stream: Different Streaming Methods with Spark and KafkaStream, Stream, Stream: Different Streaming Methods with Spark and Kafka
Stream, Stream, Stream: Different Streaming Methods with Spark and Kafka
 

More from 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 2022
StreamNative
 
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 2022
StreamNative
 
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
StreamNative
 
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 2022
StreamNative
 
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 2022
StreamNative
 
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 2022
StreamNative
 
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
StreamNative
 
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
StreamNative
 
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
StreamNative
 
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
StreamNative
 
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
StreamNative
 
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
 

More from 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...
 

Recently uploaded

国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
zoowe
 
Bài tập unit 1 English in the world.docx
Bài tập unit 1 English in the world.docxBài tập unit 1 English in the world.docx
Bài tập unit 1 English in the world.docx
nhiyenphan2005
 
Comptia N+ Standard Networking lesson guide
Comptia N+ Standard Networking lesson guideComptia N+ Standard Networking lesson guide
Comptia N+ Standard Networking lesson guide
GTProductions1
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
3ipehhoa
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
3ipehhoa
 
guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...
Rogerio Filho
 
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
cuobya
 
Understanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdfUnderstanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdf
SEO Article Boost
 
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdfMeet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Florence Consulting
 
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
eutxy
 
Search Result Showing My Post is Now Buried
Search Result Showing My Post is Now BuriedSearch Result Showing My Post is Now Buried
Search Result Showing My Post is Now Buried
Trish Parr
 
How to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxHow to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptx
Gal Baras
 
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
keoku
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...
JeyaPerumal1
 
Italy Agriculture Equipment Market Outlook to 2027
Italy Agriculture Equipment Market Outlook to 2027Italy Agriculture Equipment Market Outlook to 2027
Italy Agriculture Equipment Market Outlook to 2027
harveenkaur52
 
2.Cellular Networks_The final stage of connectivity is achieved by segmenting...
2.Cellular Networks_The final stage of connectivity is achieved by segmenting...2.Cellular Networks_The final stage of connectivity is achieved by segmenting...
2.Cellular Networks_The final stage of connectivity is achieved by segmenting...
JeyaPerumal1
 
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdfJAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
Javier Lasa
 
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
vmemo1
 
7 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 20247 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 2024
Danica Gill
 
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
CIOWomenMagazine
 

Recently uploaded (20)

国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
 
Bài tập unit 1 English in the world.docx
Bài tập unit 1 English in the world.docxBài tập unit 1 English in the world.docx
Bài tập unit 1 English in the world.docx
 
Comptia N+ Standard Networking lesson guide
Comptia N+ Standard Networking lesson guideComptia N+ Standard Networking lesson guide
Comptia N+ Standard Networking lesson guide
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
 
guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...
 
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
 
Understanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdfUnderstanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdf
 
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdfMeet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
 
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
 
Search Result Showing My Post is Now Buried
Search Result Showing My Post is Now BuriedSearch Result Showing My Post is Now Buried
Search Result Showing My Post is Now Buried
 
How to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxHow to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptx
 
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...
 
Italy Agriculture Equipment Market Outlook to 2027
Italy Agriculture Equipment Market Outlook to 2027Italy Agriculture Equipment Market Outlook to 2027
Italy Agriculture Equipment Market Outlook to 2027
 
2.Cellular Networks_The final stage of connectivity is achieved by segmenting...
2.Cellular Networks_The final stage of connectivity is achieved by segmenting...2.Cellular Networks_The final stage of connectivity is achieved by segmenting...
2.Cellular Networks_The final stage of connectivity is achieved by segmenting...
 
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdfJAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
 
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
 
7 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 20247 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 2024
 
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
 

The Evolution of Trillion-level Real-time Messaging System in BIGO - Puslar Summit Asia 2021

  • 1. The Evolution of Trillion-level Real- time Messaging System in BIGO Zhanpeng Wu, Staff engineer at BIGO
  • 2. Agenda • BIGO Messaging System Introduction • Challenges, Opportunities, and Choices • Typical Application Scenarios • High Throughput Event Tracking System • Lightweight Traffic Balancing in DevOps • High Performance Catch-up Read in Machine Learning Tasks • Conclusions • Future Work
  • 3. BIGO Messaging System Introduction
  • 4. Development Timeline 2019 Pure Open-source Kafka Solution BIGO Messaging System Introduction 2021 5+ Pulsar Production Clusters 2022 Switch to Pulsar on A Large Scale 2020 Introduced Pulsar for the first time
  • 5. Messaging System Platform BIGO Messaging System Introduction APPs Event Data Realtime Service Data RecSys Biz Ad Monitoring DB Bin-log Data SQL KV Others Streaming System Distributed Storage Computation Data Warehouse Others Applications
  • 7. Challenges in Open-source Kafka Framework Rapidly growing data scale Challenges, Opportunities, and Choices 1 2 4 5 0 1 3 4 5 6 2019 2020 2021 2022 BIGO Messaging System Data Scale per Day
  • 8. Challenges in Open-source Kafka Framework • Poor scalability when encountering a sudden increase in traffic • The I/O performance is being deteriorate as the #partitions increases • Mixed reading and writing during catch-up read leading performance degradation • … Challenges, Opportunities, and Choices
  • 9. Why We Decided to Choose Apache Pulsar • Lightweight and seamless horizontal scalability Challenges, Opportunities, and Choices
  • 10. Why We Decided to Choose Apache Pulsar • Excellent read-write isolation effect provided by Apache BookKeeper • Ability to support over a million topics in production env Challenges, Opportunities, and Choices BookKeeper I/O Isolation
  • 11. Why We Decided to Choose Apache Pulsar • Multiple subscription modes for topics Challenges, Opportunities, and Choices
  • 13. High Throughput Event Tracking System Serious Difficulties: • High throughput • Huge amount of producers Typical Application Scenarios EU AS NA BE-1 BE-2 Topic-A-partition-0 Topic-A-partition-1 Topic-B-partition-0 … … … 100TB+ / 50Bil+ Msg-In per Day for one App 300K+ producers among topics for one App
  • 14. High Throughput Event Tracking System Typical Application Scenarios Pulsar ETL System Topic-A-partition-0 Topic-A-partition-1 Topic-B-partition-0 … Flink job with Pulsar Flink Connector Event-A Event-B … Data Warehouse ETL task ETL task …
  • 15. High Throughput Event Tracking System Entries from different ledgers are aggregated and written sequentially, while their offsets are kept as pointers in a ledger cache for fast lookup. Typical Application Scenarios
  • 16. High Throughput Event Tracking System Kafka V.S. Pulsar: Catch-up read under high throughput env Typical Application Scenarios Pulsar has a more efficient catch-up capability while maintaining the stability of the cluster.
  • 17. High Throughput Event Tracking System Optimization of adding a large number of producers in a short time Typical Application Scenarios https://github.com/apache/pulsar/pull/12 202 No exceptions after lock optimization even frequently reloading bundles No response to R/W due to deadlock
  • 18. Lightweight Traffic Balancing in DevOps Cluster Scaling-up in Kafka Typical Application Scenarios Data is replicated across the disks and networks
  • 19. Lightweight Traffic Balancing in DevOps Pulsar-side Balancing Typical Application Scenarios A common shedding strategy is to determine whether it needs to be balanced by comprehensively calculating multiple indicators to obtain a score
  • 20. Lightweight Traffic Balancing in DevOps Pulsar-side Balancing – Throughput-aware Shedding Optimization Typical Application Scenarios Focus on the traffic of the cluster to avoid redundant reload operations. Be aware that even if it is lightweight, frequent reload will hurt performance
  • 21. Lightweight Traffic Balancing in DevOps Typical Application Scenarios BookKeeper-side Balancing Bookies X and Y are instantly discovered by broker 2. The traffic instantly ramps up on the newly added bookies, without recopying any data.
  • 22. High Performance Catch-up Read in Machine Learning Tasks The relationship between the #partitions and the degree of parallelism (Kafka) Typical Application Scenarios Topic-A Topic-A-partition-0 Volume: ■■□ Topic-A-partition-1 Volume: ■■■ Topic-A-partition-2 Volume: ■□□ Group-1 Consumer-0 Consumer-1 Consumer-2 Consumer-3 ML Task Worker-0 Worker-1 Worker-2 Worker-3 IDLE Data Skew
  • 23. High Performance Catch-up Read in Machine Learning Tasks The relationship between the #partitions and the degree of parallelism (Pulsar) Typical Application Scenarios Topic-A Topic-A-partition-0 Volume: ■■□ Topic-A-partition-1 Volume: ■■■ Topic-A-partition-2 Volume: ■□□ Subscription-2 Consumer-0 Consumer-1 Consumer-2 Consumer-3 ML Task Worker-0 Worker-1 Worker-2 Worker-3 Dispatcher Shared Mode
  • 24. High Performance Catch-up Read in Machine Learning Tasks Ability to support huge amount of consumers (~200K+) Typical Application Scenarios With the growth of business, #consumers connected to the cluster has increased to 200K+, and consumption performance has not significantly affected.
  • 25. >>>> Message Publish Timeline >>>> High Performance Catch-up Read in Machine Learning Tasks Efficient data replay with concurrent multitasking Typical Application Scenarios Data replay for a specified time period
  • 27. • Valuable horizontal scalability in the production environment. • Thanks to the I/O isolation, message writing and catch-up reading both show the characteristics of low latency and high throughput. • Producers, consumers, and topics all have excellent capacity expansion capabilities Conclusions
  • 29. • Combining SSD and HDD to ensure read and write performance while reasonably controlling hardware costs. • Latency optimization for different R/W models (read amplification, full sequential reading, full catch-up reading, etc.). Future Work
  • 30. • Apache Pulsar Website: https://pulsar.apache.org/ • Apache Kafka Website: https://kafka.apache.org/ • https://jack-vanlightly.com/sketches/2018/10/2/kafka-vs-pulsar-rebalancing-sketch • https://bookkeeper.apache.org/distributedlog/technical-review/2016/09/19/kafka-vs- distributedlog.html • https://www.splunk.com/en_us/blog/it/comparing-pulsar-and-kafka-how-a-segment-based- architecture-delivers-better-performance-scalability-and-resilience.html References
  • 31. THANK YOU FOR WATCHING Zhanpeng Wu, Staff engineer at BIGO The Evolution of Trillion-level Real-time Messaging System in BIGO