学习
实践
活动
工具
TVP
写文章
原创

玩转进程

玩转进程

服务模型的变迁

石器时代:同步

服务模式是一次只为一个请求服务

青铜时代:复制进程

通过进程的复制同时服务更多的请求和用 户

白银时代:多线程

让一个线程服务一个请求,并且线程之间可以共享数据

黄金时代:事件驱动

为了解决高并发问题,基于事件驱动的服务模型出现了

多进程架构

理想状态下每个 进程各自利用一个CPU,以此实现多核CPU的利用

创建子进程

child_process模块给予Node可以随意创建子进程(child_process)的能力

进程间通信

主线程与工作线程之间通过onmessage()和postMessage()进行通信子进程对象则由send()方法实现主进程向子进程发送数据

句柄传递

一种可以用来标识资源的引用,它的内部包含了指向对象的文件描述 符

集群稳定之路

进程事件

message

error

exit

close

disconnect

自动重启

自杀信号

限量重启

负载均衡

操作系统的抢占式策略,闲着的进程对到来的请求进行争抢,谁抢到谁服务

状态共享

数据共享:第三方数据存储

主动通知

Cluster 模块

Cluster 工作原理

事实上cluster模块就是child_process和net模块的组合应用

Cluster 事件

fork

online

listening

disconnect

exit

setup

原创声明,本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

登录 后参与评论
0 条评论

相关文章

  • Nodejs进阶:如何玩转子进程(child_process)

    本文作者:IMWeb 陈映平 原文出处:IMWeb社区 未经同意,禁止转载 模块概览 在node中,child_process这个模块非常重要。掌握了...

    IMWeb前端团队
  • Nodejs进阶:如何玩转子进程(child_process)

    在node中,child_process这个模块非常重要。掌握了它,等于在node的世界开启了一扇新的大门。熟悉shell脚本的同学,可以用它来完成很多有意思的...

    IMWeb前端团队
  • 《深入浅出Node.js》-玩转进程

    Node 基于 V8 引擎构建,采用单线程模型,所有的 JavaScript 将会运行在单个进程的单个线程上,它带来的好处是:没有多线程中常见的锁以及线程同步的...

    李振
  • [Linux] PHP程序员玩转Linux系列-使用supervisor实现守护进程

    首先遇到的问题是,部署nodejs的博客程序时,我把执行nodejs的命令放到后台,使用加&和nohup命令

    大灰狼2
  • day37(多进程)- 多进程、守护进程、进程锁

    # obj.start() 实际上是用的 run() 方法 # 但是对象不能直接调用 run() 方法 # 直接调用就立即执行,成了单线程 ...

    少年包青菜
  • 玩转Spring Cache --- 整合进程缓存之王Caffeine Cache和Ehcache3.x【享学Spring】

    前面文章大篇幅详细讲解了Spring Cache缓存抽象、三大缓存注解的工作原理等等。若是细心的小伙伴会发现:讲解时的Demo我使用的缓存实现方案均是Sprin...

    YourBatman
  • 孤儿进程和僵尸进程

    我们知道在unix/linux中,正常情况下,子进程是通过父进程创建的,子进程在创建新的进程。子进程的结束和父进程的运行是一个异步过程,即父进程永远无法预测子进...

    武军超
  • php进程通信-进程信号

    快一个月没发博文了,之前都在深入研究php多进程tcp服务器,结果到现在也没搞出一个完美的解决方案,所以还是先发下这个月学到的东西吧

    仙士可
  • 守护进程与僵尸进程

    http://blog.csdn.net/russell_tao/article/details/7090033

    bear_fish
  • 玩转jupyter

    Jupyter Notebook是一个开源的Web应用程序,可以让您创建和实时共享代码、方程式、可视化和说明文本等文档。主要用于:数据清理与转换,数值模拟,统计...

    尾尾部落
  • 玩转nginx

    1、nginx是什么: nginx是一个高性能的服务器,占用内存少,并发能力强。

    贪挽懒月
  • 玩转OpenFeign

    很多时候,我们需要在项目中调用一些第三方接口,例如对接支付宝支付、微信支付,调用支付接口。如果项目中引入了OpenFeign,那么我们是否可以使用OpenFei...

    Java艺术
  • 玩转BashBunny

    这几天需要准备一个威胁演示的demo,正好手头上有BashBunny,因此我就测试了一波,特此记录。

    安恒网络空间安全讲武堂
  • 玩转LayoutInflater

    今天准备和大家分享的是 LayoutInflater,我给它取名:布局打气筒,很形象,其实就是根据英文翻译过来的?。我们知道气球打气筒可以给气球打气从而改变它的...

    Rouse
  • 玩转 ByteBuffer

    首先为什么一个小小的 Buffer 我们需要单独拎出来聊?或者说,Buffer 具体是在哪些地方被用到的呢?

    SH的全栈笔记
  • 进程

      操作系统是一个协调\管理\控制将数据软/硬件资源的一段控制程序   有两大功能:

    py3study

扫码关注腾讯云开发者

领取腾讯云代金券