6 ms·
My opinion is biased, as a core developer, but I do not think it's packed full of design patterns. Orleans and the core team are relatively unopinionated on des
by reubenbond 6y ago
My opinion is biased, as a core developer, but I do not think it's packed full of design patterns. Orleans and the core team are relatively unopinionated on design patterns that developers employ. I'm much more concerned with developers writing code which cannot perform well at scale, or which becomes unreliable at scale, where machine failures are common, than I am with whether or not something fits some set of prescribed design patterns.
- brknckspd 6y ago> I'm much more concerned with developers writing code which cannot perform well at scale, or which becomes unreliable at scale, where machine failures are common Would you mind expanding (or linking to a documentation) on how Orleans enables reliable systems? I watched this talk (https://www.youtube.com/watch?v=9OMXw0CslKE https://www.youtube.com/watch?v=9OMXw0CslKE) that uses an example web application called Smilr to demonstrate some of the features of Orleans. However, that talk doesn't really go into detail on how failures are handled. For example, in the Smilr app, each 'Event' grain is responsible for notifying an 'Aggregator' grain whenever it comes into existence (or an existing one has its updated). What happens when a call from Event grain to Aggregator grain fails? Who is responsible for retrying? Link to the code - https://github.com/benc-uk/smilr/blob/master/orleans/Grains/EventGrain.cs#L48 https://github.com/benc-uk/smilr/blob/master/orleans/Grains/...