We have two servers connected via a dedicated VPN. One of the servers hosts our SQL Server data, but we plan to replicate the data to both servers and have an Active/Active scenario. That is to say, something that looks like this:
Server A makes a change, Server B gets that change.
Server B makes a change, Server A gets that change.
Seems like textbook Bi-Directional Transactional Replication. I've had some good luck finding the pitfalls and things to watch out for with bi-directional replication. So I feel somewhat prepared for that.
Another requirement, however, is to setup load balancing. I haven't had much luck figuring this out. They want to be able to write to both databases and balance loads on a round robin type system. Something like this:
User 1 logs into the system - gets pushed to Server A
User 2 logs into the system - gets pushed to Server B
User 3 logs into the system - gets pushed to Server A
Is this on the application level or is there a way to load balance like this in SQL Server itself? Should I be looking at third party apps like ScaleArc?