Further improvements
There are two key improvements which you can do:
Integrating the message broker
Developing a distributed transaction
Let's discuss each one in brief.
Integrating the message broker
For now, we are using the EventEmitter
class of Node.js to emit and receive events. You can hook advanced message brokers such as RabbitMQ or Apache Kafka. All you need to do is, instead of emitting the event in the Polyglot
class, just push the changes in the message broker.
At the consumer end, any program can read it and use it for their use. This way, there will be high cohesion and less tight coupling.
If you are going to do it using RabbitMQ then we have already covered the integration part in Chapter 7, Extending RethinkDB.
Moving right along to the next improvement.
Developing a distributed transaction
For now, we are not using any transaction in between the databases to perform the CRUD operation. Since our databases can be SQL, NoSQL, key-value, graph-based, and so on, and not all databases...