title |
---|
Elements of Messaging and Eventing Platforms |
This document provides a brief overview of the essential elements of a messaging and eventing platform and how they relate to each other.
<?xml version="1.0" encoding="UTF-8"?> | |
<catalog xmlns="https://cncf.io/messagecatalog/2022-02" | |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
xmlns:xlink="http://www.w3.org/1999/xlink"> | |
<!-- | |
This document defines an assumed AMQP binding for a subset of the ISO20022 ATM exchanges for illustrative purposes. | |
The XSD schema collection is assumed to be located in a folder/resource "catp" in relative to where this document is stored. |
{ | |
"specversion": "0.1", | |
"$schema": "http://cloudevents.io/schemas/messagecatalog.json", | |
"groups": { | |
"purchase-order-messages": { | |
"format": "AMQP", | |
"description": "Messages for purchase order processing.", | |
"definitions": { | |
"purchase-order": { | |
"authority": "contoso.com", |
{ | |
"specversion": "0.1", | |
"groups": { | |
"Microsoft.Storage.Blobs": { | |
"id": "Microsoft.Storage.Blobs", | |
"authority": "microsoft.com", | |
"format": "CloudEvents", | |
"description": "This message group defines messages for the Azure Blob Storage Service", | |
"definitions": { | |
"Microsoft.Storage.BlobCreated": { |
using System; | |
namespace event_hubs_latency | |
{ | |
using System.Collections.Concurrent; | |
using System.Diagnostics; | |
using System.Linq; | |
using System.Threading; | |
using System.Threading.Tasks; | |
using Azure.Messaging.EventHubs; |
This document defines a mechanism to establish multiplexed, platform-level information flow between the tenant scopes of different, multitenant platform-as-a-service (PaaS) or software-as-a-service (SaaS) systems. In particular, this specification introduces the concept of a tenant-bridging “channel” that is established as a communication link between the tenants of two cooperating platforms. While the mechanism defined here is quite simple, the solved problem requires quite a bit of context setting:
The "cooperating platforms" are commonly from different cloud service vendors and are addressing different customer scenarios. Examples might be enterprise resource planning (ERP) on one side and general-purpose application hosting on the other. A scenario to enable might be for the ERP system to be easily extensible with event-driven serverless functionality hosted on the other platform.
In such a scenario, it will likely be the same customer organization who is a te
# Apache Qpid Dispatch Router Copy Route for Azure Service Bus | |
router { | |
mode: standalone | |
id: 92787282663929288982 | |
workerThreads: 4 | |
} | |
log { | |
module: DEFAULT |
{ | |
"openapi": "3.0.2", | |
"info": { | |
"title": "AMQP Management", | |
"version": "1.0" | |
}, | |
"components": { | |
"schemas": { | |
"discovery-document": { | |
"type": "object", |
{ | |
"openapi": "3.0.2", | |
"info": { | |
"title": "AMQP Management", | |
"version": "1.0" | |
}, | |
"components": { | |
"schemas": { | |
"discovery-document": { | |
"type": "object", |
The explantion below is taken out of the context of an internal email exchange, and while we already have product documentation about this topic, this also seemed worth sharing. The email context stated that the customer asked for string First-In-First-Out (FIFO) assurances, but without any specifics about their scenario. Scenarios for hard FIFO requirements are not very common, I might add:
"It’s usually helpful to ask the customer back on exactly why they want they want true in-order delivery, i.e. FIFO, and then look at the use-case.
Service Bus has a specific feature for helping with order assurances, namely Sessions.
Order preservation requires a grouping criterion for the sequence you need ordered, and it needs a mechanism that ensures that messages are delivered to a receiver in that order. That includes not only that the sequence sorting is observed, but that also that no messages go missing b