Node.js is well-suited for building scalable micro-services as it allows for building single-threaded and event-driven applications. Micro-services break up monolithic functionality into smaller, independently scalable services that communicate through APIs. While micro-services improve scalability, they also multiply lower-level design problems across codebases. Async libraries help flatten asynchronous code and handle promises to deal with asynchronous I/O in a scalable way. Process managers like pm2 allow scaling node.js micro-services across clusters.