【问题标题】:Need recommendations on techniques or designs for this type of web site?需要有关此类网站的技术或设计建议?
【发布时间】:2011-03-15 12:12:01
【问题描述】:

所以,我刚刚决定建立自己的梦幻体育网站。

您知道可以从您最喜欢的联赛中挑选球员的网站类型,并且取决于他们如何在您的球队中获得一定数量的积分。所有类型的联赛和运动都有梦幻球队,我相信你知道我在说什么。
我还没有适应特定的运动或联赛,因为我希望基础知识能够适应不同类型的基于团队的运动。

我自己对此有一些期望。如果您能提出其他建议,我将很高兴听到。

  • 我希望网站是动态的,并且在游戏期间会有很多访问,但除此之外几乎只有静态内容。
  • 玩家积分应在游戏过程中实时更新。
  • 我需要一个列表来显示正在玩的每场比赛以及该比赛中每个玩家的得分。它还应该显示上场时间、进球、助攻等。
  • 每个注册用户都可以实时看到自己球队的积分和球员的更新情况。
  • 我需要扩展网站,这样如果我从 1000 个团队开始,我最终可以拥有 500 万个团队。
  • 我现在可能不需要语言支持,但以后谁知道呢。

基于这些先决条件,在语言(php、.NET、drupal 或其他 cms 的)、数据库(mysql、sqlserver、xml)和其他技术方面最好使用什么?
也许我使用什么并不重要?

我想每个玩家积分的动态实时更新是我最需要帮助的地方。

提前致谢!

/尼克拉斯

已编辑
对于特定的比赛周,我可以使用包含以下数据的数组:

  • 玩家 ID
  • 播放分钟数
  • 体育特定积分(进球、助攻、点球、黄牌、最佳球员奖金)等。
  • 当前比赛周总积分

当比赛结束时,我会将这些数据添加到数据库中,并将这些数据与之前的任何比赛周相加。加上球员价值、选择该球员的球队数量等。

【问题讨论】:

    标签: database programming-languages dynamic real-time


    【解决方案1】:

    您可能不得不为您的“游戏”代码走自定义路线 - 而不是使用 CMS,尽管根据您的经验,您可能能够利用框架(例如 CodeIgniter)来加速一些你的开发时间。 这种类型的网站与语言无关,但它取决于您正在查看的实际用户数量,以及要部署的最具可扩展性的解决方案/技术集。

    您需要考虑的最大因素之一是数据模型的设计,以及它所在的平台。

    如果您想处理接近实时的更新,您将需要集中精力使数据库查询/处理尽可能高效。

    【讨论】:

    • 这就是我倾向于使用 XML 的原因。由于唯一真正的动态数据是每个玩家的点数,因此似乎没有必要每次都查询数据库。在这方面查询 XML 文件不是更快吗?或者甚至可以使用.Net's Cache 之类的东西。实际上并没有那么多动态数据要存储。
    • 这一切都取决于您将存储什么数据、XML 有多大、您将如何遍历 XML 文档等。一个经过良好调整的数据库,实现了缓存也一样好。要问的另一件事是 - 好的,您需要扩展,但现实一点,您期望有多少用户?
    • 在我的梦想中,我期待有 10 万用户,但谁知道呢。此外,一个联赛可能有 15-30 支球队,每支球队最多 40 名球员,这使得大约 1k 名球员需要更新。但是所有游戏都不是一次玩的,所以每分钟最多更新 600 名玩家。
    • 好吧,就数量而言,600 个“在线”用户并不多,如果您回来并说有 100,000 个在线用户,那么您就不必担心了。我个人会专注于让你的“游戏”工作,并使用一个体面的数据模型。如果您的网站发展壮大,如果您的设计一开始就很好,那么它应该很容易扩展。
    • “如果你回来说有 100,000 个在线用户” 这就是我说的?我说可能有 600 名球员,也就是需要更新的曲棍球或足球运动员。
    【解决方案2】:

    您没有在这里讨论的一个重要考虑因素是缓存。我确信您网站上的某些数据会在很长一段时间内保持静态(例如每周总数等),并且有些数据将非常实时(但仅在比赛日期间)。

    但是,在比赛日期间,您的流量将比非比赛日多得多,因此您会在短时间内收到大量相同数据的请求。因此,采用良好的缓存策略将为您节省大量 CPU 资源。我的想法是计算玩家的分数,然后一次缓存 1 分钟,因此每次请求特定玩家时,您都是从缓存中检索,而不是每次都重新计算。

    【讨论】:

    • 是的,我在对角线蝙蝠侠的回答中提到了这样的事情。我什至可能根本不需要使用数据库,因为没有那么多动态数据需要存储和处理。
    猜你喜欢
    • 2010-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多