以前自己用的比较多的是
一般现在用什么比较多?
1
zreateny 358 天前
supervisor 或者 watchdog
|
2
nigerunndayo 358 天前
有哪位前辈能根据使用经验说一下这几个的区别吗?
|
3
cnleon 358 天前
systemd 吧,操作系统自带的
|
4
Maboroshii 357 天前
systemd 吧,系统自带的还是稳点。
|
5
IvanLi127 357 天前 via Android
systemd 感觉挺 ok 的
话说现在不都上容器化了嘛😏 |
6
OceanBreeze 357 天前
|
7
Maboroshii 357 天前 via Android
@OceanBreeze 一个进程定义一个服务应该就可以
|
8
nevermoreluo 357 天前
三个都用过,以下是个人感觉
易用性上 pm2 好,端口复用, 程序多开,日志分割统统都可以用 pm2 解决 稳妥上还是 systemd supervisor ,咋说呢,好几年前用过,稳定也挺稳定的,配置完之后也没太多改动,但是状态查看/管理,确实比 PM2 差很多 |
9
sdsaaeee 357 天前
docker
|
10
libook 357 天前
已经用容器很多年了。
不用容器的话,pm2 对开发友好一些,部署的话 systemd 更通用。 |
11
libook 357 天前
@OceanBreeze #6 可以了解以下 systemd 的 target 机制。systemd 功能挺强大的,可以调整启动顺序和依赖关系,比如服务 A 依赖服务 B ,可以通过配置来让 systemd 启动 B 成功后再启动 A 。
|
12
OceanBreeze 357 天前 via iPhone
@libook 这个我是知道的。我的意思是,假如我有一组进程,要启动 100 个。systemd 可以写一个 service 文件来完成吗?
|
13
xiaoz 357 天前 via Android
@OceanBreeze #12 ,你这种直接写 shell 得了
|
14
aloxaf 357 天前 1
@OceanBreeze #12 可以,systemd 支持模板
|
15
oneisall8955 357 天前 via Android
portainer stack 写 docker compose 文件,快的飞起
|
16
LoliconInside 357 天前
如果不打算容器化就用 systemd
如果愿意容器化,Docker Compose 如果觉得 Compose 起容器不好管理,Kubernetes |
17
yanqiyu 357 天前 1
@OceanBreeze 写成模板 unit ,类似于 [email protected] 然后启动的时候就 @ 0-99 就启动了 100 个
|
18
OceanBreeze 357 天前 via iPhone
@aloxaf 感谢,学习到了
|
19
ragnaroks 357 天前
用 systemd 的最多,虽然有很多人不喜欢,但是已经成为事实上的标准。
supervisor 则在容器大行其道的现在回光返照了一把,因为常用的容器实现都不支持单 container 多顶级 process 。 |
20
n1cogrv 357 天前
@OceanBreeze #18 补充一下 @nodejsexpress
https://www.freedesktop.org/software/systemd/man/latest/systemd.unit.html#:~:text=Example%C2%A03.%C2%A0Top%20level%20drop%2Dins%20with%20template%20units 再加上 systemd 的 service 文件里面可以内嵌很多特殊变量,`%i`也仅仅是其中一个用来绑在`@`后面的 specifier ,还有很多变量可以在里面使用。 毕竟不选择 docker 那一套的话,自然你也会觉得 pm2 、supervisor 也不够稳妥。systemd 自带的那一堆 on-failure 、Requires 、PartOf 、Conflicts 考虑了很多种[强|弱|半]依赖情况以及一大堆 Condition 。只要肯吃透点文档,可用性会比 docker 那一套强一些。 具体可以看一下 https://www.freedesktop.org/software/systemd/man/latest/systemd.unit.html |
21
julyclyde 356 天前
你如果用 supervisorD 和 pm2 ,那他俩自身的安全又由谁来保障呢
追根溯源,必须托管给 PID1 才可以 |