Spelling suggestions: "subject:"message queueing"" "subject:"message queuing""
1 |
END-TO-END LATENCY AND THROUGHPUT EVALUATION OF TWO MESSAGE BROKERSBoman, Martin January 2022 (has links)
As systems have grown bigger and bigger with time message brokers have become popular to help build better and more flexible designed systems. A message broker provides communication between services in a system while still keeping the components independent from one another. This thesis evaluates end-to-end latency and throughput of two of the most popular message broker software. The first message broker is Apache Kafka which uses a commit log to write all messages to disk and a message batching to optimize throughput. The second message broker is RabbitMQ which implements the standardized Advanced MessageQueuing Protocol and, contrary to Kafka, primarily stores messages in the main memory. The throughput and message latency of both brokers were tested by integrating them both in an established system with micro-services and sending messages from one service to another through the message brokers. Results showed that RabbitMQ reached the highest recorded throughput while sendinga large amount of data, and it also reached lower latency on individual messages sent without any queue build up. Kafka had more throughput and lower latency under smaller loads of data, but needs further configuration to become more effective as the default settings are limiting under heavy loads.
|
2 |
Message brokers in a microservice architecture / Meddelandemäklare i en mikrotjänstarkitekturAntonio, Christian, Fredriksson, Björn January 2021 (has links)
The microservice architectural pattern refers to a system consisting of independently deployable services that communicate across networks. RabbitMQ is a popular message broker that can be used to make this communication possible. An alternative to this is Amazon Simple Queuing Service (SQS), which is a fully managed queuing service. By performing a literature- and case study, two systems with a microservice architecture are developed. One using RabbitMQ to communicate between the services, and the other using Amazon SQS. The systems are compared, with regards to message latency, ease of use and maintainability. The results show that RabbitMQ provides much lower message latency than Amazon SQS. Amazon SQS is however both easier to maintain and to use than RabbitMQ. / En mikrotjänstarkitektur syftar till ett system bestående av tjänster som kan driftsättas oberoende av varandra och som kommunicerar över nätverk. RabbitMQ är en populär meddelandemäklare som nyttjas för att möjliggöra ovan nämnd kommunikation. Ett alternativ till detta är Amazon Simple Queueing Service (SQS), vilket är en meddelandetjänst som helt och hållet förvaltas av Amazon. Genom att utföra en litteratur- och fallstudie utvecklas två system med en mikrotjänstarkitektur. Det ena nyttjar RabbitMQ för kommunikation mellan tjänster, medan det andra använder Amazon SQS. Båda systemen jämförs därefter med hänsyn till meddelandens fördröjning, användarvänlighet samt enkelhet att underhålla. Resultaten visar att meddelanden skickade genom RabbitMQ har mycket lägre fördröjning än de skickade genom Amazon SQS. Ur perspektiven användarvänlighet och enkelhet att underhålla är Amazon SQS ett mer fördelaktigt akternativ än RabbitMQ.
|
3 |
Modelling And Analysis Of Event Message Flows In Distributed Discrete Event Simulators Of Queueing NetworksShorey, Rajeev 12 1900 (has links)
Distributed Discrete Event Simulation (DDES) has received much attention in recent years, owing to the fact that uniprocessor based serial simulations may require excessive amount of simulation time and computational resources. It is therefore natural to attempt to use multiple processors to exploit the inherent parallelism in discrete event simulations in order to speed up the simulation process.
In this dissertation we study the performance of distributed simulation of queueing networks, by analysing queueing models of message flows in distributed discrete event simulators. Most of the prior work in distributed discrete event simulation can be categorized as either empirical studies or analytic (or formal) models. In the empirical studies, specific experiments are run on both conservative and optimistic simulators to see which strategy results in a faster simulation. There has also been increasing activity in analytic models either to better understand a single strategy or to compare two strategies. Little attention seems to have been paid to the behaviour of the interprocessor message queues in distributed discrete event simulators.
To begin with, we study how to model distributed simulators of queueing networks. We view each logical process in a distributed simulation as comprising a message sequencer with associated message queues, followed by an event processor. A major contribution in this dissertation is the introduction of the maximum lookahead sequencing protocol. In maximum lookahead sequencing, the sequencer knows the time-stamp of the next message to arrive in the empty queue. Maximum lookahead is an unachievable algorithm, but is expected to yield the best throughput compared to any realisable sequencing technique. The analysis of maximum lookahead, therefore, should lead to fundamental limits on the performance of any sequencing algorithm
We show that, for feed forward type simulators, with standard stochastic assump-tions for message arrival and time-stamp processes, the message queues are unstable for conservative sequencing, and for conservative sequencing with maximum lookahead and hence for optimistic resequencing, and for any resequencing algorithm that does not employ interprocessor "flow control". It follows that the resequencing problem is fundamentally unstable and some form of interprocessor flow control is necessary in order to make the message queues stable (without message loss). We obtain some generalizations of the instability results to time-stamped message arrival processes with certain ergodicity properties.
For feedforward type distributed simulators, we study the throughput of the event sequencer without any interprocessor flow control. We then incorporate flow control and study the throughput of the event sequencer. We analyse various flow control mechanisms. For example, we can bound the buffers of the message queues, or various logical processes can be prevented from getting too far apart in virtual time by means of a mechanism like Moving Time Windows or Bounded Lag. While such mechanisms will serve to stabilize buffers, our approach, of modelling and analysing the message flow processes in the simulator, points towards certain fundamental limits of efficiency of distributed simulation, imposed by the synchronization mechanism.
Next we turn to the distributed simulation of more general queueing networks. We find an upper bound to the throughput of distributed simulators of open and closed queueing networks. The upper bound is derived by using flow balance relations in the queueing network and in the simulator, processing speed constraints, and synchronization constraints in the simulator. The upper bound is in terms of parameters of the queueing network, the simulator processor speeds, and the way the queueing network is partitioned or mapped over the simulator processors. We consider the problem of choosing a mapping that maximizes the upper bound. We then study good solutions o! this problem as possible heuristics for the problem of partitioning the queueing network over the simulator processors. We also derive a lower bound to the throughput of the distributed simulator for a simple queueing network with feedback.
We then study various properties of the maximum lookahead algorithm. We show that the maximum lookahead algorithm does not deadlock. Further, since there are no synchronization overheads, maximum lookahead is a simple algorithm to study. We prove that maximum lookahead sequencing (though unrealisable) yields the best throughput compared to any realisable sequencing technique. These properties make maximum lookahead a very useful algorithm in the study of distributed simulators of queueing networks.
To investigate the efficacy of the partitioning heuristic, we perform a study of queueing network simulators. Since it is important to study the benefits of distributed simulation, we characterise the speedup in distributed simulation, and find an upper bound to the speedup for a given mapping of the queues to the simulator processors. We simulate distributed simulation with maximum lookahead sequencing, with various mappings of the queues to the processors. We also present throughput results foT the same mappings but using a distributed simulation with the optimistic sequencing algorithm. We present a number of sufficiently complex examples of queueing networks, and compare the throughputs obtained from simulations with the upper bounds obtained analytically.
Finally, we study message flow processes in distributed simulators of open queueing networks with feedback. We develop and study queueing models for distributed simulators with maximum lookahead sequencing. We characterize the "external" arrival process, and the message feedback process in the simulator of a simple queueing network with feedback. We show that a certain "natural" modelling construct for the arrival process is exactly correct, whereas an "obvious" model for the feedback process is wrong; we then show how to develop the correct model. Our analysis throws light on the stability of distributed simulators of queueing networks with feedback. We show how the stability of such simulators depends on the parameters of the queueing network.
|
4 |
Servisų bendravimas pagrįstas trečių šalių komponentais / Communication between services using third party componentsŠilanskas, Žygimantas 13 August 2010 (has links)
Šiuolaikinio verslo sektorius yra labai sudėtingas, kadangi daugybė programinės ir kompiuterinės įrangos yra naudojama skirtingose platformose: internetinių sistemų bendravimui, verslo sistemų integravimui ir t. t. Dauguma šiuolaikinės programinės įrangos priklauso paskirstytų sistemų tipui. Ją sudaro kliento-serverio architektūra. Nagrinėjant konkrečią paskirstytą sistemą, joje klientų ir serverių kiekis gali būti gausus. Tokio tipo sistemos turi labai daug privalumų, tačiau turi ir trūkumų. Paprastai paskirstytas sistemas sudaro ne viena duomenų bazė, veikia daug servisų, kurie ne visada gali būti pasiekiami, visa tai yra galimų klaidų šaltinis. Kliento programinė įranga bendrauja tarp įvairių programinės įrangos komponentų (pavyzdžiui servisų), kaip ir jie tarpusavyje, naudodama nuotolinių procedūrų kvietimo technologijas ir žinutes.
Naudojant žinučių technologiją, bendravimas tarp servisų gali būti daug patikimesnis, kadangi ši technologija užtikrina žinutės pristatymą, net ir tada, kai gavėjas yra už ryšio ribų. Šiuolaikinėse servisais paremtose sistemose, bendravimas tarp komponentų yra paremtas žinučių, naudojančių eiles, metodu.
Šiame darbe bus nagrinėjama bendravimo tarp komponentų technologija, kuri paremta žinutėmis. Taip pat bus apžvelgiamos ir nagrinėjamos trečių šalių sukurtos, nemokamos technologijos, kurios skirtos bendravimui tarp paskirstytų sistemų komponentų žinučių metodu. Kadangi magistrinio darbo sistema buvo sukurta naudojant Microsoft technologijas... [toliau žr. visą tekstą] / Nowadays a lot of systems are residing in distributed environments. These systems are composed of the client side software and server side software. That is called distributed systems architecture. Those types of systems can contain many services and many clients and may be substituted of many databases and many services. Distributed software components do not always run at the same time, networks, especially wide-area networks, are not always available and reliable. These parts communicate using remote procedure calls, or request/response messages and message queues. In this work we research third party components which are used to communicate between parts of distributed systems using messages and Microsoft message queues. The research is performed on two chosen components, which best fits in the developed system’s context. The choice of components and research based on usability problems using developed system called Business layer framework. The obtained results evaluated using user recommendation form.
|
5 |
Multi-flow Optimization via Horizontal Message Queue PartitioningBoehm, Matthias, Habich, Dirk, Lehner, Wolfgang 19 January 2023 (has links)
Integration flows are increasingly used to specify and execute data-intensive integration tasks between heterogeneous systems and applications. There are many different application areas such as near real-time ETL and data synchronization between operational systems. For the reasons of an increasing amount of data, highly distributed IT infrastructures, as well as high requirements for up-to-dateness of analytical query results and data consistency, many instances of integration flows are executed over time. Due to this high load, the performance of the central integration platform is crucial for an IT infrastructure. With the aim of throughput maximization, we propose the concept of multi-flow optimization (MFO). In this approach, messages are collected during a waiting time and executed in batches to optimize sequences of plan instances of a single integration flow. We introduce a horizontal (value-based) partitioning approach for message batch creation and show how to compute the optimal waiting time. This approach significantly reduces the total execution time of a message sequence and hence, it maximizes the throughput, while accepting moderate latency time.
|
Page generated in 0.0658 seconds