|
|
|
|
|
by macca321
3767 days ago
|
|
I built an CRM/CMS application where every single controller action call is event sourced. The whole application lives in memory as a single object aggregate, which gets rebuilt on startup. I started off with writing json to the file system, moved into compressing and appending to a log file, and moved into using Azure cloud tables. It's awesomely fast to respond to requests (15ms), and to add new features, but you do get interesting new problems, e.g. along the way I had to: - come up with a way of migrating events (as my storage formats changed as I improved my frameworks)
- find a good way to do fast full-text-search against in memory objects as I had no SQL or ElasticSearch infrastructure (ended up using Linq against in-memory Lucene RamDirectories)
- deal with concurrency issues in a fairly novel manner(as all users are acting against a single in-memory) I'm hoping this architecture will start to become more popular - I think we are in need of a framework equivalent to Rails to take it mainstream. |
|
I am also hoping it will become more popular as the pros seem to vastly outweigh the cons. But I think you are right about the framework. From my research it seems to be medium to large enterprises that would typically be best suited to using and developing something like kafka, and those enterprises typically would not open source their applications. So I definitely think a framework from a company who is using it as scale would be huge.
Until then, I suppose I will keep reading up and learning all I can and figure out how to implement this on a much smaller scale.