官术网_书友最值得收藏!

  • 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:

Fig 1.12: C C software landscape

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.

主站蜘蛛池模板: 含山县| 杨浦区| 靖远县| 阳西县| 清徐县| 临沭县| 景德镇市| 阳东县| 来安县| 扬州市| 辽宁省| 广平县| 满城县| 黔西| 黄冈市| 宝应县| 石渠县| 兴化市| 犍为县| 青州市| 阳原县| 宜宾县| 河北省| 新郑市| 西藏| 南丰县| 博野县| 繁昌县| 开阳县| 陆丰市| 睢宁县| 固安县| 方正县| 七台河市| 兴文县| 休宁县| 龙州县| 辰溪县| 成都市| 长宁县| 漯河市|