Skip to content

[FEATURE] Updated NATS bindings #282

@YannickMeeus

Description

@YannickMeeus

Why do we need this improvement?

We are evaluating AsyncAPI as a means to document our services, our message schemas, and any relevant NATS topology information. I initially got excited in seeing a specific NATS binding within the specification but found it outdated, and lacking in breadth and depth.

It specifies a queue field, which in and off itself is already a secondary artifact within NATS instead of a first-class citizen and rarely if ever useful unless an implied meaning is attached to it within the organization itself.

For example, if using Jetstream streams one could associate an outbound stream name with the queue field and that could suit our purpose. But that feels opaque.

Are there any plans to expand the NATS binding in the near future?

How will this change help?

  1. Clarity and ease of use for NATS documentation
  2. Expanding the bindings design should help broader industry adoption

Screenshots

No response

How could it be implemented/designed?

The approach would be one of consistency. Evaluating the level of detail that is documentable for other, more mature bindings, and applying the same rigor or approach to NATS seems the most sensible approach.

We would be open to contribute a draft. We are early on in our event-driven architectural pivot, and are not yet adopters of AsyncAPI so there will be a gap in understanding that we would need maintainers to help us bridge.

🚧 Breaking changes

No

👀 Have you checked for similar open issues?

  • I checked and didn't find a similar issue

🏢 Have you read the Contributing Guidelines?

Are you willing to work on this issue?

Yes I am willing to submit a PR!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions