diff --git a/courses/level101/messagequeue/further_reading.md b/courses/level101/messagequeue/further_reading.md new file mode 100644 index 0000000..3ed95ec --- /dev/null +++ b/courses/level101/messagequeue/further_reading.md @@ -0,0 +1,17 @@ +# Conclusion + +We have covered basic concepts of Message Queue. There is much more to learn and do. We hope this course gives you a good start and inspires you to explore further. + +# Further reading + +Message Queue + +[https://sudhir.io/the-big-little-guide-to-message-queues](https://sudhir.io/the-big-little-guide-to-message-queues) + +[Exactly-once message delivery](https://exactly-once.github.io/posts/exactly-once-delivery/) + +[A Fair Comparison of Message Queuing Systems](https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=9303425) + +[Task Queues](https://taskqueues.com/) + +[RabbitMQ tutorial](https://www.rabbitmq.com/getstarted.html) diff --git a/courses/level101/messagequeue/intro.md b/courses/level101/messagequeue/intro.md new file mode 100644 index 0000000..5159c17 --- /dev/null +++ b/courses/level101/messagequeue/intro.md @@ -0,0 +1,26 @@ +# Message Queue Concepts + + +## What to expect from this course + +At the end of training, you will have an understanding of what a Message Queue is, learn about different types of Message Queue implementation and understand some of the underlying concepts & trade offs. + + +## What is not covered under this course + +We will not be deep diving into any specific Message Queue. + + +## Course Contents + + +## Introduction + + +### Types of Message Queue: + +1. **general-purpose message Broker:** rabbitmq, activemq +2. **message streaming:** kalfa, rocketmq, Redis Streams, PULSAR?, AWS Kinesis stream +3. **Pub/Sub??:** GCP Pub/Sub, AWS SNS +4. **brokerless:** ex zeromq, Chronicle Queue +5. **database-as-queue** Normal people will consider it is an anti-pattern to diff --git a/courses/level101/messagequeue/key_concepts.md b/courses/level101/messagequeue/key_concepts.md new file mode 100644 index 0000000..d116a12 --- /dev/null +++ b/courses/level101/messagequeue/key_concepts.md @@ -0,0 +1,29 @@ +# Key Concepts + +Lets looks at some of the key concepts when we talk about messaging queue system + + +### Delivery guarantees + + +* **at-lesat-once-delivery** + +* **at-most-once-delivery** + +* **exactly-once-delivery** + + +### Messages ordering and parallelism + +### Fan Out / In + +### Poison Pills and Dead Letters + + +## Use case + +### Work queues + +### Publish-subscribe pattern + + diff --git a/mkdocs.yml b/mkdocs.yml index 0380273..bd3cd4d 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -53,6 +53,10 @@ nav: - Introduction: level101/databases_nosql/intro.md - Key Concepts: level101/databases_nosql/key_concepts.md - Conclusion: level101/databases_nosql/further_reading.md + - Message Queue: + - Introduction: level101/messagequeue/intro.md + - Key Concepts: level101/messagequeue/key_concepts.md + - Conclusion: level101/messagequeue/further_reading.md - Big Data: - Introduction: level101/big_data/intro.md - Evolution and Architecture of Hadoop: level101/big_data/evolution.md @@ -128,6 +132,11 @@ nav: - Continuous Delivery and Deployment: level102/continuous_integration_and_continuous_delivery/continuous_delivery_release_pipeline.md - CI/CD Pipeline - Hands-on: level102/continuous_integration_and_continuous_delivery/jenkins_cicd_pipeline_hands_on_lab.md - Conclusion: level102/continuous_integration_and_continuous_delivery/conclusion.md +- Level 103: + - IaaS + - AWS + - IaC + - Terraform - Contribute: CONTRIBUTING.md - Code of Conduct: CODE_OF_CONDUCT.md - SRE Community: sre_community.md