TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

The Neomonolith

20 pointsby inconshreveableover 9 years ago

5 comments

exeliusover 9 years ago
I've seen a variant of the "Neomonolith" where you run the same code base on every server, but use a proxy layer (Zuul/Apache/Nginx) to isolate specific parts of the code base on a set of servers for specific, high-traffic use cases. That way you're still only building one image, but you can still get some of the performance tuning / concurrency benefits of micro services without all the headache. Still doesn't come close to solving all the problems of the monolith, but it's another band-aid you can apply if a micro services architecture doesn't make sense...
评论 #10355693 未加载
angrowover 9 years ago
This looks very similar to Paul Hammant&#x27;s &quot;cookie cutter scaling&quot; pattern (<a href="http:&#x2F;&#x2F;paulhammant.com&#x2F;2011&#x2F;11&#x2F;29&#x2F;cookie-cutter-scaling&#x2F;" rel="nofollow">http:&#x2F;&#x2F;paulhammant.com&#x2F;2011&#x2F;11&#x2F;29&#x2F;cookie-cutter-scaling&#x2F;</a>), which I find equally baffling. Perhaps I&#x27;ve just never encountered the conditions which are favorable to it, but what I like about microservices is how they decouple every services&#x27; rate of change, and going back to lock-step deploys throws that all away.<p>&gt; In addition, with a monolith, the work of monitoring, alerting, configuration, and a local development is paid once. But with a microservice design, that cost must be paid for every service.<p>The second sentence is only true if _every service_ actually rolls its own monitoring, alerting, etc. I cannot imagine a situation like that in practice. The standardization of those things (and more, such as build and deployment pipelines) is necessary to enable microservices in the first place. It&#x27;s true that plenty of organizations committed to their microservice framework will also run some things outside of it, but I&#x27;ve never seen the ratio of things in the framework closer to 0 than 1.
foo42over 9 years ago
Developing in erlang&#x2F;elixir gives you a varient of this, in that your code is broken up into many small &quot;processes&quot; which are messaging each other even when you&#x27;re only deploying a single app to a single server. Then if you need to distribute and scale, introducing networks between the components is relatively small change (sun&#x27;s fallacies of distributed computing meaning it&#x27;s never a 0 cost change however)
zbyte64over 9 years ago
This is the missing piece for a yoeman generator I&#x27;ve been working on: <a href="https:&#x2F;&#x2F;github.com&#x2F;zbyte64&#x2F;generator-batteries" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;zbyte64&#x2F;generator-batteries</a><p>The issue I bumped into is getting &#x2F;api to talk to &#x2F;auth; OP recommends making them talk over RPC.
bryanlarsenover 9 years ago
This approach often works for third party services, too. For example, you can put a mongoconf&#x2F;mongod&#x2F;mongos triplet on every box. Your app would connect to the mongos on localhost which then forwards requests to whichever mongod happens to be master. The same approach works for redis &amp; redis_sentinel.