node 集群与稳定

Posted cangqinglang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了node 集群与稳定相关的知识,希望对你有一定的参考价值。

node集群搭建好之后,还需要考虑一些细节问题。

  • 性能问题
  • 多个工作进程的存活状态管理
  • 工作进程的平滑重启
  • 配置或者静态数据的动态重新载入
  • 其它细节

1 进程事件

Node子进程对象除了send()方法和messge事件外,还有如下事件:

  • error: 当子进程无法被复制创建、无法被杀死、无法发送消息时会触发改事件。
  • exit:子进程退出时触发改事件,子进程如果是正常退出,这个事件的第一个参数为退出码,否则为null。如果进程是通过kill方法被杀死的,会得到第二个参数,它表示杀死进程时
    的信号。
  • close:在子进程的标准输入输出流中止时触发该事件,参数与exit相同。
  • disconnect:在父进程或子进程中调用disconnect()方法时触发该事件,在调用该方法时将关闭监听IPC通道。

上述这些事件是在父进程能监听到的与子进程相关的事件。除了send()外,还能通过kill()方法给子进程发送消息。kill()方法并不能真正的将通过IPC相连的子进程杀死,它只是给子进程发送
了一个系统信号。默认情况下,父进程将通过kill()方法给子进程发送一个SIGTERM信号。它与进程默认的kill()方法类似。

// 子进程
child.kill([signal]);

// 当前进程
process.kill(pid, [signal]);

2 自动重启

有了父子进程之间的相关事件后,就可以在这些关系之间创建出需要的机机制了。监听子进程的exit事件来获知其退出的信息,并在主进程中加入一些子进程管理的机制,比如重新启用一个

新的工作进程来继续服务。

以上是关于node 集群与稳定的主要内容,如果未能解决你的问题,请参考以下文章

基于StatefulSet有状态部署与DaemonSet部署prometheus node-exporter

centos7搭建zookeeper集群环境

浅谈kubernetes:集群中master节点与node节点之间通讯

集群中节点(Node)与单机数据库的区别

高效实用k8s运行状态自动检测shell脚本

高效实用k8s运行状态自动检测shell脚本