"sharing subscriptions/publishes" 是什么意思?
What means "sharing subscriptions/publishes"?
我正在尝试理解文档的 following 部分。
Please note: By default graphql-subscriptions exports an in-memory (EventEmitter) event system to re-run subscriptions. This is not suitable for running in a serious production app, because there is no way to share subscriptions and publishes across many running servers.
共享 subscriptions/publishes 是什么意思,在哪些情况下我可能需要在生产中使用它?
在生产环境中,您通常需要 运行 在不同服务器上的多个实例以提高弹性。这样,单个服务器故障不一定会影响可用性。随着您的业务和对服务器的资源需求的增长,通过添加更多服务器来横向扩展通常比向单个服务器添加更多资源更容易且更具成本效益。
基本 PubSub
实现创建的 EventEmitter 与单个进程相关联。没有办法在多个进程之间共享它们的使用,更不用说不同的服务器了。因此,如果您 publish
某事,应用程序 运行ning 在不同的进程或服务器上将不会收到该事件的通知。另一方面,如果您使用 PubSub 的 Redis 实现(或几乎任何其他实现),那么 Redis 将充当您的应用程序实例的“中间人”——每个应用程序将向 Redis 发布事件并订阅对其进行更改。
我正在尝试理解文档的 following 部分。
Please note: By default graphql-subscriptions exports an in-memory (EventEmitter) event system to re-run subscriptions. This is not suitable for running in a serious production app, because there is no way to share subscriptions and publishes across many running servers.
共享 subscriptions/publishes 是什么意思,在哪些情况下我可能需要在生产中使用它?
在生产环境中,您通常需要 运行 在不同服务器上的多个实例以提高弹性。这样,单个服务器故障不一定会影响可用性。随着您的业务和对服务器的资源需求的增长,通过添加更多服务器来横向扩展通常比向单个服务器添加更多资源更容易且更具成本效益。
基本 PubSub
实现创建的 EventEmitter 与单个进程相关联。没有办法在多个进程之间共享它们的使用,更不用说不同的服务器了。因此,如果您 publish
某事,应用程序 运行ning 在不同的进程或服务器上将不会收到该事件的通知。另一方面,如果您使用 PubSub 的 Redis 实现(或几乎任何其他实现),那么 Redis 将充当您的应用程序实例的“中间人”——每个应用程序将向 Redis 发布事件并订阅对其进行更改。