spring-cloud / spring-cloud/spring-cloud-config

Dynamically set RoutingKey={application} as an option

Open
#1,009 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.