gpt4 book ai didi

facebook - AppSync/Graphql 多个订阅或多个 id 的一个订阅?

转载 作者:行者123 更新时间:2023-12-03 17:14:08 25 4
gpt4 key购买 nike

问题 :
我们正在尝试使用 AWS 产品 AppSync 制作聊天应用程序,我们希望获得最佳性能,但我们在 AppSync 和 Graphql 中面临实时订阅问题,在某些情况下,单个用户需要处理数百个订阅,我们认为不是最好的解决方案,你有什么建议?

问题示例:

Mutation{
addMessage(conversation_id=Int!, content:String!) : Message
}
Subscription{
subscribeForNewMessages(convesration_id: Int!):Message
@aws_subscribe(mutations: ["addMessage"])
}

这种设计的问题是用户需要调用这个订阅并继续监听每一个对话,如果对话数量很大,我们预计这会让客户端不堪重负。

问题 :

Q1:
我们正在努力实现的是一个订阅多个(conversation_id),这怎么可能?
这些人 ( https://github.com/apollographql/apollo-client/issues/2633) 正在谈论类似的事情,我们对其进行了测试,但它不起作用,这是一个有效的解决方案吗?

Q2:
关于放大;在同时收听数百个订阅时,amplify 会表现良好吗?它会进行某种合并订阅和 websockets 还是会单独处理它们?

问题 3:
您对这些设计有何评论?那里将有一项服务将广播(使用客户端 ID 调用突变)聊天参与者的消息,并且客户端将仅订阅单个 channel 。如下所示:
src2 : AWS AppSync for chatting application
src2 : Subscribe to a List of Group / Private Chats in AWS AppSync

最佳答案

第一季度/第二季度

您必须进行多个订阅,并且 aws ios/android/amplify sdks 可以处理订阅握手协议(protocol)以实时更新数据。

看看here

第三季度

我建议允许客户端订阅特定 channel (即使这意味着多个订阅),以便过滤逻辑可以在服务而不是客户端完成,减少客户端代码,这也意味着您不必担心维护或可扩展性。

关于facebook - AppSync/Graphql 多个订阅或多个 id 的一个订阅?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55225257/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com