TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: Are Service Meshes an Antipattern?

4 点作者 aashishkoirala超过 5 年前
Service mesh solutions like Istio and Linkerd are gaining a lot of traction in the industry. However, it seems to me like they are predicated on what I always though was a microservices antipattern i.e. a synchronous chain of microservices calling each other (as opposed to the prescribed "right way" i.e. all inter-service communication is asynchronous through some sort of messaging). I am hesitant to outright dismiss them looking at the hype and adoption. What am I missing here, are they just helping people make their mistakes more easily?

2 条评论

williamallthing超过 5 年前
Because every system that needs to return a response within N ms (which is pretty much every app, service, API call, etc) ends up being implemented with synchronous calls, with messaging only used for truly offline bits. There&#x27;s a good writeup of why here: <a href="https:&#x2F;&#x2F;programmingisterrible.com&#x2F;post&#x2F;162346490883&#x2F;how-do-you-cut-a-monolith-in-half" rel="nofollow">https:&#x2F;&#x2F;programmingisterrible.com&#x2F;post&#x2F;162346490883&#x2F;how-do-y...</a> , with this great quote: &quot;In practice, a message broker is a service that transforms network errors and machine failures into filled disks&quot;.<p>(I used to work at Twitter, which went through this same transformation, but if you watch tech talks from pretty much any other modern company that it building a big distributed system, you&#x27;ll see the same pattern.)
评论 #20972969 未加载
streetcat1超过 5 年前
Most of the ideas of the service mesh came from Netflix. You should watch the orignal netflix lectures.<p>You are confusing the enterprise service bus architecture and micro service architecture.<p>Async architecture is not always the right answer. If you need it, than the recommended architecture is to use a center event log (i.e. kafka) and feed all the services from it.