Prev Next

Integration / Apache Pulsar Interview questions

Explain the lifecycle of a message in Pulsar from produce to acknowledge?

A producer connects to the broker currently owning the target topic (discovered via a lookup against the metadata store) and sends a message, optionally batched with others and assigned a sequence ID for deduplication.

The owning broker validates the message against the topic's configured schema, applies routing (for partitioned topics), and forwards the entry to a BookKeeper ensemble, waiting for the configured ack quorum of bookies to durably confirm the write before acknowledging success back to the producer.

Once durably stored, the message becomes available to every active subscription on the topic; the broker dispatches it according to each subscription's type, pushing it to the appropriate connected consumer(s).

A consumer processes the message and sends an acknowledgment back to the broker, which advances that subscription's cursor position (itself persisted, via a managed ledger) so the message is no longer part of that subscription's backlog; if left unacknowledged, it remains eligible for redelivery.

Once every subscription on the topic has acknowledged a message and the configured retention window (if any) allows it, the message becomes eligible for deletion from BookKeeper, or for offload to tiered storage if it's aged past the offload threshold instead.

sequenceDiagram
  participant P as Producer
  participant B as Broker
  participant BK as BookKeeper ensemble
  participant C as Consumer
  P->>B: Publish message (lookup + send)
  B->>BK: Write entry to ledger
  BK-->>B: Ack quorum confirms durable write
  B-->>P: Publish acknowledged
  B->>C: Dispatch per subscription type
  C-->>B: Acknowledge
  B->>B: Advance subscription cursor
The producer's write is acknowledged as durable once:
A message is only eligible for deletion once:

More Related questions...

What is AppDynamics? Explain about Apache Pulsar. What is Apache Pulsar? What is a Pulsar broker? What is Application Performance Monitoring (APM)? What is Apache BookKeeper? What are the core components of the AppDynamics platform? What is the Controller in AppDynamics? What are tenants and namespaces in Pulsar? What is an App Agent in AppDynamics? What is a topic in Pulsar? What are the types of agents available in AppDynamics? What is a producer in Pulsar? What is a Business Transaction in AppDynamics? What is a consumer in Pulsar? What is a subscription in Pulsar? What is a Tier in AppDynamics? What is a Node in AppDynamics? Define a partitioned topic in Pulsar? What is Pulsar's metadata store used for? What is a Business Application in AppDynamics? What is the Application Flow Map? What are Pulsar Functions? What is a Health Rule? What is Pulsar IO? Describe geo-replication in Pulsar? What is a Policy in AppDynamics? What is tiered storage in Pulsar? What is a Transaction Snapshot? What is a non-persistent topic in Pulsar? Define baseline in AppDynamics? What is the Machine Agent used for? What are the subscription types in Pulsar? What is End User Monitoring (EUM)? What is message retention in Pulsar? What is Database Visibility in AppDynamics? What is schema registry in Pulsar? List the core components of a Pulsar cluster? What are Backends in AppDynamics? Describe the Metric Browser in AppDynamics? How do you create a topic in Pulsar? What is the difference between a Tier and a Node in AppDynamics? What is the difference between Pulsar and Kafka's storage architecture? How does Pulsar separate compute and storage? How does AppDynamics automatically discover Business Transactions? What is the difference between automatic and custom Business Transaction match rules? Why is Pulsar considered multi-tenant by design? What is the difference between Shared and Exclusive subscriptions? How does AppDynamics correlate a transaction across multiple tiers? Why is the singularityheader important in transaction correlation? How does Key_Shared subscription maintain ordering? How does AppDynamics decide when to capture a transaction snapshot? When should you use Failover subscription instead of Exclusive? What is the difference between a ledger and a segment in BookKeeper? What is dynamic baselining and how does it work? Why does the Java Agent use byte-code instrumentation? How does Pulsar achieve message deduplication? Explain the internal working of AppDynamics' byte-code instrumentation? Why do brokers in Pulsar not store data locally? What happens when a broker crashes in Pulsar? What is a Service Endpoint in AppDynamics? What is an Information Point? How does namespace bundle splitting work? What is a Data Collector in AppDynamics? What is the difference between backlog quota and retention policy? When should you use custom match rules instead of automatic discovery? When should you use a Reader instead of a Consumer? What is the difference between Slow, Very Slow, and Stalled transactions? How does topic compaction work in Pulsar? How does AppDynamics calculate Average Response Time (ART)? Why is ensemble size different from write quorum in BookKeeper? What is the difference between persistent and non-persistent topics? What is the difference between the Machine Agent and the Network Agent? What is an Adaptive Session in AppDynamics? How does Pulsar handle delayed message delivery? What is a thread dump and when does AppDynamics capture one automatically? What happens when a consumer negatively acknowledges a message? Explain the lifecycle of a message in Pulsar from produce to acknowledge? How would you troubleshoot a suspected memory leak using AppDynamics? How can you optimize Pulsar for high-throughput workloads? What are custom extensions for the Machine Agent? How do you troubleshoot a growing backlog in Pulsar? How does the Cluster Agent monitor Kubernetes environments? What is the difference between SaaS and On-Premises Controller deployments? Explain the execution flow of topic ownership failover in Pulsar? How can you optimize BookKeeper storage costs using tiered storage? How can you reduce AppDynamics agent overhead in a production environment? What is Business iQ / Analytics in AppDynamics? Explain the internal working of Pulsar transactions? Which is better for exactly-once processing: idempotent producers or transactions, and why? How does AppDynamics integrate with ITSM tools like ServiceNow or PagerDuty? How do you troubleshoot unbalanced load across brokers? What is the AppDynamics REST API used for? Explain the lifecycle of a namespace bundle from creation to split? Explain the lifecycle of an alert from health rule violation to notification? What is the difference between Warning and Critical health rule severities? How can you optimize consumer throughput with Key_Shared subscriptions? What are Instrumentation exclude rules and why would you use them? Explain the execution flow of a Pulsar Function processing a message? Explain the execution flow of a distributed transaction across microservices in AppDynamics? How do you troubleshoot message duplication in a Pulsar producer?
Show more question and Answers...


Comments & Discussions