An Azure NoSQL database service for app development.
On the SLA part first: replication to a vCore replica is asynchronous. Writes on the primary are confirmed without waiting for the replica, and the replication docs don't give a lag SLA or RPO. Lag grows under heavy write load and shrinks when the replica keeps up, so for batch jobs you should plan for "eventually consistent, usually close".
For monitoring, I'd combine the platform view with a direct measurement from your app:
- Platform view: Microsoft's replication troubleshooting guide says to check current replication lag on the Metrics page of the replica cluster. Open the replica (not the primary) in the portal, go to Metrics, and pin whatever replication or lag metric it offers to a dashboard with an alert rule.
- Heartbeat measurement: Have a small job in AKS write a document like
{ _id: "heartbeat", ts: <now> }to the primary every few seconds. - Read that same document from the replica connection string and compute
now - ts. That's your real lag as your batch jobs see it. Send it to Application Insights or Prometheus. - Alert when the heartbeat lag stays above the freshness your batch jobs can tolerate.
- If lag stays high under load, scale up the replica tier so it can apply writes faster.
How fresh does the data on the replica need to be for your batch jobs: seconds or minutes?
If this gives you the visibility you need, please consider accepting it as the answer. If the replica's Metrics page doesn't show any lag metric, let me know and I'll be happy to keep helping.
Reference: