A conceptual 3D rendering depicting the 'Competing Consumers' model in message processing. Multiple futuristic robotic arms, representing consumers, extend towards a central, glowing digital messaging channel. This channel is overflowing with luminous data messages, illustrating a high volume of information. The robotic arms are engaged in grabbing and processing these messages, symbolizing the concepts of optimizing throughput, enhancing scalability, and distributing workload. The scene is set against a sleek, high-tech backdrop, emphasizing advanced technology and digital processing.

The Competing Consumers Pattern

Applications running in the cloud should expect to handle a large number of requests. One method of dealing with large amounts of requests is to pass them through a message broker to a consumer service that handles these requests asynchronously. This helps ensure that requests are being processed without throttling or degrading the performance of our applications. The volume of these requests can vary over a period of time. Imagine that you’re a developer for an e-commerce website....

January 15, 2024 · 5 min · Will Velida
An epic and dramatic 3D visualization of the Retry Storm antipattern in a vast digital landscape. The image showcases a colossal cybernetic storm with intense lightning strikes and powerful whirlwinds, dramatically engulfing a network of futuristic, interconnected systems. These systems are intricately designed with sophisticated geometric shapes and are overwhelmed by an extraordinary number of retry requests, far exceeding the number of stable connections, in a 100:42 ratio. The scene is set against a dark, ominous sky with vibrant electrical effects, emphasizing the catastrophic impact of the antipattern in a high-tech, cyberpunk aesthetic.

The Retry Pattern and Retry Storm Anti-pattern

When developing cloud applications, we’ll be interacting with remote services that can suffer from transient faults. Our applications need to be able to handle transient failures when trying to connect to remote services, and retry a failed operation to improve the stability of your applications. This is where the Retry pattern comes into play. N.B Transient faults are faults that include the momentary loss of network connectivity to components and services, the temporary unavailability of a service, and timeouts that occur when a service is busy....

January 15, 2024 · 7 min · Will Velida
A 3D digital illustration in wide format depicting a data management concept. In the center, a large envelope labeled 'CLAIM CHECK' radiates with a blue glow and hovers above a futuristic messaging platform, symbolizing its delivery. To the right, a cube marked 'PAYLOAD' is connected to the platform via a glowing orange data stream, representing its storage in an external service. On the left, an abstract device represents the splitting of the message into the claim check and payload. The background features a network of lines and nodes, suggestive of a high-tech data transfer system.

The Claim-Check Pattern (reference-based messaging)

The Claim-Check pattern, or Reference-Based Messaging, is a pattern where we split a large message into a claim check and a payload. The claim check is sent to our message broker and the payload will be stored in an external data store. This pattern enables us to process large messages, while preventing our message bus from being overloaded and prevent our client applications slowing down. We can also reduce costs with this pattern, but utilizing cheap storage alternatives rather than increasing the resource units used by our message broker....

January 13, 2024 · 4 min · Will Velida
Improving Azure AI Search results with semantic search

Improving Azure AI Search results with semantic search

In Azure AI Search, semantic ranking improves our searches by using language understanding to rerank search results. Semantic search is a collection of query capabilities that improve the quality of search results using text-based queries. Using semantic search we can: Improve Search Results by adding a ranking over initial search results using advanced algorithms that consider the context and meaning of the query, resulting in more relevant search outcomes. Provides Additional Information by extracting and displaying captions and answers from search results, which can be used to improve the user’s search experience....

January 4, 2024 · 10 min · Will Velida
Introduction to analyzing text with Azure AI Language Service and C#

Introduction to analyzing text with Azure AI Language Service and C#

How much text data do you produce on a daily basis? This could be in the form of an email you send to a colleague, or posts you send on social media. You may have gone to a new restaurant and given them a review online, or you could have created some documents such as contracts as part of your work. Now imagine all that data being created on a global scale....

November 22, 2023 · 15 min · Will Velida