A single instance of Node.js runs in a single thread. To take advantage of multi-core systems, you can launch a cluster of Node.js processes to handle the load. Applications can use the core Node Cluster module to easily create child processes that all share server ports.
To use this feature you , your application uses cluster.setupMaster() to set a path to a custom file to use for each child process. A cluster should listen on port 9000 or greater to avoid port conflicts. If the port your application is trying to listen on is in use, an
EADDRINUSE error will result. Your application must also have privileges to listen on the specified port, otherwise, an
EACCES error will result.
$ appc cloud list MyArrowApp ACS: Appcelerator Cloud Services Command-Line Interface, version 1.0.23 Copyright (c) 2012-2015, Appcelerator, Inc. All Rights Reserved. Admin Hostname: https://admin.cloudapp-enterprise-preprod.appctest.com ============ Points: -- Quota: 17 -- Used: 16 App name: MyArrowApp -- Created by: firstname.lastname@example.org -- URL: https://myapp.cloudapp-enterprise-preprod.appctest.com -- Created at: Mon Mar 23 2015 21:58:36 GMT-0700 (PDT) -- Node Version: 0.10.22 -- Server Size: XLarge -- Maximum allowed number of servers: 1 -- Desired minimum number of servers: 1 -- Active version: 1.0.0 -- Published at: Thu Mar 26 2015 13:54:07 GMT-0700 (PDT) -- Status: Deployed
Currently, API Runtime Services only supports applications opening one server listening port. There cannot be more than one TCP/HTTP server started in one application.