[HN Gopher] The Reactive Manifesto
___________________________________________________________________
The Reactive Manifesto
Author : pierremenard
Score : 33 points
Date : 2021-09-03 18:26 UTC (4 hours ago)
(HTM) web link (www.reactivemanifesto.org)
(TXT) w3m dump (www.reactivemanifesto.org)
| rhacker wrote:
| Apparently I signed this 6 years ago.
| kodah wrote:
| Obviously you can't go back and ask your old self, but a
| question to the crowd: what is the purpose of signing something
| like this?
| brundolf wrote:
| > Systems built as Reactive Systems are more flexible, loosely-
| coupled and scalable.
|
| 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?
|
| 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.
| caeril wrote:
| > loosely-coupled
|
| What's really funny is that the latest fad for those running
| microservices is to go to monorepos, to make sure that all
| their APIs are synchronized, which is effectively tightly-
| coupling them again.
| JoshTriplett wrote:
| > Literally everybody trying to sell you an architecture - good
| or bad - would probably describe it as "more flexible, loosely-
| coupled and scalable". [...] If you elide or deny the existence
| of tradeoffs
|
| "loosely coupled" is a tradeoff; when I hear about an
| architecture being "loosely coupled", I assume that it allows
| substituting different components easily, but I also assume
| that it may be harder to evolve that interface and make use of
| the full capabilities on both sides. Sometimes I _want_ that
| (if I 'm looking to replace one of those components), but
| sometimes I want something more tightly integrated.
|
| Similarly, "flexible" is a tradeoff; some frameworks describe
| themselves as "opinionated" rather than "flexible".
| rhacker wrote:
| It typically means there is a message bus that receives
| events and it distributes them to various listeners,
| generically which are free to do what they want with them. I
| agree with the general premise of that, but yes, not all
| software or applications need such a super generic construct.
| [deleted]
| [deleted]
| the-dude wrote:
| One day I will write the OneManArmyManifesto. That's the one
| where you get to break all the rules. All of them. And then some.
| mirekrusin wrote:
| Great idea, here are some thoughts for real Rambo coder
| manifesto who never says never and always:
|
| * writes resilient code that is simple
|
| * embeds microservices in monolith to get the best of both
| worlds
|
| * writes only distributed code with transactional consistency
| at optimal performance without deadlocks
|
| * all systems are consistent, available and tolerate network
| partitions
|
| * distributed messaging has one-and-only-one delivery semantics
| always guaranteed
|
| * applies same architecture and principles on full spectrum of
| problems - from writing kernel code to website for local tennis
| club
|
| * webscale
|
| Applying those and only those principles will not limit you. It
| will free you from worry and improve your family life.
|
| Any seemingly contradictory statements are a sign that you
| don't yet get it. You simply have to accept them as axiomatic
| truths and you'll experience enlightement that awaits. Trust
| me. I have a website so it must be true.
| slaymaker1907 wrote:
| 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.
| mirekrusin wrote:
| I think there is a bit more than just one thing missing there.
| It looks like 3 or 4 loose thoughts poorly put together on
| single sheet of paper as a snake oil remedy to all your aches.
| You don't need to strech your imagination too much to come up
| with counter examples which would make authors unfonfortable.
| Ie one of the most performant architectures are used in
| financial exchanges, they don't look anything like whatever
| this web page describes. Pretty much nothing there applies to
| people doing machine learning, working on games, internal
| services, prototyping and more - they can and often are
| distrubuted but not in the narrowed view of the world presented
| there. Some insights like "message-driven as opposed to event-
| driven" make you question author's knowledge on the subject of
| distributed systems.
|
| Probably better to ignore and base yourself on more credible
| sources.
| mirekrusin wrote:
| This thing again [0]. Looking at historic comments the sentiment
| is not very positive.
|
| [0] https://news.ycombinator.com/from?site=reactivemanifesto.org
| the-dude wrote:
| The title needs at least (2013) or something ( @dang ) ?
| d_burfoot wrote:
| 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".
| FirstLvR wrote:
| am dumb, i read the title as Mefisto and thought are we talking
| about D2 resurrected or Marvel theory
| z0r wrote:
| 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 - https://i.imgur.com/ll51WJ3.png
| wefarrell wrote:
| Hahaha that's great!
| waynesonfire wrote:
| i don't get it.
| chriswarbo wrote:
| It's a reference to the non-sensical "time cube" theory
| https://en.wikipedia.org/wiki/Time_Cube
| try_again wrote:
| Look up "Time Cube" and prepare to indulge in a bit of insane
| internet history.
| politelemon wrote:
| This manifesto could do with some readability tweaks. The low
| contrast is not a great "design" decision.
| wodenokoto wrote:
| Can we add 2014 to the title?
|
| > Only a few years ago a large application had tens of servers,
| seconds of response time, hours of offline maintenance and
| gigabytes of data.
|
| isn't quite true for 2021
| diskzero wrote:
| 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.
| victor106 wrote:
| Spring Webflux. One of our clients uses it in production and
| are blown away by the performance they get
| rapnie wrote:
| Vert.x maybe.. https://vertx.io/
| stock_toaster wrote:
| Lagom (from lightbend) is probably one. Erlang (with OTP) might
| be another?
|
| (Or maybe I misunderstood what you were asking for.)
| diskzero wrote:
| Thanks. That is helpful. I would like to be able to be more
| informed if I am told that a software stack is reactive
| because it is using React.js.
___________________________________________________________________
(page generated 2021-09-03 23:02 UTC)