Communications and data caching #26
Labels
🤷 good first issue
Good for newcomers
❗ priority: high
🌊 proxy plugins
Issue or pull request related to our Flamecord/Waterfall plugins
💜 purpur plugins
Issue or pull request related to our Purpur plugins
😴 rest
Issue or pull request related to the REST modules
🔒 security
Issue or pull request for security improvements
🏗️ structuring
This issue or pull request is related in how we can improve the project structure
Communications and data caching
Table of contents:
Summary
We need to find out a good solution for communication between modules, servers and a good way to cache data and keep it always up-to-date.
The proposed solution
RabbitMQ
RabbitMQ is the most widely deployed open source message broker. It is probably the most robust solution for this problem.
Sockets
A alternative to RabbitMQ would be creating our own message broker implementation through TCP sockets. The reason why TCP is better for this specific scenario is because it has lost packet retransmission features, and we wouldn't want to have losses in communications.
Communications-based caching
The communications-based caching is a technique for always having data up-to-date. It would work in the following process:
Reference
Final considerations
Suggestions are appreciated for new sections in this issue, or if you have a better idea about how to improve our communications or/and data caching structure, feel free to let us know about it by commenting down below. Thank you for the attention.
The text was updated successfully, but these errors were encountered: