代码之家  ›  专栏  ›  技术社区  ›  Koran

未来校对客户端服务器代码?

  •  3
  • Koran  · 技术社区  · 15 年前

    我们有一个基于Web的客户机-服务器产品。客户预计将在100万以上的用户中使用(一家著名的公司将使用它)。

    我们的服务器是在云中设置的。设计中的一个主要问题是如何使整个程序成为未来的证据。说:

    1. 云提供程序关闭,然后自动移动到另一个云中的备份
    2. 全部移动到不同的服务器等

    到目前为止,我们认为的选择是:

    1. DNS:自己在云端运行一个DNS名称服务器。
    2. 目录服务器-目录服务器也位于云上
    3. 让我们的服务器将未来的移动和URL等返回给客户机,其中客户机是专门为处理这些场景而设计的

    既然这应该是一个常见的问题,那么最好的解决方法是什么?由于我们的公司是一个非常小的公司,我们正在寻找技术和财务成本最低的解决方案(比如选项3等)?

    有人能提供一些相同的指针吗?

    K

    3 回复  |  直到 15 年前
        1
  •  0
  •   James Anderson    15 年前

    我会选择目录服务器选项。它是最灵活的,能让你最大限度地控制在给定的位置上发生的事情。

    为了避免目录本身成为单一故障点,我会让其中的三个或四个使用不同的提供者运行不同的位置。让客户机应用程序在启动时随机选择一个Directoy URL,并按自己的方式浏览它们,直到找到一个有效的URL。

    为了让它真正成为未来的证据,您可能需要一个简单的协议来动态更新目录服务器列表——但是要小心,如果这个实现得不好,您的客户机将面临各种恶意欺骗攻击。

        2
  •  0
  •   Flavius Stef    15 年前

    重新。DNS:请求可以被缓存,并且更改可能需要一段时间才能自我传播(几小时到几天)。

    我会去寻找一个可以在客户机上更新的优先IP列表。如果一个IP失败,客户端将使用第二个、第三个等重试。

        3
  •  0
  •   Luke404    15 年前

    我不确定我100%理解你的问题,但如果我做到了,归根结底就是:如果我的服务器移动了,我的客户机怎么能找到它?

    这正是近三十年来DNS所做的。

    您可以选择的每个可能的系统都需要使用初始工作数据进行引导:目录服务器的地址、工作服务器的地址以获取更新的地址列表等。这就是根DNS服务器的用途,操作系统供应商将为您执行引导部分。

    当然,DNS查询可以缓存,这就是它应该如何工作,以及它如何扩展到Internet大小。您可以控制缓存(阅读TTL),并且通常可以将其保持在正常值上(将其保持在比将服务器重新部署到其他地方所需的绝对最短时间更短的时间是没有意义的)。

    推荐文章