摘要:将内容直接上传到生产环境有什么问题吗?这不是代码更改或功能更改。只是内容编辑/添加。我们目前使用 4 台服务器来执行此操作,这有点麻烦。有关详细信息,请阅读下文。
我刚刚接手了一个具有各种特性的 SMB 网络。其中一个特性令人困惑,因为它很复杂。我敢肯定它就像鲁布·戈德堡机器一样,但我想确定一下。
我们有一个使用基于 IIS 的应用程序服务器的客户端/服务器应用程序。此应用程序服务器中介 Web GUI 和数据库连接 - 在我们的例子中,它托管在另一台服务器 (MSSQL2005) 上。有通过此应用程序上传的 .tif 文件,并以 blob 的形式存储在数据库中。还有在图像上制作蒙版的数据(以便它可以制作填充的表单)。我们还托管一个公共服务器,作为这些图像/蒙版的存储库,以便其他人不必手动创建它们。
到目前为止,你明白我的意思了吗?基本上,.tif 文件和数据从一端进入,从另一端,公众可以下载该图像/数据。
奇怪的是,我们的用户并没有将这些完成的(并经过 QA 的)图像直接上传到生产环境中,而是将它们上传到内部服务器。然后,一个进程会提取 blob 并重新创建 .tif 文件。此进程还仅提取表单所需的数据。然后,它将进入暂存服务器。此暂存服务器是生产服务器的副本,但我们从未真正使用过它的这一部分 - 除了此进程。一旦进入暂存,就会运行另一个任务,最终将图像和数据复制到生产服务器。但是,暂存服务器用于 Web 开发。如果发生某些事情,它可以中断此事件链并停止复制。
还值得注意的是,此生产服务器会定期备份,因此暂存服务器不用于灾难恢复。暂存服务器也不以任何方式公开,因此不用于冗余。它只是在那里。
更糟糕的是,这些任务似乎是使用 vbs 脚本、bat 文件和 Windows 计划任务完成的,而不是任何类型的 SQL Server 任务/触发器。
我的问题是“这一切都是必要的吗?”为什么不能在原始 SQL 服务器上设置触发器,以便在 QA 标志设置为 true 时更新生产服务器?为什么要进行所有这些复制。我遗漏了什么原因吗?
我只是想确保我做的事情是正确的,以理清我们的网络。
谢谢阅读。
答案1
我感觉到了懒惰的恶臭。我猜,在这个特定应用程序的开发过程中,某个地方出了问题。或者更确切地说,它在 Staging 中有效,但在 Production 中无效。为了让事情正常运转现在他们按照您提到的方式将临时服务器连接到生产环境。确实如此。而且由于它正常工作,所以任何人都不会费心去找出它为什么一开始不工作,然后就不管它了。
输入你。
为什么会这样?因为它有效。
它是怎么变成这样的?未知,但我猜有些东西坏了是它变成这样的主要原因。
请随意整理一下正确的方式。