Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Messaging and Queuing between MongoDb and your Read/Query Model (Projection) #7

Open
aadamsx opened this issue Aug 9, 2014 · 4 comments

Comments

@aadamsx
Copy link

aadamsx commented Aug 9, 2014

Do you use MongoDb as an Event Store (Db) and a Queue? In this case, between the Write and Read you don't need something like zmq or RabbitMQ for messaging correct? If you do use MongoDb as your Queue, where do you use RabbitMQ if anywhere?

Do you use messages between your Aggreate and your Event Store? If so do you use RabbitMQ for this? Do you use the Pipes and Filters pattern? Zmq? Or just Async callbacks?

@adrai
Copy link
Contributor

adrai commented Aug 9, 2014

my setup: example:
browser sends command -> socket.io -> host -> send to domain -> via rabbitmq -> domain (makes its magic with the eventstore) generates event send to denormalizer(s) -> via rabbitmq -> denormalizer(s) extends the event with some receiver(user) information and sends them back to the host -> via rabbitmq -> host sends the event back to the browser (dependents if it's the right receiver) -> via socket.io.... I can't say more...

@aadamsx
Copy link
Author

aadamsx commented Aug 10, 2014

Thanks. Could I use the NodeJS library zmq or one of the many Promise libraries take the place of RabbitMQ on the server side? In other words, do I need RabbitMQ to send my events to the event store? What does RabbitMQ buy me over zmq or promises?

@aadamsx
Copy link
Author

aadamsx commented Aug 12, 2014

I don't get it, where does one go for help in this area (NodeJS+CQRS, ES, Commands/Events, Sockets, Queues, Projections, etc.)? If no can talk about this stuff, how can the community grow around these tools and techniques, why does it have to be so hard for a guy to get started?

How can I compensate you or others for your time on this? I have a small start-up (just me) and I would like very much to use this tech, but it's taking a while to sift through the internet for valuable nuggets.

What options do I have?

@adrai
Copy link
Contributor

adrai commented Aug 12, 2014

I can say you what others suggested me: make you own experience but it will be very hard...
At the end... every system has its own problems to solve and as an engineer you can try to use some approaches where they fit (like cqrs)...
CQRS is for complex systems and does not fit for everything...

PS. My experience said to use RabbitMQ, mongodb and redis... (not only) for scalability reasons... dor my projects so far... but always use the right tool for the right stuff...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants