【问题标题】:How do I structure the domain architecture of my web app? - practical advice如何构建我的 Web 应用程序的域架构? - 实用建议
【发布时间】:2010-10-05 22:46:49
【问题描述】:

所以我正在创建一个网络应用程序,它将为每个注册用户提供一个独特的“工作区”。此工作区应可供他们授予权限的任何人访问。

我拥有营销网站的主域,但我正在尝试弄清楚如何管理网络应用程序本身的基本域管理。

我应该购买通用域,然后使用它让用户为他们的工作区选择其中一个,并在那里创建一个唯一的子域,或者我应该如何处理?

我的网络应用是用 Rails 编写的。

【问题讨论】:

    标签: ruby-on-rails web-applications architecture subdomain multi-tenant


    【解决方案1】:

    “域”一词有几个含义 - 我假设您的意思是“域”,如 Domain Name 或 URL 中的 hostname,也称为“三级域名”(例如:www.mysite. com - 其中 mysite.com 是主机名)。

    我正在想办法 管理细节领域 网络应用本身的管理

    我之前使用过 4 级域(也称为本地主机名,例如:images.mysite.com、admin.mysite.com),但这些是通过电信公司的帮助台提供的,该服务台负责管理 A 记录我们的域名,所以这不是一个快速简单的自动化过程。

    我还看到托管公司提供基于 Web 的工具,让您自己做这件事 - 他们管理 A-Record。

    在这两种情况下,第 4 级域的管理都是手动执行的。我还没有听说过有人在已开发的应用程序中自动执行此操作 - 这显然是可能的,但绝对不是平凡的。

    我应该购买我自己的通用域名吗? 然后用于允许用户选择 其中一个用于他们的工作空间,并且 在那里创建一个唯一的子域,或者 我应该如何处理?

    这取决于。即使您托管应用程序,客户端也没有理由不能设置指向您的服务器而不是他们自己的服务器的第 4 级域;这意味着您的应用只需要寻找 4 级域,因为没有保证他们会使用您的应用“知道”的 3 级域。

    从“Studio ABC”标志中说约翰·布朗 在 mysite.com 上,我该怎么办? 给他们 studioabc.mysite.com 或 mysite.com/studioabc

    这取决于您想要实现的目标以及您对什么感到满意:

    • “mysite.com/studioabc”选项应该很容易通过您的应用自动配置,因此在某些方面更易于使用。
    • “mysite.com/studioabc”选项的一个问题是(取决于您对 Web 服务器的控制程度)您的所有文件(来自所有客户端)都将位于同一个位置 - 这将使其更多管理复杂(备份等)。
    • “studioabc.mysite.com”的配置将变得更加困难和缓慢(因为需要更改 DNS),但您的优势在于您可以根据需要将它们作为单独的站点运行。例如,如果“thebeatles.mysite.com”起飞,您可以将其移动到性能更好的不同物理 Web 服务器,但您不能轻易移动“mysite.com/thebeatles”。李>

    在这两种情况下,您的应用都将是 Multi-tenanted (除了在其他地方托管网站的情况,例如 studioXXX.mysite.com);数据访问成为一个问题 - 将客户数据分开。您可以为此采取不同的方法,请参阅Multi-Tenant Data Architecture 上的这篇文章。 (顺便说一句 - 我知道这是一篇 MS 文章,而您正在使用 Rails 工作! - 但这是一篇非常有用的文章)。

    购买通用名称是通用名称。如果您想围绕特定事物建立一个客户社区,那么请获得一个对此有意义的域名;如果您使用自己的域名,它实际上是一种广告形式。

    而不是 mysite.com, 是否应该是 obscuredomain.com 实际的网络应用程序驻留在和 因此给出的子域, 因为 mysite.com 是营销 网站。

    我认为两者都行——问题是您认为您的客户更喜欢什么?这与你的商业模式有什么关系?域名是任何在线形象(从营销方面)的重要组成部分,因为它有助于定义网站的身份和使用它的人 - 所以请谨慎选择。

    你想卖掉这个吗?如果您愿意,您希望将其构建在您乐于出售的域名上。因此,考虑到这一点,我将为您的产品/服务设置一个域名,并为您的业务提供一个单独的域名——假设您有一天想要出售该网站而不是您的业务。或者,如果网站的业务,并且您很乐意将它们作为一个整体出售,那么我会将它们全部放在同一个域名下。

    最后,您可能拥有多个域,每个域都提供不同级别的服务(并且每个域都可以挂起第四级域而不是 www):

    • www.mysite.com
    • www.mysitepremium.com
    • www.mysitecheapskate.com

    【讨论】:

    • 感谢您的反馈,但我认为您误解了我的要求。我想知道的是如何在 Web 应用端构建架构。假设“Studio ABC”的 John Brown 在 mysite.com 上注册,我该怎么办?给他们 studioabc.mysite.com 或 mysite.com/studioabc。而不是 mysite.com,而是实际 Web 应用程序所在的 obscuredomain.com 并因此提供子域,因为 mysite.com 是营销网站。我希望这是有道理的。
    • 好的,阿德里安。感谢您花时间写这篇文章。将继续探索我的选择。
    猜你喜欢
    • 1970-01-01
    • 2012-04-10
    • 2011-06-10
    • 2012-08-08
    • 2010-10-06
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多