Websocket 构建实时服务器的技术有哪些?
我是一名后端开发人员,我想知道构建实时服务器的常用技术是什么。我知道我可以使用像Firebase这样的服务,但我真的很想创建它。我有一些在Java上使用WebSocket的经验,但我想知道更多实现实时服务器的方法。当我说实时时,我指的是Facebook之类的东西。我还想知道如何扩展实时服务器Websocket 构建实时服务器的技术有哪些?,websocket,server,real-time,Websocket,Server,Real Time,我是一名后端开发人员,我想知道构建实时服务器的常用技术是什么。我知道我可以使用像Firebase这样的服务,但我真的很想创建它。我有一些在Java上使用WebSocket的经验,但我想知道更多实现实时服务器的方法。当我说实时时,我指的是Facebook之类的东西。我还想知道如何扩展实时服务器 谢谢大家! Butterfly Server.NET是一个用C#编写的实时服务器,允许您创建实时应用程序。你可以在上看到来源。我已经在多个论坛上问过同样的问题。这个问题的共同答案仍然很奇怪: 但这
谢谢大家! Butterfly Server.NET是一个用C#编写的实时服务器,允许您创建实时应用程序。你可以在上看到来源。我已经在多个论坛上问过同样的问题。这个问题的共同答案仍然很奇怪:
如何仅向每个客户端发送他们需要的事件
如何处理事件的授权
在何处保存事件订阅的状态(对于无状态服务)
如何从因连接丢失和服务崩溃而错过的事件中恢复
为搜索或分页查询生成事件
如何缩放 发布/订阅解决方案 有多种发布/订阅解决方案,例如:
对于Resgate,这不是必需的,因为资源数据也是通过WebSocket连接获取的。这使得Resgate不仅可以确保资源数据和事件同步(另一个问题是单独的发布/订阅解决方案),而且还可以缓存数据。如果多个客户端请求相同的数据,Resgate只需从服务中获取一次,有效地提高了可扩展性。谢谢@ANisus!我不明白为什么要投否决票。你的问题是正确的;寻求普通技术(而不是最好的技术)会减少竞争,而答案其实并不那么容易找到。我去过你现在的地方!:)除了我的回答,我知道Facebook部分使用GraphQL,但该解决方案主要关注于查询,而不是实时更新-他们的订阅模式有一些。@RenanGeraldo顺便说一句,Resgate代表资源订阅网关,但在巴西,我被告知它意味着“救援”。对吗?:)我已经在使用WebSocket了。这样扩展应用程序的最佳方式是什么?我在网上找不到多少信息。这是我找到的最好的教程,它解释了需要使用Publisher/Subscribers。这是最好的方法吗?@RenanGeraldo我在答案中添加了一个缩放部分。主要是如何使用Resgate进行缩放,但我想其他选项也会采用类似的方法。是的。您需要某种订阅;)。如果您有任何问题,可以在引用的博客文章中找到我的电子邮件。