Project Description
A lot of workloads and scripts are relatively simple and driven by messages. The majority of the code goes towards handling incoming and outgoing messages, queuing/coordinating tasks, logging, handling authentication/authorization and etc. The actual work performed is a small function with a linear set of steps to perform.
This led us to develop Mash [1] as a set of services that are driven via a message queue (AMQP). Each service could be modified by adding/removing "plugins". For our example this was a plugin for each CSP.
To leverage this design strategy we want to take the generic service code from Mash and create a separate project that can be used as a building block to quickly stand up new services. We also want to research new ideas and/or other concepts that can be leveraged to make this new project even better.
For example Mash relies on AMQP messaging but for a simple set of chained services something like ZeroMQ [2] might be a sufficient lightweight alternative. Also, leveraging existing plugin tools such as Pluggy [3] the new project could remove the need for factories.
- [1] https://github.com/SUSE-Enceladus/mash/
- [2] https://zeromq.org/
- [3] https://pluggy.readthedocs.io/en/stable/
Goals
The goal for Hackweek is to have a working package that provides a way to easily build a message based service. Though given the timeline it will likely not be production ready.
The project will be developed on GitHub, link to follow...
Resources
- AMQP (RabbitMQ) https://www.rabbitmq.com/tutorials/amqp-concepts.html
- MQTT (RabbitMQ) https://www.rabbitmq.com/mqtt.html
- ZeroMQ https://zeromq.org/
- Pluggy https://pluggy.readthedocs.io/en/stable/
- Pop https://pop-book.readthedocs.io/en/latest/main/seed.html
Looking for hackers with the skills:
Nothing? Add some keywords!
This project is part of:
Hack Week 23
Activity
Comments
Be the first to comment!
Similar Projects
This project is one of its kind!