Skip to content
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

jGroups integration for spring-cloud-bus #272

Open
Mobe91 opened this issue Apr 10, 2024 · 3 comments
Open

jGroups integration for spring-cloud-bus #272

Mobe91 opened this issue Apr 10, 2024 · 3 comments

Comments

@Mobe91
Copy link

Mobe91 commented Apr 10, 2024

I am working on a project that uses embedded Infinispan for distributed caching. As this solution is based on jGroups for cluster management it would come in handy to also have a binder for spring-cloud-bus that works via jGroups. Do you think this would make sense and if it would be viable to do?

One use case would be to e.g. refresh the application context for all applications in the jGroups cluster when the environment changes.

@ryanjbaxter
Copy link
Contributor

It sounds like maybe this might be an enhancement to be made in Spring Cloud Stream (which Spring Cloud Bus leverages). @sobychacko @olegz what do you think?

@sobychacko
Copy link

How does a binder help in this scenario? A binder in Spring Cloud Stream is an abstraction specifically built for a target middleware, such as Apache Kafka, RabbitMQ, Apache Pulsar, etc. Binder implementations allow the end-user applications to communicate with various middleware systems in a transport-neutral manner. There are some features that Spring Cloud Stream leverages from a single middleware technology, then makes them available as common features that can be applied against other target middleware systems. For example, Spring Cloud Stream takes Kafka's concept of consumer groups and partitions and provides them as top-level features that other systems can use, although they may not support them as natively. However, this is not a requirement for new binder implementations, and they can skip them if they choose to. I don't know much about jGroups, but a quick look gives the impression that this is a toolkit for messaging-based communications. I am unsure how we can provide a binder on top of this, but if there are use cases where this may be helpful, please elaborate. I think Spring Cloud Bus already has some built-in features for refreshing the context across various app contexts; maybe this may be a better fit in Bus itself rather than implementing a new binder in Spring Cloud Stream. Thanks!

@ryanjbaxter
Copy link
Contributor

Makes sense @sobychacko thanks.

I think we would consider a PR to support this if there is enough interest.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants