我喜欢使用Sping Boot (v2.1.1)为后端服务器编写一个shell脚本,以特定顺序启动多个微服务-一些服务依赖于其他服务运行。
什么是“最佳实践”?
当然,我可以像这样运行.jar
(original post):
#!/bin/bash
java -jar myjar1.jar &
java -jar myjar2.jar &
java -jar myjar3.jar &
但这会同时启动.jar
s,afaik。
我如何确保某个服务myjar1.jar
正确启动,然后另一个服务myjar2.jar
启动。因为每个服务都是SpringBootApplication,所以我假设有一定的可能性这样做?!
我读了this SO solution,但我不想创建任何符号链接,因为我只需要用于开发目的。
2条答案
按热度按时间dl5txlt91#
好吧,它是非常具体的服务,当它开始。在进程级别,只要你执行命令服务正在运行,所以你需要你的服务共享的状态时,它的了。一种方法,我能想到的是在你的脚本启动服务,暴露健康的API,并检查它是否了。如果它是移动到下一个。你需要在你的脚本中使用curl和sleep命令。
但是我想知道你为什么要这样做。特别是对于你的微服务,你的服务不应该相互依赖。它们可能需要一些数据,但是它们应该能够适应服务可能来来去去的事实。你应该有一个非常强的理由去做你正在做的事情,因为在真实的世界的环境中,很难确保秩序得到维护。
pw9qyyiw2#
我有一个shell脚本,用于在多个应用程序中启动微服务(test1,test 2和test 3是不同的应用程序,其中有几个服务)。
示例:-