【问题标题】:Best Practice for seeing live data on the dev server?在开发服务器上查看实时数据的最佳实践?
【发布时间】:2008-11-07 17:15:23
【问题描述】:

假设:实时/生产网络应用程序抑制向最终用户显示错误。

假设您的技术支持团队希望通过应用程序的开发端查看实时数据(也许您希望查看发生了什么错误,或者希望查看何时使用最终用户的数据)。

现在我们有一个数据库同时为 dev 和 live box 提供服务(不是我的想法 - 我知道这很糟糕)。

想法?

编辑:实施您的建议的最佳/方便的工具?

【问题讨论】:

    标签: database production


    【解决方案1】:

    我们将数据复制回另一个数据库。是的,有延迟,但它使人们无法接触生产服务器。这也使我们能够“隐藏”技术支持(以及其他相关人员)不应该看到的信息。

    【讨论】:

    • @jon,我们有,但它们都是定制的。我们使用的一种商业产品是 Red Gate Sql Backup。这减少了在环境之间传输所需的时间,我们的生产服务器处于不同的状态。
    【解决方案2】:

    除了向下复制数据外,在生产中,我们还会查看谁登录了应用程序,如果是公司成员,则将他们发送到真正的错误页面,而不是快乐的小猫在玩毛线球道歉。

    【讨论】:

      【解决方案3】:

      定期(每天一次,两次)从实时备份和恢复到开发。它不需要是实时的(因为无论如何您都可能从开发端输入数据,这可能会导致问题)。

      如果您有 PCI 或 HIPAA 数据,请确保不要将其放入您的开发环境中——这可能会违反法律。

      【讨论】:

      • 数据/隐私保护政策+1。如果您确实对数据有监管限制,那么您可以生成虚假记录来填补空白。只需使用 prod 数据的“形状”即可为您提供一个真实的集合。
      【解决方案4】:

      我一般喜欢使用 3 层系统进行 Web 开发:
      发展
      测试
      直播

      大多数时候测试是实时系统的精确副本,除了打开错误,当一个新版本即将上线时,它会被替换为新版本 BEFORE live is,以检测升级问题。

      开发与实时完全分开,允许对数据库等内容进行重大更改,或对生产环境进行更改。

      【讨论】:

        【解决方案5】:

        我首先会通过电子邮件将错误发​​送给某人,其中包含用户如何到达那里的详细信息,或者至少记录下来,这样您就可以在执行类似操作时查看错误日志,看看您是否在日志中收到相同的消息。

        是的,在开发服务器/站点上复制数据库可能是您唯一的选择。您不希望开发团队对实时数据进行任何更改,而且您可能还会有一些更改在某些时候不适用于生产数据库。

        我不建议每晚进行一次复制,因为开发人员可能正在使用一些新功能,他们在其中添加了数据,然后当晚将其删除。每次发布主要版本时,我通常都会将生产数据库复制到 dev。这也让我可以使用大量实时数据进行速度测试。在某些系统上,我还将每个人的密码更改为默认密码,以便我可以以任何用户身份轻松登录。

        【讨论】:

          【解决方案6】:

          如果您的配置允许:

          一个。添加日志功能(如果还没有的话)将感兴趣的消息写入日志文件。

          b.运行unix命令

          tail -f

          这会将不断增长的日志文件流式传输到您的控制台。

          http://www.monkey.org/cgi-bin/man2html?tail

          如果你有 Windows,你可以试试这个:

          http://tailforwin32.sourceforge.net/

          【讨论】:

            猜你喜欢
            • 2010-10-02
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-07-26
            • 2013-09-02
            • 1970-01-01
            相关资源
            最近更新 更多