Streaming, event processing and batch processing are popular technologies and often misused as a better "RPC".
In this workshop we will focus on killer use cases, as well as planning, architecting and designing streaming, messaging, batch / microbatch systems.
Java EE / Jakarta EE / MicroProfile knowledge (I will use Java EE concepts to explain streaming and messaging).
- What is "event-driven"?
- Messages vs. Events / JMS vs. Kafka
- Reactive programming with event streams and "traditional" MicroProfile APIs
- Why streaming will significantly impact your architecture
- Events, transactions and consistency
- Dealing with XA / 2PC
- Streams vs. Tables
- Thinking in events
- MicroProfile Reactive Stream Operators
- MicroProfile Reactive Messaging
- CQRS architectures
- Apache Kafka with / vs. MicroServices
- Java 8+ streams vs. streaming
- From batches, microbatches to streaming
- Event stream processing and integrations
- Possible Machine Learning integrations
- Kafka Consumers / Producers, Streams and KSQL
- Apache Kafka, Apache Pulsar and Co.
- Apache Kafka scalability, consistency and load balancing
- Under the hood of Apache Kafka
- Kafka load balancing, HA and MicroProfile / Jakarta EE integration
- Relational DBs and NoSQL vs. persistent event logs
- Change Data Capture (CDC)
- Debezium and DB integration
- Reactive programming and stream integration
- Scalability and consistency challenges
- Clustering and replication techniques
- Integration with traditional application servers and MicroProfile runtimes
- Topics, Queues, Consistency, Transactions and Persistence
- ...and most popular questions, topics and technologies from airhacks.tv
In this advanced workshop I would like to explain the most significant features with working code and prepared examples. As a reference, you will get a GIT repository with all snippets and solutions, as well as prepared sample applications.
A developer laptop with pre-installed Java 11(+), GIT-client and Maven 3 is required to run the examples. You can run the examples if you like, or "hack" along with me, but taking notes is perfectly viable as well.
Environment requirements / prerequisites.
I/we will spend 90% of the time in code.
Feel free to contact me / register via email: workshops[-AT-] adam-bien.com