Closed kreeben closed 4 years ago
@kreeben have you taken a look at xoofx/zio? Maybe it would be suitable for this purpose (file system watchers are a TODO - but it looks like a good base).
As far as replication is concerned, I think that's best left to an implementation of something like Raft. I started prototyping one on top of dotnet/orleans, but it's certainly not production ready yet. It would be a fun project to host Resin on Orleans and productionize the Raft impl.
@ReubenBond yes I read about it just the other day. It's on my watch list.
Hadn't heard of Orleans. Very interesting. I was thinking gRPC + some sort of mediation logic + some sort of load balancing but maybe this is more suitable. Tnx for the links.
@ReubenBond @kreeben
See: https://www.microsoft.com/en-us/research/publication/indexing-in-an-actor-oriented-database/
They did it on top of Orleans. I'm very interested in having a full text search based process on Orleans
I shall have a look. Thx!
This is not needed.
Today we want to be able to promise that a commit is acctually commited. We can do this by making the same promise to our clients as the file system make to us. In other words, we can write a file to disk, verify it's really there, commited and in a readable state and then we can tell our client that the scope of our promise has been fulfilled.
Later, we want to make other types of promises that the file system cannot subscribe to, e.g. we want to promise that data has been persisted not only one machine but on two and that both machines have the data in a readable state.
Thus the need for a file system abstraction layer.