iris-connect / eps

Our endpoint system (eps) that manages and secures the communication between different actors in the IRIS connect ecosystem. Think of it as a distributed service mesh router as well as a decentralized message broker. Still evolving, use with caution.
https://iris-connect.github.io/eps/docs/
GNU Affero General Public License v3.0
12 stars 2 forks source link

SQL instead of file databases #13

Closed lucky-lusa closed 3 years ago

lucky-lusa commented 3 years ago

We should change the file databases used so far to real SQL databases (preferably Postgres or a general implementation). This way we can ensure that the services scale horizontally and can be operated in parallel.

adewes commented 3 years ago

Is Redis acceptable here as well? The data store basically just stores binary blobs, using a SQL database would increase the complexity as we'd need to define a schema and ensure it's up-to-date using migrations. Redis seems better suited to this since it's schema-less and well-suited for storage of binary data.

lucky-lusa commented 3 years ago

We can also use the file system if you tell me what the requirements are to be able to run multiple instances in parallel with the same file.

adewes commented 3 years ago

No worries, I have now implemented a Redis server as an alternative to the file store, we can still implement other data stores (the interface is very simple so it's quick to do). We can run multiple instances on the same file but only if the underlying file system supports atomic appends, which is not the case for most network file systems though.