网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
多进程管理工具 — goreman
1 goreman简介
在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列出的命令基本就足够了。简单的使用步骤:
- 新建一个Procfile文件,如果改名则需要goreman -f指定。
- 在包含Procfile的目录下执行:goreman start
- 关闭时直接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进程的启动日志:
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**