Skip to content

Commit

Permalink
docs: rabbitmq importer
Browse files Browse the repository at this point in the history
  • Loading branch information
xndlnk committed Sep 27, 2018
1 parent eba2690 commit 4f9135e
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 3 deletions.
11 changes: 9 additions & 2 deletions sources/microservice-system-analyzer/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,15 @@ Each importer collects information that provides a view of the system. This info

- Spring FeignClients: An importer that searches for `@FeignClient` annotations in source code to capture synchronous communication links.
- RabbitMQ-Management: An importer for asynchronous communication links that accesses the RabbitMQ Management API. It requires to follow a schema for naming queues and exchanges.
- A sending microservice has to send data to an exchange with the same name as the microservice. E.g. microservice A sends data to exchange A.
- A receiving microservice creates a queue and binds it to an exchange. The name of the queue has to begin with name of the receiving microservice followed by a dot and any more characters. E.g. microservice B creates a queue B.foo and binds it to the exchange A.
- Schema:
- A sending microservice `s` must send data to an exchange `s`, i.e. the exchange must have the same name as the sending microservice.
- A receiving microservice `r` must create a queue.
- The queue must be bound to the exchange `s`.
- The queue name must match the following regular expression: `r\.\w*`.
- Example:
- Given two Microservices A and B where B receives events from A.
- Microservice B has a queue named `B.foo` which is bound to the exchange A.
- Microservice A sends data to the exchange A.
- Consul
- Git-Repositories

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ const log = require('npmlog')
const System = require('../model/modelClasses').System
const configRepository = require('../config/configRepository')

// TODO: describe required naming pattern in docs
/** extracts binding information of queues and exchanges via RabbitMQ management api. */
async function getSystem () {
const queues = await getQueues()
Expand Down

0 comments on commit 4f9135e

Please sign in to comment.