Data Streaming Quality of Service for Kafka
David Kjerrumgaard
Peter Corless

TL;DR

With the rapid expansion of Kafka deployment models, establishing a Quality of Service (QoS) framework is crucial. The proposed solution, StreamQoS, enables dynamic performance configuration for messaging systems. This framework promises enhanced control over performance, cost, and resilience, addressing diverse user needs across various messaging platforms.

Opening

As Kafka and its ecosystem continue to evolve, ensuring consistent Quality of Service (QoS) has become a pressing challenge. With diverse deployment options and varying user requirements, the need for a standardized QoS protocol is more critical than ever. David Kjerrumgaard and Peter Corless highlight how current practices require manual oversight, lacking the automation necessary for future scalability. Their proposal for a StreamQoS protocol aims to standardize how messaging systems negotiate service levels, ensuring performance and resilience in an ever-changing landscape.

What You'll Learn (Key Takeaways)

  • StreamQoS Protocol Introduction – StreamQoS aims to create a standard negotiation process for QoS across all messaging systems, not just Kafka, allowing for better performance and cost management.
  • Dynamic Adaptability – The protocol enables messaging systems to adapt dynamically to client requirements, potentially scaling infrastructure automatically to meet specific performance metrics.
  • Enhanced Observability – With integrated observability, users can ensure that negotiated service levels are being met, providing a critical feedback loop for continuous improvement.
  • Protocol Standardization – By leveraging the Open Messaging Framework, StreamQoS promotes a universal understanding of QoS requirements, fostering interoperability among diverse systems.

Q&A Highlights

Q: How does StreamQoS handle encryption at rest, a common concern for users?
A: While some Kafka-like systems like Pulsar offer encryption at rest, StreamQoS aims to standardize these features across all systems, ensuring data security without manual intervention.

Q: What is the timeline for implementing StreamQoS across various platforms?
A: The protocol is still in draft status, and contributions from the community are essential to accelerate its adoption and refinement.

Q: How can individual organizations contribute to the development of StreamQoS?
A: Organizations are encouraged to participate in discussions, contribute code, and provide feedback to ensure the protocol meets diverse needs and accelerates its integration into existing systems.

Q: Will StreamQoS support legacy messaging systems like JMS?
A: Yes, the protocol is designed to be platform-agnostic, offering benefits to a wide range of messaging systems, including JMS, RabbitMQ, and more.

Q: How does StreamQoS facilitate the negotiation of service levels?
A: The protocol allows clients to specify their requirements, which the server can accept, reject, or negotiate, enabling a flexible and dynamic service level agreement process.

David Kjerrumgaard
Sales Engineer, Author of "Apache Pulsar in Action"

David is a Sales Engineer and former Developer Advocate for StreamNative with a focus on helping developers solve their streaming data challenges using Apache Pulsar. He has over 15 years of experience working with open source projects in the Big Data, Stream Processing, and Distributed Computing spaces. David is the author of the book Pulsar in Action.

Peter Corless
Director of Technical Advocacy, ScyllaDB

Newsletter

Our strategies and tactics delivered right to your inbox

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.