share users or nodes across multiple sites without sharing database
I tried almost every possible scenarios, 

The best thing for me was use of Oauth2 server module for master site to act as authentication server and OpenID Connect module for other sites which use out-of-box authentication.

This solution can be done without needing to merge databases, or host sites on same server, or periodic synchronization. the only challenge I have is that authentication server must use https, and I'm going to buy certificate for my host.