我正在使用 Azure 开发此 Web 应用程序以实现多区域架构,以确保全球所有用户的高可用性和低延迟。
我的问题是数据一致性、复制滞后、稳健的故障转移策略。
复制 blob 的延迟很高,我想要有效的方法来路由最近的 blob 存储。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Sql/servers",
"apiVersion": "2019-06-01-preview",
"name": "myPrimarySqlServer",
"location": "West US",
"properties": {
"administratorLogin": "sqladmin",
"administratorLoginPassword": "password"
}
},
{
"type": "Microsoft.Sql/servers/databases",
"apiVersion": "2019-06-01-preview",
"name": "myPrimaryDatabase",
"location": "West US",
"dependsOn": [
"[resourceId('Microsoft.Sql/servers', 'myPrimarySqlServer')]"
],
"properties": {
"collation": "SQL_Latin1_General_CP1_CI_AS",
"maxSizeBytes": "2147483648",
"sampleName": "AdventureWorksLT"
}
},
{
"type": "Microsoft.Sql/servers/databases",
"apiVersion": "2019-06-01-preview",
"name": "[concat('myPrimarySqlServer', '/myPrimaryDatabase/replica')]",
"location": "East US",
"dependsOn": [
"[resourceId('Microsoft.Sql/servers/databases', 'myPrimarySqlServer', 'myPrimaryDatabase')]"
],
"properties": {
"createMode": "OnlineSecondary",
"secondaryType": "Readable",
"partnerServer": "mySecondarySqlServer"
}
},
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2019-06-01",
"name": "mystorageaccount",
"location": "West US",
"sku": {
"name": "Standard_RAGRS",
"tier": "Standard"
},
"kind": "StorageV2",
"properties": {
"accessTier": "Hot"
}
}
]
}
我尝试使用性能路由来管理 Azure 中的流量,但需要更好的处理。
为 SQL 启用主动异地复制功能,面临一致性和延迟问题。
为 blob 存储设置 RA-GRS,但复制始终很高。
我希望解决所有这些问题。
非常感谢您的任何帮助。
您是否尝试过使用 Azure SQL 数据同步 在区域之间复制 Azure SQL 数据库?这可能是一个选择。如果您发现 SQL 数据同步和异地复制的延迟太高,那么您应该考虑在数据复制策略中使用 Azure Cosmos DB。
关于存储帐户,请考虑使用块 Blob 的对象复制。 在这里您将找到如何配置它。