登录
首页 >  Golang >  Go问答

UI 和 API 的持久化运行问题

来源:stackoverflow

时间:2024-03-22 11:51:49 405浏览 收藏

本文探讨了 UI 和 API 在 Web 应用程序中实现持久化运行问题的方法。应用程序从 GitHub 获取“access.conf”文件,并通过 HTTPS 发送到服务器。服务器端会重命名和移动文件,检查其有效性,并重新启动 Apache。本文还讨论了三个相关 API 的设计,它们负责部署文件、获取部署状态、重启服务和获取重启状态。

问题内容

我有一个 Web 应用程序,它从内部 GitHub 获取 Apache“access.conf”文件,然后通过 HTTPS 类型的经过身份验证的请求将其发送到临时目录中的服务器场。

当文件到达服务器 1 时,会完成一些操作: 1. 通过脚本,将现有的 access.conf 重命名为 access.conf.back,并将新文件从 temp 移动到 /etc/httpd/conf.d。 2.通过apachectl -t测试文件 3.如果检查失败,则意味着优雅地重新启动apache将不会成功,因此,不要重新加载,并将旧文件移动到位,然后转到步骤6。 5.如果检查通过,则执行:apachectl -k Graceful 6. 对于列表中的每个服务器,转到下一步

这一切都很好,但我需要经验丰富的网络开发人员提供一些指导,告诉我如何在一个漂亮的表格中显示这一点,其中绿色勾号代表“好”,红色十字代表“坏”。

我将如何显示上述三个步骤的状态,再加上 access.conf 到服务器的“部署”,因此将是三个操作,“文件已发送”、“文件已检查”、“服务器”重新启动。”这一切都应该是实时的。

API:/deployfile/access.conf 现在这就是我被要求为 WebUI 做的事情。我还有一个 ReST API,它也负责部署部分。它会接受请求并执行。并将结果存储在表中,并返回唯一的事务id。

API:/deployfile/status/id 对于上面的 Status API,它将在从事务表中获取的 JSON 对象中显示部署结果。

API:/restartservices/id 最后,Apache的重启也将是一个API,每次重启后,它都会等待几分钟,让负载均衡器再次看到其健康,然后转到下一个服务器。这将在另一个线程中完成,因为这会很耗时。

API:/restartservices/status/id 再次以 JSON 形式显示结果。

无论如何,我对 Vue 很熟悉,但想知道业界如何正确地做到这一点?

我可能想得太多了,但最好还是问一下。

提前致谢。


解决方案


使用服务器端事件。有许多 Go 库可以执行此操作。

终于介绍完啦!小伙伴们,这篇关于《UI 和 API 的持久化运行问题》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>