Change Feed Cosmos DB Change Feed Common Change
Change Feed
Cosmos DB Change Feed
Common Change Feed Scenarios
Common Scenarios Event Sourcing (Microservices)
1. Retail Order Processing Pipelines Azure Functions (E-Commerce Checkout API) Azure Cosmos DB (Order Event Store) . . . Azure Functions (Microservice 1: Tax) (Microservice 2: Payment) Azure Functions (Microservice N: Fulfillment)
2. Real-time data movement Data Movement / Backup …
2. Real-time data movement
3. Materialized View Subscription. ID User. ID Create Date 123 abc Ben 6 6/17/17 456 efg Ben 6 3/14/17 789 hij Jen 4 8/1/16 012 klm Joe 3 3/4/17 … User. ID Total Subscriptions Ben 6 2 Jen 4 1 Joe 3 1
Three different ways to use the Change Feed Implementation Use Case Advantages Azure Functions Serverless applications Easy to implement. Used as a trigger, input or output binding to an Azure Function. Change Feed Processor Library Distributed applications Ability to distribute the processing of events towards multiple clients. Requires a “leases collection”. SQL API SDK for. NET or Java Not recommended Requires manual implementation in a. NET or Java application.
Lease collection
Change Feed Processor Library – Behind the scenes • Spin up instances of the processor as needed • Each host has consumers = observer to implement • Each host assigns itself leases on partitions to monitor • On each change, logic in consumers gets triggered • 1 lease collection stored in Cosmos DB
Change Feed Processor – Interface Implementation
Change Feed Processor - Registration
Azure Cosmos DB Change Feed Summary
- Slides: 15