Hi, I’m trying to build simple project management tool (just for edu purposes)
I’d like to have such services:
- User service - user aggregate
- Project service - project aggregate, task aggregate
- Reporting service - no idea what’s supposed to go there yet
- Admin service -same as reporting
Each service should be separated into two separate ones, one for commands, 2nd one for query
I’m wondering, how can I properly setup axon on each service so that:
- It’s safe to scale it with kubernetes
- e.g. Project service can receive aggregate events from user service
Because I plan to use kubernetes and rabbitmq (or kafka) I don’t need distributed command bus.
I think i need distributed event bus, so that when some aggregate accepts command and sends event it’s received by corresponding query service.
How can I achieve that?
I’d like to have some websockets for the UI. I shouldn’t be listening directly on the event queue as these updates might be not consumed yet. I should probably broadcast new messages once the query part saves event to its database. Is there anything in Axon that could help me out?