Open
Description
Not all microservices are RESTful service. A common use case is read and/or write information form a queue. A simple solution (and in most case, the best solution) to retrieve data from a queue is a serverless solution like AWS Lambdas or Google Cloud Functions. But, imagine that: you must have a stream of data, and a heavy processing (more than 5-10 minutes) and this process must run in a Kubernetes cluster. In this case, you need a main process with an healthcheck (or status, or metrics) endpoint and other process listening a queue.
Steps:
- Create a Driver patter like Crypt Driver to support multiple queues systems (Redis; SQS, PubSub, Kafka, AMP, AMQP...)
- This Queue must run in a different process of main Flask application
- Update the main class Microservice to search for a Queue Resource
- Create a blueprint like Healthcheck to get information of the queue (status, pending messages, errors...)