- RabbitMQ Essentials
- Lovisa Johansson David Dossot
- 318字
- 2021-06-11 18:49:51
A RabbitMQ scenario
CC is a new taxi agency with huge potential. Today, the company has just two taxi drivers and two developers, but they want to expand a lot in the upcoming year. CC has already built a website in Ruby and started out with a backend, also written in Ruby, that stores CC trips in a database. CC also has some scripts, written in Python, that generate route reports.
So far, CC's system runs as follows:
- The company's website and blog runs on Ruby.
- The Rich Internet Application that stores route data, such as the starting point and the endpoint of the trip, is written in Ruby.
- There's a back-office that sends route updates to drivers and is written in Ruby.
- Multiple ad hoc Python scripts are used to extract and message data to generate route reports.
- Taxi applications are written in Python.
The old architecture is illustrated as follows:

Why is CC looking at adding RabbitMQ to an already busy environment? The main reason is because of a new feature CC wants to offer to their customers – they want to build a taxi application that handles reservations on the go. CC also wants to be able to scale painlessly. The plan is to build an app where users can book a car via a smartphone, receive booking confirmation, and view the car approaching the starting point of the trip.
Since CC already has some services in different languages, and since CC wants to be able to scale easily, they decided to use a ready-made message-oriented middleware such as RabbitMQ for asynchronous communication between the app, the client, and the backend.
As CC's knowledge and usage of RabbitMQ increases, they will discover new opportunities to leverage it in the environment. For now, let's follow CC as it gets started with its very first step into working with RabbitMQ.
- Web前端開發(fā)技術(shù):HTML、CSS、JavaScript(第3版)
- LabVIEW 2018 虛擬儀器程序設(shè)計
- 工程軟件開發(fā)技術(shù)基礎(chǔ)
- PHP+MySQL網(wǎng)站開發(fā)技術(shù)項目式教程(第2版)
- Quarkus實踐指南:構(gòu)建新一代的Kubernetes原生Java微服務(wù)
- HTML5+CSS3+JavaScript Web開發(fā)案例教程(在線實訓(xùn)版)
- Working with Odoo
- The Professional ScrumMaster’s Handbook
- Spring+Spring MVC+MyBatis從零開始學(xué)
- Principles of Strategic Data Science
- 3ds Max印象 電視欄目包裝動畫與特效制作
- Learning Nessus for Penetration Testing
- 玩轉(zhuǎn).NET Micro Framework移植:基于STM32F10x處理器
- Android移動應(yīng)用開發(fā)項目教程
- Android 游戲開發(fā)大全(第二版)