node.js - API网关和微服务通信
问题描述
我正在构建微服务架构,我需要沟通方面的帮助。API网关与服务通信的最佳方法是什么?我的 API 网关将是graphql apollo
服务器,服务将是REST APIs.
我应该使用 REST 与服务或某些消息系统进行通信,例如RabbitMQ ?
解决方案
您可以采用两种方式,但使用像RabbitMQ 这样的消息代理系统会给您带来负载平衡的优势。使用 HTTP REST 通信,您需要一个负载均衡器,以便将流量分配并路由到各种实例。但是对于像 RabbitMQ 这样的消息代理,代理本身就是负载均衡器。如果多个消费者同时监听同一个地址,消息将被并行传递,而不是像 HTTP 的行为那样相互阻塞。我希望我能解释清楚:)
你可以看看这篇解释优点的文章。
推荐阅读
- jquery - 推入在 jquery 中不起作用的声明列表
- flutter - 我在 android studio 中有错误(颤振)
- html - CSS动画让div在悬停时相互重叠并在之后返回位置
- google-cloud-platform - 在 GCP 中创建免费层 VM
- toit - 从浏览器访问 Toit API 和 PubSub
- symfony - 如何在 Symfony 和 Doctrine ORM 中更改一张表的字符集?
- javascript - 将函数提取到独立的 reactjs 组件中会抛出对象作为 React 子级无效(找到:[object Window])
- python-3.x - 尝试使用 Python 从 URL 下载文件时出现 HTTP 403 错误
- android - Flutter 开发工具 - 显示请求负载
- javascript - Docsify.js:函数未在 HTMLButtonElement.onclick 中定义