Skip to content
This repository has been archived by the owner on Apr 11, 2024. It is now read-only.

[UseCase]: NATS Jetsream #162

Open
2 tasks
gedw99 opened this issue Aug 11, 2023 · 11 comments
Open
2 tasks

[UseCase]: NATS Jetsream #162

gedw99 opened this issue Aug 11, 2023 · 11 comments
Assignees
Labels
use-case Use case for the event-gateway app

Comments

@gedw99
Copy link

gedw99 commented Aug 11, 2023

Please provide the name of your company and/or project.

I check but no issues for this.

Basically it would be good if we can use NATS JetStream as well as Kafka.

The NATS API is pretty small now: https://github.com/nats-io/nats.go/tree/main/jetstream

This came out about a month ago and cleans up the API into a best practices pattern with a small consistent API.

I have not looked too deeply at the code in https://github.com/asyncapi/event-gateway to see how easy this would be yet.

Please describe your project.

Its an open source science platform, and we use NATS and want to use Async API so that the behaviours of the GUI and the Backend can be changed at runtime by users themselves.

We found the following challenges or difficulties...

We we like NATS more than Kafka because its easier to deploy.

You can also get free NATS Server on www.synadia.com if you down want to run your own NATS Server Global Cluster.
Running a Global NATS Cluster is not hard though.

https://www.synadia.com/control-plane

I don't know how hard it is to run a fault tolerant Kafka that spans many regions. SO maybe NATS is useful here too for that reason.

Overall, we think Event-Gateway solving this is...

  • A 'nice to have'.
  • A must for us and decisive on using the Event Gateway.

Is there anything else you wish to share with us?

No response

@gedw99 gedw99 added the use-case Use case for the event-gateway app label Aug 11, 2023
@github-actions
Copy link

Welcome to AsyncAPI. Thanks a lot for reporting your first issue. Please check out our contributors guide and the instructions about a basic recommended setup useful for opening a pull request.
Keep in mind there are also other channels you can use to interact with AsyncAPI community. For more details check out this issue.

@gedw99
Copy link
Author

gedw99 commented Aug 11, 2023

I see your have a loose coupling in the design as kafka-secure, so i guess a nats-secure would be the proper way to do this ?

@smoya
Copy link
Collaborator

smoya commented Aug 11, 2023

Hi @gedw99, thanks for submitting your use case.

Would you mind sharing what do you expect to integrate with AsyncAPI? What are your requirements? What do you expect from Event-Gateway to do?

Thank you!

@gedw99
Copy link
Author

gedw99 commented Aug 11, 2023

Hey @smoya

just noticed that https://github.com/asyncapi/ts-nats-template is using NATS, but then what is it calling ? I mean the gateway does not support NATS so i am a bit lost

@gedw99
Copy link
Author

gedw99 commented Aug 11, 2023

Hi @gedw99, thanks for submitting your use case.

Would you mind sharing what do you expect to integrate with AsyncAPI? What are your requirements? What do you expect from Event-Gateway to do?

Thank you!

to use Async API so that the behaviours of the GUI and the Backend can be changed at runtime by users themselves.

@smoya
Copy link
Collaborator

smoya commented Aug 11, 2023

@gedw99 the AsyncAPI Event-Gateway is a piece of software that you put between your clients and your brokers and can intercept messages and act according to use logic, for example, discarding messages with an invalid payload. I don't think it is what you need though.

just noticed that https://github.com/asyncapi/ts-nats-template is using NATS, but then what is it calling ? I mean the gateway does not support NATS so i am a bit lost

https://github.com/asyncapi/ts-nats-template is a template for the https://github.com/asyncapi/generator. The generator generates code based on your AsyncAPI document files and outputs based on a template. In this particular case, it will output a basic nodejs NATS client based on your AsyncAPI document.

to use Async API so that the behaviours of the GUI and the Backend can be changed at runtime by users themselves.

I'm not sure I understand the meaning of that GUI. Do you mean you want it to document your API? I'm happy to help pointing you to the right direction, but I will need more details about that.

@jonaslagoni
Copy link

@gedw99 the template dont care about what nats server you are using, thats defined in your AsyncAPI document or manually 😄

@gedw99
Copy link
Author

gedw99 commented Aug 12, 2023

@smoya I think i need a QuickStart example. I looked in the docs and repo but could not find one. anyone that shows stop and logic

@smoya
Copy link
Collaborator

smoya commented Aug 12, 2023

@smoya I think i need a QuickStart example. I looked in the docs and repo but could not find one. anyone that shows stop and logic

If you can't provide more details on what your project needs and what you expect from AsyncAPI tooling to provide, I'm afraid this is gonna be hard.

Copy link

This issue has been automatically marked as stale because it has not had recent activity 😴

It will be closed in 120 days if no further activity occurs. To unstale this issue, add a comment with a detailed explanation.

There can be many reasons why some specific issue has no activity. The most probable cause is lack of time, not lack of interest. AsyncAPI Initiative is a Linux Foundation project not owned by a single for-profit company. It is a community-driven initiative ruled under open governance model.

Let us figure out together how to push this issue forward. Connect with us through one of many communication channels we established here.

Thank you for your patience ❤️

@github-actions github-actions bot added the stale label Dec 11, 2023
@g41797
Copy link

g41797 commented Dec 17, 2023

gateway uses watermill-kafka
but watermill also has watermill-nats with Jetstream support
adding plug-able mechanism for proxy will solve the problem of misc. back-end providers
btw - latest non-auto update was done Sep 5, 2022
what's the status of the project?

@github-actions github-actions bot removed the stale label Dec 18, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
use-case Use case for the event-gateway app
Projects
None yet
Development

No branches or pull requests

4 participants