> Systems built as Reactive Systems are more flexible, loosely-coupled and scalable.<p>I'm so weary of this kind of language. Literally everybody trying to sell you an architecture - good or bad - would probably describe it as "more flexible, loosely-coupled and scalable". Not to mention the open question: relative to what? Average? Every other possible approach? The approach currently seen as dominant?<p>I just wish people would skip the pageantry and go straight to the benefits/tradeoffs. If you elide or deny the existence of tradeoffs, that's only going to deepen my skepticism even further.
i made this diagram in reaction to this manifesto 8 years ago but unfortunately it doesn't apply as well to version 2.0. still, i'd like to share it again - <a href="https://i.imgur.com/ll51WJ3.png" rel="nofollow">https://i.imgur.com/ll51WJ3.png</a>
One thing that I think is missing here is to have high quality error messages, both in terms of machine and human readability. As systems grow larger, it becomes more and more infeasible to triage issues correctly without machine readability. Human readability of errors is critical for pretty much any system at any scale.
This thing again [0]. Looking at historic comments the sentiment is not very positive.<p>[0] <a href="https://news.ycombinator.com/from?site=reactivemanifesto.org" rel="nofollow">https://news.ycombinator.com/from?site=reactivemanifesto.org</a>
> These changes are happening because application requirements have changed dramatically in recent years. Only a few years ago a large application had tens of servers, seconds of response time, hours of offline maintenance and gigabytes of data. Today applications are deployed on everything from mobile devices to cloud-based clusters running thousands of multi-core processors. Users expect millisecond response times and 100% uptime. Data is measured in Petabytes. Today's demands are simply not met by yesterday’s software architectures.<p>Is this true? There are surely more companies than before, but is most of the programming done for applications like this? I always thought that at any point in time, the vast majority (~70%) of developers are working on internal applications with users ranging from a few to a few thousands. Is there any hard data on this?
Are there any examples of this manifesto being implemented in a holistic way? I am trying to understand the bigger pictures as most of what I understand as reactive show up as user interface libraries.
Can we add 2014 to the title?<p>> Only a few years ago a large application had tens of servers, seconds of response time, hours of offline maintenance and gigabytes of data.<p>isn't quite true for 2021
I don't think it's widely appreciated how vastly diverse and multifaceted the world of software engineering really is, and how that enormous diversity blows up any notion of one-size-fits-all. "Best principles for application design" seems almost as silly as "best principles for thought".
Good luck debugging that crap when you’re woken up at 2am by a page. Even magnificent Java stack traces won’t help. You’ll be stuck in “how the hell did we end up here”