Developing event consumers
As I have mentioned earlier, we are going to use MySQL and MongoDB to perform the synchronization. We have the data model ready for both of them, so all we need is to listen for events and, depending upon the type, perform database-related operations.
Before starting with the code, I would like to mention a little bit about the Observer design pattern because we are going to use it in the next section.
Observer pattern
The Observer pattern is a design pattern in which a subject maintains a list of its dependents or listeners and notifies them about any change. We can implement this pattern using Node.js by using the EventEmitter
class.
Consider the following example:
const EventEmitter = require('events'); class MyStream extends EventEmitter { constructor() { super(); this.files = []; } read(file) { this.files.push(file); this.emit('fileadded',file); } write() { var self = this; this.files.map(function(files) { self...