-
Notifications
You must be signed in to change notification settings - Fork 302
Adding CloudEvents samples for ASB and SQS #7933
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
67fff30 to
0ebe56a
Compare
63be0a2 to
68f2071
Compare
68f2071 to
e48e8db
Compare
|
|
||
| ### Envelope handling metrics | ||
|
|
||
| Various metrics track performance of the envelope handling when interoperating with external systems. The generic metrics include: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Various metrics track performance of the envelope handling when interoperating with external systems. The generic metrics include: | |
| Various metrics track envelope-handling performance when receiving messages that require envelope unwrapping, such as CloudEvents. The generic metrics include: |
|
|
||
| Various metrics track performance of the envelope handling when interoperating with external systems. The generic metrics include: | ||
|
|
||
| - Envelope unwrapping errors - how many times a single envelope handler failed to unwrap the incoming message |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| - Envelope unwrapping errors - how many times a single envelope handler failed to unwrap the incoming message | |
| - Envelope unwrapping attempts - how many times a single envelope handler attempted to unwrap an incoming message. The metric also reports whether the operation was successful or not, the envelope handler type, and the exception in case of failure |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shall we specify here the metric name: nservicebus.envelope.unwrapped?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TODO: We're not sure, yet, if this goes into 10 or 10.1
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TODO: We're not sure, yet, if this goes into 10 or 10.1
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Food for thought: Do we need a top-level Envelopes concept instead of having this in the transports folder?
|
|
||
| ### Binary Content Mode for HTTP and AMQP | ||
|
|
||
| NServiceBus supports [HTTP Binary Content Mode](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/bindings/http-protocol-binding.md#31-binary-content-mode) and [AMQP Binary Content Mode](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/bindings/amqp-protocol-binding.md#31-binary-content-mode). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| NServiceBus supports [HTTP Binary Content Mode](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/bindings/http-protocol-binding.md#31-binary-content-mode) and [AMQP Binary Content Mode](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/bindings/amqp-protocol-binding.md#31-binary-content-mode). | |
| NServiceBus supports the [HTTP Binary](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/bindings/http-protocol-binding.md#31-binary-content-mode) and [AMQP Binary](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/bindings/amqp-protocol-binding.md#31-binary-content-mode) content modes. |
|
|
||
| NServiceBus supports [HTTP Binary Content Mode](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/bindings/http-protocol-binding.md#31-binary-content-mode) and [AMQP Binary Content Mode](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/bindings/amqp-protocol-binding.md#31-binary-content-mode). | ||
|
|
||
| To recognize the CloudEvents message, fields [`id`](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#id), [`source`](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#source-1), and [`type`](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#type) must be present. The [`specversion`](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#specversion) is not required to be present or to equal to `1.0`. The field names must be encoded according to the binding specification (e.g., `ce-id` for the `id` field when using HTTP). The implementation will not attempt to deserialize the payload is the headers do not meet the requirements. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| To recognize the CloudEvents message, fields [`id`](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#id), [`source`](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#source-1), and [`type`](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#type) must be present. The [`specversion`](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#specversion) is not required to be present or to equal to `1.0`. The field names must be encoded according to the binding specification (e.g., `ce-id` for the `id` field when using HTTP). The implementation will not attempt to deserialize the payload is the headers do not meet the requirements. | |
| To recognize the CloudEvents message, the fields [`id`](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#id), [`source`](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#source-1), and [`type`](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#type) must be present. The [`specversion`](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#specversion) field is not required to be present or to equal to `1.0`. | |
| Field names must be encoded according to the binding specification (e.g., `ce-id` for the `id` field when using HTTP). | |
| The implementation will not attempt to deserialize the payload if the headers do not meet the requirements. |
|
|
||
| This section describes the configuration options. | ||
|
|
||
| ### Enabling the configuration |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| ### Enabling the configuration | |
| ### Enabling CloudEvents |
|
|
||
| ### Type mapping | ||
|
|
||
| `TypeMappings` configure how to match the incoming messages with the class definitions: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| `TypeMappings` configure how to match the incoming messages with the class definitions: | |
| `TypeMappings` configure how to match the incoming message content-type value with the class definition used in the NServiceBus message handler: |
|
|
||
| ### Enabled unwrappers | ||
|
|
||
| The `EnvelopeUnwrappers` property contains the list of enabled modes. By default, both Binary Content Mode and Structured Content Mode in Strict Mode are enabled. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Something is off with the word "mode," I cannot pinpoint it, but the first sentence doesn't read well. Should we move away from mode to something like envelope format? In which case, that first sentence would be:
The
EnvelopeUnwrappersproperty lists the enabled envelope formats.
No description provided.