Я работаю над этим веб-приложением, используя Azure для многорегиональной архитектуры, чтобы обеспечить высокую доступность и низкую задержку для всех пользователей по всему миру.
Мои проблемы — согласованность данных, задержка репликации, надежность стратегии аварийного переключения.
Высокая задержка при репликации больших двоичных объектов. Мне нужен эффективный способ маршрутизации к ближайшему хранилищу больших двоичных объектов.
{
"$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, из-за которой возникают проблемы с согласованностью и задержкой.
Настройте RA-GRS для хранилища BLOB-объектов, но уровень репликации всегда высокий.
Я рассчитываю решить все эти проблемы.
Любая помощь с вашей стороны высоко ценится.
Пробовали ли вы Синхронизацию данных Azure SQL для репликации базы данных SQL Azure между регионами? Это может быть вариант. Если вы обнаружите, что задержка при синхронизации данных SQL и георепликации слишком велика, вам следует рассмотреть возможность использования Azure Cosmos DB вместо этого в вашей стратегии репликации данных.
Что касается учетных записей хранения, рассмотрите возможность использования Репликации объектов для блочных BLOB-объектов . Здесь вы найдете как это настроить.