Go最全多进程管理工具 — goreman,2024年最新Golang开发零基础

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

在Linux下使用多进程管理工具对开发和运维都很有用,常见的功能全面的主流工具主要有monit、supervisor。不过开发中使用则推荐轻量级小工具 goreman

goreman是对Ruby下广泛使用的foreman的重写,基于golang的工具。顺便提一句:goreman的作者是mattn,在golang社区挺活跃的日本的一名程序员。foreman原作者也实现了一个golang版:forego,不过没有goreman好用,举个例子:coreos的etcd就是使用的goreman来一键启停单机版的etcd集群。

2 安装

注意:因为 goreman 是基于golang的,所以需要先安装golang环境,golang环境的安装配置

go工具安装都非常简单:
在GitHub:https://github.com/mattn/goreman 上有最新的下载安装命令

go install github.com/mattn/goreman@latest
goreman help

安装完成后可以在 $GOPATH/bin 下看到有 goreman 的执行文件。

3 使用

由于是小工具,参考goreman help列出的命令基本就足够了。简单的使用步骤:

  1. 新建一个Procfile文件,如果改名则需要goreman -f指定。
  2. 在包含Procfile的目录下执行:goreman start
  3. 关闭时直接ctrl-c推出,goreman会自动把所有启动的进程都shut down

3.1 使用示例

Apache kafka的使用为例,kafka使用时通常需要启动两个进程:一个zookeeper,一个kafka broker,因此可以编写一个kafka开发环境的Procfile:

zookeeper: bash ~/tool/kafka_2.11-0.8.2.1/bin/zookeeper-server-start.sh config/zookeeper.properties
broker: bash ~/tool/kafka_2.11-0.8.2.1/bin/kafka-server-start.sh config/server.properties

然后执行goreman start,可以看到不同颜色区分的zookeeper、kafka broker进程的启动日志:

11:04:10 zookeeper | Starting zookeeper on port 5000
11:04:10    broker | Starting broker on port 5001
...

关闭时,直接ctrl-c,则两个bash进程也会被自动关闭。

4 高级用法

上述是最简单的使用场景:直接使用goreman start,不过有个缺点,即goreman绑定到了当前的session,而且不能灵活控制多个进程启停以及顺序。而实际开发过程中,通常需要经常单独启停某个正在开发的模块相关的进程,比如上面例子中的kafka-broker,而Zookeeper通常不需要频繁启停。

可以使用更高级的goreman run命令来实现,如:

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值