CosmosDB change feed support for manual checkpoint

It was quite long time I wrote last post about the change feed processor. Let’s continue the series. This time, let’s look into a manual checkpoint feature. Basics Let’s refresh the knowledge. CosmosDB change feed processor SDK is a library for dispatching the document-related changes (inserts, updates) as a stream of documents. The documents can…

0

CosmosDB change feed processor 2.1 released (monitoring enhancements)

There is new version of CosmosDB Change feed processor library released, version 2.1 and two main enhancements are: Upgrade to Microsoft.Azure.DocumentDB 2.0 nuget package Extensions to the monitoring   Microsoft.Azure.DocumentDB upgrade The change feed library was built against latest SDK 2.0. Short! New SDK version brings several improvements and one of the most important change…

0

CosmosDB change feed processor – leases and work balancing strategy

The work distribution is the one of the core change feed processor features. The purpose of the change feed processor is to receive and dispatch all the documents from all partitions of the feed collection for further processing. In case of the high load, it’s necessary to scale-out the number of processors, so that the…

0

Multiple ways how to limit parallel tasks processing

I decided to write this post because I saw several implementations how to solve the following interesting exercise across several reviews last days. Exercise: Let’s have a list of items. We need to execute an asynchronous task for each of them in concurrently limited way (aka max degree of parallelism) and we need to collect…

0

CosmosDB change feed monitoring

Let’s continue in the serie of the posts focused on the CosmosDB change feed. In this post we will focus on the diagnostics. Goals After running the change feed processor we need to be sure that: the documents are processed from all partitions and the age of the documents is within the limit and the…

0

Logging in CosmosDB change feed processor

The logging is important part of any library. It’s the first thing the developers turn on in case they want to gather runtime information about the library and diagnose the issues. This post focuses on the logging aspect of the change feed processor library.   The logging integration With new version of the library, there…

0

Benchmarks of the logging with LoggerMessage

Recently, I came across the following site: High-performance logging with LoggerMessage in ASP.NET Core. It says that the logging using LoggerMessage.Define style is a high-performance logging pattern because of: boxing of arguments when using extension methods repetitive message template parsing   Fair enough, so I decided to do a benchmark comparing LoggerMessage vs Logger extension…

0

New Azure CosmosDB change feed processor released!

Introduction Microsoft Azure CosmosDB is an umbrella over different database services. One of them is the schema free database service called DocumentDB. You can read about it here, it has many great features and components. One of them is “change feed” which represents the feed of changed documents (upserts, replace) . The client component exposing…

1

Using strongly typed configuration in .NET Core console app

Imagine you write a console application and you need to read the configuration from the configuration file, in the strongly typed way. .NET core comes to help us with it. It’s usually demonstrated in ASP.NET Core MVC  but it’s also possible to use it in the console application. Let’s see. Show me it! Let’s create…

5

REST WCF vs. WebAPI (throughput performance)

 (Updated: providing more info about provided tests) Goal This post compares WCF and WebAPI technologies from the performance perspective. Service description I implemented almost same service in two different ways. Both are accessible via HTTP/REST and both works in the way to skip the serialization in order to isolate logic which could impact the performance…

6