如何实现 CLI 客户端到 golang 守护进程?

我有一个带有 http api 的 linux 守护进程,它是我在 golang 上写的。开始时,他初始化变量,并且一直在我询问 api 时 - 他是答案。初始化是硬操作:读取许多配置,添加许多对象等。

我的问题是,如果主进程死了,我将无法使用 http api ;)。我的代码并不完美,有时他会堆栈或死亡,或者用户禁用 linux 服务。但我仍然需要一些低级功能才能工作。

如果我尝试在 cli 上实现 web api 的所有功能:他的启动将非常缓慢且对系统来说很困难。但是,如果实现将在 CLI 和 web api 之间分开,我会遇到更多问题:不一致。例如:我可以在 CLI 中同时在 web api create && 中启动 - 全部删除。我必须实现锁定功能来防止这种情况。(我觉得这边写代码不好)

我不使用数据库服务器(也不需要)。也许我可以存储内部文件或使用一些共享内存?

我的问题是如何在 golang 守护进程和 CLI 客户端之间共享对象的数据?


海绵宝宝撒
浏览 199回答 1
1回答

至尊宝的传说

Go 有一个内置的RPC 系统,可以方便地在 Go 进程之间进行通信。您还可以查看0mq或使用D-Bus。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go