In this liveProject, you’ll use the Kafka distributed streaming data platform to help convert a legacy order fulfillment system to a sleek new asynchronous event-driven architecture. This architecture needs to deliver services that can scale and evolve independently, to speed up your clients eCommerce app. You’ll use the Go language to build a microservice, an event publisher, and multiple event consumers; and work with Kafka’s command-line tools to create, alter, and test topics.
This project is designed for learning purposes and is not a complete, production-ready application or solution.
This liveProject is for software engineers looking to gain working experience with Kafka and asynchronous event handling. To begin this liveProject, you will need to be familiar with:
- Intermediate Go, min. version 1.15
- Basic command line tools
- Intermediate microservices design
- Basic synchronous and asynchronous communication patterns
you will learn
In this liveProject, you’ll get hands-on experience of asynchronous event handling concepts and learn how to incorporate error handling. When you’re done, you’ll be able to identify future opportunities for asynchronous event handling and be able to build loosely coupled and highly cohesive microservices.
- Creating, publishing, and consuming Kafka topics
- Building RESTful microservices
- Interacting with Kafka using the command-line
- Publishing events to Kafka
- Consuming events from Kafka topics programmatically in Go
- Leveraging asynchronous communication patterns across independent services and consumers
- Evaluating the performance of the system with KPIs