node.js - 为事件驱动架构选择正确的协议(protocol)。

标签 node.js angular microservices webhooks event-driven-design

我有一个应用程序,它依赖于它的后端(微服务架构)。我正在尝试选择正确的协议(protocol),并且非常倾向于选择网络套接字。但自从我上次检查以来,AWS API 网关不支持它。所以这一切都被排除在外了。我以前没有使用过 WebHooks。在实现 Webhooks 时我应该考虑什么(看起来很合适)。后端(Nodejs)需要在某些事件上向应用程序(Angular)发出信号。我正在尝试权衡我的选择。 我读了这篇文章https://nordicapis.com/5-protocols-for-event-driven-api-architectures/ 。 但我想听听在可扩展性、安全性和性能方面有经验的人的意见。

最佳答案

Websockets 令人兴奋的一点是它们允许与后端进行有状态的双向通信,即:服务器不需要等待客户端 checkin 即可进行通信。

另一方面,RESTful API(我相信这是 AWS API 网关的主要目的)依赖于客户端通过 HTTP 联系 API。在这种情况下,您的客户端将启动与服务器的连接,此时服务器可以进行回复。

不过,不要让它吓跑你。这是一个非常流行的、经过实战检验的模型,您会在网上找到很多关于它的讨论。将链接文章中的选项 2 和 3 添加到此模型中。

我承认,我对 AWS 的 API Gateway 产品只是暂时熟悉,但如果您不选择 RESTful API,那么 API Gateway 可能不是最佳选择。

关于node.js - 为事件驱动架构选择正确的协议(protocol)。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53537688/

相关文章:

node.js - 使用 OAuth 通过 REST API 从 Magento 到 NodeJS

angular - 405 Method Not Allowed and "CORS header ‘Access-Control-Allow-Origin’ missing“虽然tcpdump说它正在被发送出去

node.js - Jasmine 测试 Angular 2 和 Node 不起作用

javascript - 与对象进行 Angular 异步调用?

java - light-4j:light-codegen 无法生成项目

java - 如何改善微服务之间的通信

javascript - Mongoose :findOneAndUpdate ~500k 文档

javascript - 如果我更改 Node 版本并执行 npm install,package-lock.json 中的包版本是否会更改?

node.js - Mongoose 总是插入第一个文档并跳过预保存 Hook

angular - 如何修复 Angular 11 'Option "进度”已被弃用?