将Java应用程序移植到Go - 任何建议?

Dev*_*rim 7 c java go

我们想用Go改写kodingen.com后端,目前是Java,使用jsvc作为守护进程运行.

我从未接触过我生命中的任何一个C,我只是在Java中经历过,所以我不知道这是否是我应该开始的事情.

但是,任务非常简单

  • 从mysql数据库中读取shell命令
  • 排队并并行执行它们
  • 将每个shell输出保存到数据库

而已.所以这些简单的要求让我希望我能开始使用这种美妙的语言.

你会提出什么建议?C还好吗?

Eva*_*haw 3

我非常喜欢 Go 并为该项目做出了贡献。然而,我认为在确定使用 Go 之前,你应该考虑一些关于 Go 的事情。

  • Go 仍然是一种不稳定的语言。它的语法、功能和包都可能会发生变化。如果您选择使用它,请确保您准备好跟上它。
  • Go 的垃圾收集还不成熟。您的内存使用量应该优于 1.2 GB,但它可能不会让您接近 C 级别。
  • MySQL(或任何其他数据库)没有核心支持。有几个非官方的 MySQL 包项目。最近更新的是 GoMySQLGo-MySQL-Client-Library。我不知道它们有多完整或多稳定。

至于并行排队和执行,我认为 Go 能够做得很好。您可能会使用exec包来执行并与 goroutine 并行化。