I am working on a nodejs framework which is distributed (multi-process) architecture. It can integrate several physical servers with nodejs apps together. Just wonder if I can deploy a nodejs app on a physical server, at same time I can install a couchbase on the same physical server.
thus node app on multi physical servers compose distributed system, and installed couchbases on multi physical servers to compose the cluster.
if it won't perform as well depending on the memory requirements of you application and database sever. （they are both going to be competing for CPU,RAM,I/O,Network）
Or I have to install the couchbase to the separate physical servers(where node apps are not there) to construct cluster?
your comment welcome
I am not sure to understand your question do not hesitate to put more information in a comment.
As a generic answer, usually the nodes of the Couchbase Server Cluster are installed on different servers than your "middleware".
Also, remember that once you connect your application (one node) to the cluster, this specific process is connected to "all the nodes" of your Couchbase cluster and does the partionning of the data automatically.
Also since Couchbase has only 1 single active key in the cluster all the processes accessing the cluster will see the same consistent value for the keys you are accessing.
You can look at this intersting architecture paper to understand how Couchbase cluster works:
if I develop the web app and test nodejs and couchbase on one physical server, or even install and nodejs with couchbaseon a same physical server for less visitors, is it possible?
if visitor are more and more, I separate the physical servers to 2 groups, one is for node distributed system another is for couchbase cluster.