The issue occurred when I have just migrated the Azure FunctionApp (FA) v1 (developed in .Net framework) to Azure FunctionApp V2 (developed in .Net Core).
In FA V1 I had an implementation of PairNameSpace
(Link) to avail the High-Availability but .Net core doesn't support PairNameSpace
.
I have gone through the Disaster-Recovery but it won't serve my High Availability purpose.
I have been through the Availability Zones but I am not convince how it works.
Could anyone please describe, how by making the namespace zone redundant achieve the high availability?
How can I test the high availability?
Solution I have implemented to the problem :-
I have use the combination of Availability Zones(Zone redundant) and custom health monitor to resolve the problem.
Availability Zones: Zone redundant will handle in case of temporary instance failure and it is within the region.Find how does AZ works.
Custom health monitoring: I have written the health monitoring timer trigger Azure function, which continuously(with some time interval) monitor servicebus namespace queue so, in case of region failure, the traffic manager will redirect the request from another region.