Skip to content

Commit

Permalink
updated docs
Browse files Browse the repository at this point in the history
  • Loading branch information
CynthiaPeter committed Nov 8, 2023
1 parent 66481c1 commit 7fc93a6
Showing 1 changed file with 18 additions and 16 deletions.
34 changes: 18 additions & 16 deletions pages/docs/tutorials/message-validation-for-kafka.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ weight: 150

This tutorial will teach you how to validate messages within a Kafka-based system using AsyncAPI specifications.

Validating messages for Kafka involves defining message schemas using AsyncAPI, and then using those schemas to validate incoming and outgoing messages in your Kafka-based applications.
Validating messages for Kafka involves defining message schemas using AsyncAPI and then using those schemas to validate incoming and outgoing messages in your Kafka-based applications.

By the end of the tutorial, you should understand the importance of message validation, know how to specify message schemas using AsyncAPI, and apply validation to ensure that the messages exchanged between different components in a Kafka-based system are consistent and adhere to predefined rules.
At the end of the tutorial, you should understand the importance of message validation, specify message schemas using AsyncAPI, and apply validation to ensure that the messages exchanged between different components in a Kafka-based system are consistent and adhere to predefined rules.


```mermaid
Expand Down Expand Up @@ -42,33 +42,33 @@ graph TB

## Background context

Message validation involves checking that the messages exchanged between systems adhere to a predefined structure or schema. It helps in ensuring that the data being sent or received is accurate, complete, and in the expected format.
Message validation involves checking that the messages exchanged between systems adhere to a predefined structure or schema. It helps ensure the data being sent or received is accurate, complete, and in the expected format.

Kafka transports messages between producers and consumers, while AsyncAPI provides a contract (schema) that those messages must adhere to. Validation tools can use the AsyncAPI specifications to check whether the messages meet the criteria before they are sent or processed.
Kafka transports messages between producers and consumers, while AsyncAPI provides a contract (schema) to which those messages must adhere. Validation tools can use the AsyncAPI specifications to check whether the messages meet the criteria before they are sent or processed.

[Kafka](https://kafka.apache.org/documentation/#intro_nutshell) is a distributed event streaming platform for building real-time data pipelines and streaming apps. It's horizontally scalable, fault-tolerant, and swift.
[Kafka](https://kafka.apache.org/documentation/#intro_nutshell) is a distributed event streaming platform for building real-time data pipelines and apps. It's horizontally scalable, fault-tolerant, and swift.

[AsyncAPI](https://www.asyncapi.com/docs) is an open-source initiative that provides a specification for defining and documenting synchronous and asynchronous APIs. It acts as a contract that ensures all system components agree on the structure of messages for effective communication.


To follow this tutorial, you need:

* A knowlegde of Kafka and AsyncAPI.
* An understanding of Event driven Architectures (EDAs).

* A knowledge of Kafka and AsyncAPI.
* An understanding of Event-driven Architectures (EDAs).

There are several ways to implement message validation for
## Installation guide



## Broker-level message validation

<!---
Integrating message validation with Kafka producers
Validating outgoing messages before sending to Kafka
Validating outgoing messages before sending them to Kafka
--->
At the broker level, message validation is about ensuring that the messages sent to Kafka topics comply with a certain predefined schema. In Kafka, you can use a Schema Registry to manage and validate schemas. Also, at the broker level, ensure that only valid messages are written to the Kafka topics.
At the broker level, message validation is about ensuring that the messages sent to Kafka topics comply with a specific predefined schema. In Kafka, you can use a Schema Registry to manage and validate schemas. Also, ensure that only valid messages are written to the Kafka topics.

Define an AsyncAPI schema
Configure Kafka
Expand All @@ -86,16 +86,18 @@ Implement Validation

## Summary

Combining Kafka's robust message streaming capabilities with AsyncAPI's standardized documentation and tooling, developers can ensure that the messages being exchanged in a distributed system are validated effectively, ensuring data integrity and system reliability.
Combining Kafka's robust message streaming capabilities with AsyncAPI's standardized documentation and tooling, developers can ensure that the messages exchanged in a distributed system are validated effectively, ensuring data integrity and system reliability.


In this tutorial, you have defined and validated Kafka messages using AsyncAPI at both the broker and client levels, therefore ensuring that the messages conform to the specified schema before processing or sending them, which helps maintain data integrity, reliability, and consistency in your Kafka-based applications.

## Next steps

Now that you have completed this tutorial, go ahead to automate the validation and generation process in your continuous integration pipelines.
Now that you have completed this tutorial automate the validation and generation process in your continuous integration pipelines.

## Additional resources

<!---
Add Joy's tutorial on how to Create an AsyncAPI document for Kafka Messages using AsyncAPI
--->
Add Joy's tutorial on how to Create an AsyncAPI document for Kafka Messages using AsyncAPI.
Add Arya's Guide on message validation
--->

0 comments on commit 7fc93a6

Please sign in to comment.