spring-cloud / spring-cloud/spring-cloud-config
Dynamically set RoutingKey={application} as an option
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 2k
- Forks
- 1.3k
- Avg merge
- 2d 59m
- Merged PRs (30d)
- 16
Description
Question or Enhancement
I deployed ConfigServer as a PCF webapp
- A developer commits a configuration change in the git repo
- GitHub detects the change and triggers a hook sending a web request to ConfigServer/monitor
- ConfigServer receives the request, git pull to get latest changes, and writes a message to SpringCloudBus (rabbitmq) to notify clients
- Clients receive the notification and reloads values from ConfigServer
I am using one instance of ConfigServer to handle configuration changes for many applications (multitenant). The message written to SpringCloudBus has RoutingKey=”springCloudBus” and Payload contains “destinationService”:”{application}:**”. My problem is the message is received by clients from all applications and every app has to add code to filter by destinationService. I want the message to be received only by the {application} clients and it can be accomplished by setting RoutingKey={application}. Is there any way to do it today? Is it in the backlog?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the /monitor request handling and the Spring Cloud Bus message publication described in the issue, then examine how RabbitMQ routing keys and destinationService are currently used. Done means a multitenant ConfigServer can publish a notification addressed to one application so unrelated clients do not receive it.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, rabbitmq, spring, spring-boot
- Domain
- backend, cloud, distributed-systems
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100