Let's say I have two domains: Customers and Jobs.
Customers is responsible for knowing what customers a user has access to. Jobs is responsible for knowing what jobs a user has access to (by referencing which customers it has access to).
This means that Jobs technically needs the User:Customer association data from Customers. However, I don't want my Jobs service to call Customers service directly, as I don't want to worry about circular dependencies or latency.
The original design I have is to use a message queue to communicate those updates, with Customers dropping messages on the queue when there are updates and Jobs Service picking up and processing the updates. However, I wanted to know if there was a better way of keeping the data in sync.
The ideal situation would be for changes to that table in the Customers DB triggering an update to the same table in the Jobs DB. However, since they are separate databases, I can't just write a trigger or something to do this. Is there a simple tool or option for MS SQL server that could allow us to do this?