Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Azure服务结构中实现数据库故障切换_Azure_Azure Sql Database_Azure Service Fabric_Failover - Fatal编程技术网

在Azure服务结构中实现数据库故障切换

在Azure服务结构中实现数据库故障切换,azure,azure-sql-database,azure-service-fabric,failover,Azure,Azure Sql Database,Azure Service Fabric,Failover,我公司的应用程序今天早上遇到数据库连接问题,导致我不得不故障切换到辅助数据库。在我们的Azure应用程序服务中,这是在配置中更改连接字符串的一个简单步骤,但是我无法找到一种不重新部署就在我们的服务结构服务上更改这些设置的简单方法 我正在考虑允许这些服务在运行时故障切换到辅助数据库的选项,但不知道“最佳实践”是什么。我有几个选择: 我可以为我管理的数据库服务器创建一个dns条目,然后在需要故障转移时将其切换到新的服务器名称 我可以在我的应用程序服务上调用某种RESTAPI,返回是否转到辅助数据库

我公司的应用程序今天早上遇到数据库连接问题,导致我不得不故障切换到辅助数据库。在我们的Azure应用程序服务中,这是在配置中更改连接字符串的一个简单步骤,但是我无法找到一种不重新部署就在我们的服务结构服务上更改这些设置的简单方法

我正在考虑允许这些服务在运行时故障切换到辅助数据库的选项,但不知道“最佳实践”是什么。我有几个选择:

  • 我可以为我管理的数据库服务器创建一个dns条目,然后在需要故障转移时将其切换到新的服务器名称

  • 我可以在我的应用程序服务上调用某种RESTAPI,返回是否转到辅助数据库


  • 还有其他想法吗?我希望尽可能无缝地将故障切换到辅助服务器,以便能够快速完成

    您是否考虑过将主数据库连接字符串和辅助数据库连接字符串放入应用程序的配置中,并编写一些代码,以便在检测到问题时自动在它们之间切换?您提供的两个选项都将人置于路径中,这意味着您的用户将经历停机,直到人解决问题为止(可能人正在睡觉,或者正在度假,或者正在度假并睡着)

    在服务结构中,应用程序(和系统)升级始终是必需的。滚动升级具有防止全局停机的优势。例如,假设您在某个时候使用错误的连接字符串更新了配置。全局配置更改可能很快也很容易,但现在您遇到了全局停机和一些不安的客户。滚动升级会在第一个升级域中捕获错误,然后回滚,因此只有一小部分应用程序会受到影响


    您可以执行仅配置的滚动升级。在这里,您可以更改您的配置,然后创建一个配置,以便只进行配置更改,而不必重新启动您的服务进程。

    只需在此处发布“我的问题”的更新。SQL Azure现在具有自动故障切换组。这是描述的

    如果我错了,请纠正我的错误,但是使用SQL Azure,如果主数据库出现问题,我无论如何都必须进行手动故障切换,因此仍然会有人参与。嗨,Vaclav,是否有任何功能可以通过powershell、explorer或类似工具动态更新配置参数?很常见的情况是,需要调整一些设置,而不必重新部署application\configuration文件,就像我们在Web.config上所做的更改一样,在发生更改时刷新应用程序。必须为此更新新版本,签入代码,等待构建和部署过程,等待我们可以通过explorer界面或powershell执行的操作,这很烦人。