I'm configuring Windows Network Load Balancing between two SharePoint servers which are in the same NLB cluster, but I want to have the first server for users and second for services (and for users only when the load on the first server is high, for example 80%). For now the load is the same on both servers in multiple mode.
It is possible to accomplish with Microsoft NLB? Or are there other tools for Windows? It will be a production environment.
NLB does not support balancing based on load as you have described. Depending on the version of Windows on the NLB hosts, you can specify that one server get a percentage of the connections but not actual server load. Also, with NLB there is no way to discriminate based on user, so no way to tell the difference between a regular user and a service user.
If you want to balance based on the actual server load or based on specific source IP's, you need to look a different product: a Layer 7 load balancer, or application load balancer.