bloomberg / blazingmq

A modern high-performance open source message queuing system
https://bloomberg.github.io/blazingmq/
Apache License 2.0
2.54k stars 132 forks source link

NodeJS sdk #60

Open syncush opened 1 year ago

syncush commented 1 year ago

Is there an existing proposal for this?

Is your feature request related to a problem?

No

Describe the solution you'd like

I would like to have a library for using blazingMQ with NodeJS

Alternatives you considered

No response

quarter-note commented 1 year ago

Hi @syncush Thanks for your interest in the product. Are you saying that you'll be interested in implementing the client library?

syncush commented 1 year ago

Hi @quarter-note , I would love to take part in implementing such a library, although it might be a too challenging task for a junior dev.

What is the priority for a javascript client library on your side?

hallfox commented 1 year ago

Hi @syncush, we are not looking to create a javascript client library right now. Our focus for client library support is mostly going towards Python at this point. However, we'd love to see community supported client libraries for the languages we don't support (we've also gotten similar questions for C# client libs #35 and protocol specifications #28 for helping with this).

I think probably a good place to start here would be to find out how practical it would be to use libbmq in a Node addon. Even as we work on the protocol specification document, it would still be a lot of work to reimplement the client in any given language, so a bindings based approach might be a good way to get something functional without needing a deep knowledge of BlazingMQ's protocol. This is also the approach we've taken with our upcoming Python client library and it's been very successful.

pniedzielski commented 11 months ago

@syncush If you are interested in working on a Javascript client library, you may be interested in taking a look at our just-open-sourced Python SDK here. It binds our C++ library with a technique we've found works well, and you may be able to take inspiration for a potential Javascript library. You'll probably find that the Python SDK is much smaller and more accessible than either our C++ or Java SDKs for exactly this reason.