Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

a kafka plugin for exex #8402

Closed
bowenli86 opened this issue May 26, 2024 · 3 comments
Closed

a kafka plugin for exex #8402

bowenli86 opened this issue May 26, 2024 · 3 comments
Labels
C-enhancement New feature or request S-needs-triage This issue needs to be labelled S-stale This issue/PR is stale and will close with no further activity

Comments

@bowenli86
Copy link

Describe the feature

have documented my thoughts in https://x.com/zk_bowen/status/1787248924090351944 and discussed with @gakonst

Motivation

blockchain data indexing is a common need for offchain processing and analytics. It's a common practice to ingest blocks/events into Apache Kafka, the most popular pubsub/message bus system, and then propagate the data to downstream applications. Thus it's great to have a kafka exex built for reth.

i believe transporting the logs/notification to a scalable web2 pubsub system is the most ideal way for downstream processing

  • clear separation of concerns. isolated backfill from pubsub instead of reth which won't require re-scanning reth state and cause noisy neighbor to other threads
  • richer data engineering ecosystem. with more integrations and toolings from web2. eg, connect kafka/kinesis to a data lake and, boom! you hv a ethereum dataset automatically
  • enable quick iteration. reth plugin is still static loaded (at least rn)

Scope

i think it will be of great interest to build following as exex:

core scope

  • a kafka exex that supports kafka version greater than 3.3, in semantics of exactly-once message delivery guarantee

strecth scope

  • a generelized connector framework for ExEx that keeps pushing ExEx notifcation to popular pubsub infras with sample impls like kafka/kinesis
  • a message interface and binary format of ExEx log notification which can be generically consumed and shared among modern pubsubs

Though never coded in rust, i'd love to squeeze out some time and give it a try, with help and support from reth team. Ideally i'd get a mentor from reth's exex developers

Additional context

No response

@bowenli86 bowenli86 added C-enhancement New feature or request S-needs-triage This issue needs to be labelled labels May 26, 2024
@onbjerg
Copy link
Collaborator

onbjerg commented Jun 10, 2024

imo this should probably be a separate project, ie. not mainlined, cc @gakonst

Copy link
Contributor

github-actions bot commented Jul 6, 2024

This issue is stale because it has been open for 21 days with no activity.

@github-actions github-actions bot added the S-stale This issue/PR is stale and will close with no further activity label Jul 6, 2024
Copy link
Contributor

This issue was closed because it has been inactive for 7 days since being marked as stale.

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Jul 13, 2024
@github-project-automation github-project-automation bot moved this from Todo to Done in Reth Tracker Jul 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-enhancement New feature or request S-needs-triage This issue needs to be labelled S-stale This issue/PR is stale and will close with no further activity
Projects
Archived in project
Development

No branches or pull requests

2 participants