pm2 - Node.js Production Process Manager with a built-in Load Balancer

  •        76

PM2 is a production process manager for Node.js applications with a built-in load balancer. It allows you to keep applications alive forever, to reload them without downtime and to facilitate common system admin tasks.PM2 is constantly assailed by more than 1800 tests.

  • Simple and efficient process management (start/stop/restart/delete/show/monit)
  • Keep your application ALWAYS ONLINE with auto restarts and init system script generation
  • Clusterize Node.js Applications without code change to increase performance and reliability
  • Hot Reload Node.js Applications without extra configuration

http://pm2.io/
https://github.com/Unitech/pm2
http://pm2.keymetrics.io/

Tags
Implementation
License
Platform

   




Related Projects

strong-pm - deployer for node applications

  •    Javascript

StrongLoop PM is a production process manager for Node.js applications with built-in load balancing, monitoring, multi-host deployment, and a graphical console.Under production, you will install the process manager as a system service, see http://strong-pm.io/prod, but if you are just trying the manager out locally, you can run an app directly from the command line.

roadrunner - High-performance PHP application server, load-balancer and process manager written in Golang

  •    Go

RoadRunner is an open source (MIT licensed), high-performance PHP application server, load balancer and process manager. It supports running as a service with the ability to extend its functionality on a per-project basis. RoadRunner includes PSR-7/PSR-17 compatible HTTP and HTTP/2 server and can be used to replace classic Nginx+FPM setup with much greater performance.

php-pm - PPM is a process manager, supercharger and load balancer for modern PHP applications.

  •    PHP

PHP-PM is a process manager, supercharger and load balancer for PHP applications. It's based on ReactPHP and works best with applications that use request-response frameworks like Symfony's HTTPKernel. The approach of this is to kill the expensive bootstrap of PHP (declaring symbols, loading/parsing files) and the bootstrap of feature-rich frameworks. See Performance section for a quick hint. PHP-PM basically spawns several PHP instances as worker bootstraping your application (eg. the whole Symfony Kernel) and hold it in the memory to be prepared for every incoming request: This is why PHP-PM makes your application so fast.

kubeadm-ha - Kubernetes high availiability deploy based on kubeadm (for v1

  •    Smarty

kube-apiserver: exposes the Kubernetes API. It is the front-end for the Kubernetes control plane. It is designed to scale horizontally – that is, it scales by deploying more instances. etcd: is used as Kubernetes’ backing store. All cluster data is stored here. Always have a backup plan for etcd’s data for your Kubernetes cluster. kube-scheduler: watches newly created pods that have no node assigned, and selects a node for them to run on. kube-controller-manager: runs controllers, which are the background threads that handle routine tasks in the cluster. Logically, each controller is a separate process, but to reduce complexity, they are all compiled into a single binary and run in a single process. kubelet: is the primary node agent. It watches for pods that have been assigned to its node (either by apiserver or via local configuration file) kube-proxy: enables the Kubernetes service abstraction by maintaining network rules on the host and performing connection forwarding. keepalived cluster config a virtual IP address (192.168.20.10), this virtual IP address point to k8s-master01, k8s-master02, k8s-master03. nginx service as the load balancer of k8s-master01, k8s-master02, k8s-master03's apiserver. The other nodes kubernetes services connect the keepalived virtual ip address (192.168.20.10) and nginx exposed port (16443) to communicate with the master cluster's apiservers.


pm2-web - A web based monitor for PM2

  •    Javascript

Since it's no longer possible to monitor pm2 running on multiple machines I'm not really working on pm2-web any more. For an alternative, check out Guvnor - a process manager with support for multiple hosts, unix based permissions, a far more capable web interface and more.

pm2-gui - An elegant web & terminal interface for Unitech/PM2.

  •    Javascript

An elegant web & terminal interface for Unitech/PM2.If you wanna update to pm2-gui@latest, make sure you've read the change logs.

syn - A global Process Registry and Process Group manager for Erlang.

  •    Erlang

Syn (short for synonym) is a global Process Registry and Process Group manager for Erlang. A global Process Registry allows registering a process on all the nodes of a cluster with a single Key. Consider this the process equivalent of a DNS server: in the same way you can retrieve an IP address from a domain name, you can retrieve a process from its Key.

Deploy Workflow Manager

  •    

Kick off a workflow associated with a SharePoint List on all list items at once. SharePoint Designer Workflows will also be included. This project assumes criteria is included in the Workflow. Critera through the Workflow Manager is still in process.

metrictank - Cassandra-backed, metrics2

  •    Go

Metrictank is a multi-tenant timeseries engine for Graphite and friends. It provides long term storage, high availability, efficient storage, retrieval and processing for large scale environments. GrafanaLabs has been running metrictank in production since December 2015. It currently requires an external datastore like Cassandra, and we highly recommend using Kafka to support clustering, as well as a clustering manager like Kubernetes. This makes it non-trivial to operate, though GrafanaLabs has an on-premise product that makes this process much easier.

hotel - :love_hotel: A simple process manager for developers

  •    Javascript

Tip: if you don't enable local domains, hotel can still be used as a catalog of local servers..localhost replaces .dev local domain and is the new default. See https://ma.ttias.be/chrome-force-dev-domains-https-via-preloaded-hsts/ for context.

einhorn - Einhorn: the language-independent shared socket manager

  •    Ruby

Let's say you have a server process which processes one request at a time. Your site is becoming increasingly popular, and this one process is no longer able to handle all of your inbound connections. However, you notice that your box's load number is low.So you start thinking about how to handle more requests. You could rewrite your server to use threads, but threads are a pain to program against (and maybe you're writing in Python or Ruby where you don't have true threads anyway). You could rewrite your server to be event-driven, but that'd require a ton of effort, and it wouldn't help you go beyond one core. So instead, you decide to just run multiple copies of your server process.

eye - Process monitoring tool. Inspired from Bluepill and God.

  •    Ruby

Process monitoring tool. Inspired from Bluepill and God. Requires Ruby(MRI) >= 1.9.3-p194. Uses Celluloid and Celluloid::IO. We wanted something more robust and production stable.

Circus - A Process & Socket Manager

  •    Python

Circus is a process & socket manager. It can be used to monitor and control processes and sockets. Circus can be driven via a command-line interface or programmatically through its python API.

hivemind - Process manager for Procfile-based applications

  •    Go

Hivemind is a process manager for Procfile-based applications. At the moment, it supports Linux, FreeBSD, and macOS. Procfile is a simple format to specify types of processes your application provides (such as web application server, background queue process, front-end builder) and commands to run those processes. It can significantly simplify process management for developers and is used by popular Platforms-as-a-Service, such as Heroku and Deis. You can learn more about the Procfile format here or here.

overmind - Process manager for Procfile-based applications and tmux

  •    Go

Overmind is a process manager for Procfile-based applications and tmux. With Overmind, you can easily run several processes from your Procfile in a single terminal. Procfile is a simple format to specify types of processes your application provides (such as web application server, background queue process, front-end builder) and commands to run those processes. It can significantly simplify process management for developers and is used by popular hosting platforms, such as Heroku and Deis. You can learn more about the Procfile format here or here.

glb-director - GitHub Load Balancer Director and supporting tooling.

  •    C

The GitHub Load Balancer (GLB) Director is a set of components that provide a scalable set of stateless Layer 4 load balancer servers capable of line rate packet processing in bare metal datacenter environments, and is used in production to serve all traffic from GitHub's datacenters. GLB Director is designed to be used in datacenter environments where multiple servers can announce the same IP address via BGP and have network routers shard traffic amongst those servers using ECMP routing. While ECMP shards connections per-flow using consistent hashing, addition or removal of nodes will generally cause some disruption to traffic as state isn't stored for each flow. A split L4/L7 design is typically used to allow the L4 servers to redistribute these flows back to a consistent server in a flow-aware manner. GLB Director implements the L4 (director) tier of a split L4/L7 load balancer design.

procodile - 🐊 Run processes in the background (and foreground) on Mac & Linux from a Procfile (for production and/or development environments)

  •    Ruby

Running & deploying Ruby apps to places like Viaduct & Heroku is really easy but running processes on actual servers is less fun. Procodile aims to take some the stress out of running your Ruby/Rails apps and give you some of the useful process management features you get from the takes of the PaaS providers. Procodile is a bit like Foreman but things are designed to run in the background (as well as the foreground if you prefer) and there's a supervisor which keeps an eye on your processes and will respawn them if they die.

timeout - A script to measure and limit CPU time and memory consumption of black-box processes in Linux

  •    Perl

The timeout script is a resource monitoring program for limiting time and memory consumption of black-boxed processes under Linux. It runs a command you specify in the command line and watches for its memory and time consumption, interrupting the process if it goes out of the limits, and notifying the user with the preset message. The killer feature of this script (and, actually, the reason why it appeared) is that it not only watches the process spawned directly, but also keeps track of its subsequently forked children. You may choose if the scope of the watched processes is constrained by process group or by the process tree.

FLoM - Free Lock Manager

  •    C

FLoM is a free, open source, distributed lock manager that can be used to synchronize shell commands, scripts and custom developed C, C++, Java, PHP and Python software. When used in a shell environment, FLoM manages process serialization in the same way "nice" manages process prioritization.





We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.