replication does this. bidirectional transactional handles this fine.
Messaging is preferred, but if you're doing this, why not use Service Broker? Why a third party?
Having the updates occur means that you might have two phase commit. This means that if one server has issues, you can't update the second. Better to decouple with replication or service broker.