I'm trying to write a rest service in node.js and I have some questions:
1) Is it common to write all business logic of application in node.js?
2) If I use node.js to build the rest service and put the business logic in another language (e.g: Python, Java, Ruby), how to integrate them?
3) Many articles about node.js refer to some NoSQL DB, like MongoDB. Is it a bad practice use node.js with a RDBMS (like Mysql or Postgres)?
Is it common to write all business logic of application in node.js?
It is common to use node.js for both the REST interface and all the business application logic. Unless you already have a bunch of code written in some other language or some other compelling reason to use code in another language, then one may as well just implement the core logic right in node.js and not introduce more moving parts into the puzzle.
If I use node.js to build the rest service and put the business logic in another language (e.g: Python, Java, Ruby), how to integrate them?
There are many choices for integrating them and it really depends upon what you're doing. You could have the REST interface in node.js run another process in another language for each request or you could have another process on your server already running that you would communicate with using any interprocess communication technique available (sockets, http requests, etc...).
Many articles about node.js refer to some NoSQL DB, like MongoDB. Is it a bad practice use node.js with a RDBMS (like Mysql or Postgres)?
Choosing a database should be about matching the type of database to your particular needs and should have little to do what what language you are coding in. You can generally use any mainstream database from any language. So, choose the database based on the best fit for your needs not based on what language you're coding in.
It is not a bad practice to use node.js with an RDBMS as long as that's the best type of database for your needs.