gpt4 book ai didi

software-design - 自动刷新移动应用程序的高效设计

转载 作者:行者123 更新时间:2023-12-04 17:16:58 25 4
gpt4 key购买 nike

几天前向我提出了这个问题。要求是设计一个向用户提供体育内容(例如足球)的移动应用。
该应用程序将允许用户向特定团队订阅。
根据用户的团队选择,这些应用仅在用户的主屏幕上提供与该团队相关的内容。
当然,用户可以选择查看所有团队的内容(通过菜单选项)。

特别关注的是如何自动刷新用户主屏幕上的内容,并且还应考虑到用户已(或尚未)订阅特定团队。

对于最后一个问题,我提出了以下两种解决方案:

1)该应用程序可以向服务器发送微小的请求,该请求仅包含用户的标识符,用户的团队选择。根据输入请求中的团队选择,服务器将仅返回与团队相关的内容。

2)如果内容量较小并且不同团队的数量很少,则广播所有信息,然后让该应用进行必要的过滤(当然,与#1相比,效率较低)。

在论坛上分享此信息以获得其他可能的设计决策。如果这不是正确的论坛,请在评论中回答,我将在适当的论坛中发布。

谢谢

最佳答案

基本上,当您要执行自动刷新系统时,只有两种方法:

1:客户端定期发送请求。如果满足以下条件,就足够了:

  • 刷新间隔不太短
  • 您不希望您的应用程序能够为数以百万计的人运行
  • 计算结果不会花费太多

  • 只需在数据库服务器端简单地使用一些查询就可以实现这一点。当然,如果您需要更多性能,则可以具有一些中间层。

    2:从服务器推送结果:这对于正确地进行体系结构来说有点棘手,但是这里有很多优点:
  • 您仅将新数据发送给客户端
  • 性能明智,这是最​​好的

  • 但是,限制更为重要:
  • 处理连接丢失的问题会比较困难
  • 您需要捕获每个更新数据的事件,以便将刷新推送给客户端。

  • 但是,由于存在不只一种您需要这种体系结构解决方案,因此:在Javaworld中,这是最适合您的解决方案:

    JMS:Java消息服务,它是一种面向消息的中间件(MOM)。

    JMS是一种具有不同实现的规范,我个人会去使用activeMQ,它是Apache。这是一个有关此的主题: Which JMS implementation do you use?

    如果您不使用JMS,请记住以下内容: 面向Messare的中间件。 Google应该可以帮助您找到所需的东西。

    关于software-design - 自动刷新移动应用程序的高效设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37048754/

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