21.3. Atlassian— 虚拟机集群管理系统

未匹配的标注

www.atlassian.com/

在 Atlassian, Go 被用于支持并发的实用程序设计,用于配置和监控测试服务器。他们为软件开发人员制作开发和协作工具,主要是Java商店。他们有一个用于测试的虚拟机集群,运行大量无盘主机。它的配置和监控系统是用 Go 开发的,系统由3部分组成:

  • 运行于每台服务器上的代理进程,广播虚拟机的状态。
  • 一个管理进程,收听代理的广播,在代理失败没有发送报告时执行指定的动作。
  • 一个命令行工具用于向管理进程传递命令。

代理使用 protocol buffer 协议来编码它读到的状态信息,并通过 UDP 协议广播。管理进程读取配置文件,为集群中的每个虚拟机启动一个 goroutine 。每个 goroutine 监听对应的虚拟机的通告,并发出指令(shell 命令)使其保持正确的状态。

为什么用 Go :根据配置,可以一个 goroutine 对应一台虚拟机。

系统非常容易部署,只需要安装二进制文件,并且没有依赖。

Dave Cheney,Atlassian 工程师说:「代理运行在从网络启动并且完全依靠内存运行的机器上,一个二进行制文件,对比 JVM 或 Python 运行时,能够节省更多的资源」。

本文章首发在 LearnKu.com 网站上。

本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://learnku.com/docs/the-way-to-go/2...

译文地址:https://learnku.com/docs/the-way-to-go/2...

上一篇 下一篇
讨论数量: 0
发起讨论 查看所有版本


暂无话题~