Umeå University's logo

umu.sePublications
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Evaluating Connectivity for RabbitMQ stream clients in front of Load Balancers
Umeå University, Faculty of Science and Technology, Department of Computing Science.
2024 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE creditsStudent thesis
Abstract [en]

Message brokers play a crucial role in decoupling senders and receivers within distributed systems. In some scenarios, it is necessary to distribute a message broker across multiple nodes to form a cluster. To ensure even and fair distribution of client requests across nodes, load balancers are commonly employed in front of the cluster. While such architectural frameworks suits the needs of many applications, there are some deployments where clients seek specific nodes in a cluster. One such example are Stream-clients in RabbitMQ. They search for a specific node in the RabbitMQ cluster in order to get a direct connection to that node before utilizing the resources on the server.This poses a challenge when a load balancer is present, as the client attempts to bypass it and directly connect to a node.This could be a security concern or impossible when the load balancer serves as the only access point to the cluster.

Some client libraries contains a workaround, where the client repeatedly reconnects to the load balancer until it establishes a connection with the appropriate node. This thesis explores a solution that decouples this workaround into a separate component. The objective is to assess the feasibility of consolidating this functionality into a single component rather than implementing the workaround in each client library. The outcome is a proxy which is positioned between the client and the load balancer. The proxy reconnects to the cluster, identifies the suitable node transparently to clients, and forwards messages until the connection is terminated.

The evaluation of the proxy involves measuring throughput and latency in terms of publishing, receiving confirms, and subscribing. Comparative analysis against a client using the workaround revealed that the proxy introduces minimal degradation in publishing and publish confirm rates for message sizes ranging from 1-10KB. The impact on publish confirm latency is also negligible. However, subscribing rates were significantly better without the proxy, and integrating the proxy led to a considerable degradation in publish consume latency.

Finally, since the proxy  was able to perform suitably for publishers, while being implemented as a proof of concept, it was concluded that with some optimization a proxy-basedapproach could benefit systems with a similar problem.

Place, publisher, year, edition, pages
2024. , p. 37
Series
UMNAD ; 1447
National Category
Computer Sciences
Identifiers
URN: urn:nbn:se:umu:diva-219853OAI: oai:DiVA.org:umu-219853DiVA, id: diva2:1830108
External cooperation
84codes
Educational program
Master of Science Programme in Computing Science and Engineering
Supervisors
Examiners
Available from: 2024-01-23 Created: 2024-01-22 Last updated: 2024-01-23Bibliographically approved

Open Access in DiVA

fulltext(3002 kB)273 downloads
File information
File name FULLTEXT01.pdfFile size 3002 kBChecksum SHA-512
92976aa9c608fdcbfa1516d664e680695ae623f5efce00d7be485a11a7fe1abba006efe659176078a9afe90d74dbf347d417f13d33ccce2e979506093d3c2605
Type fulltextMimetype application/pdf

By organisation
Department of Computing Science
Computer Sciences

Search outside of DiVA

GoogleGoogle Scholar
Total: 273 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 976 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf