我喜欢使用Spring Boot (v2.1.1)为后端服务器编写一个shell脚本,以便以特定的顺序启动多个微服务-一些服务依赖于其他服务才能运行。
什么是“最佳实践”?
当然,我可以像这样运行.jar (original post):
#!/bin/bash
java -jar myjar1.jar &
java -jar myjar2.jar &
java -jar myjar3.jar &但这会同时启动.jar,afaik。
如何确保某个服务myjar1.jar正确启动,然后启动另一个服务myjar2.jar。因为每个服务都是一个SpringBootApplication,所以我假设有这样做的某些可能性?!
我阅读了this SO solution,但我不想创建任何符号链接,因为我只需要它用于开发目的。
发布于 2018-12-02 20:44:23
它对于你的服务来说是非常特定的,比如它什么时候启动。在进程级别,只要您执行命令,服务就在运行,因此您将需要您的服务在其启动时共享状态。我能想到的一种方法是在你的脚本中启动服务,公开健康api并检查它是否启动。如果它是移动到下一个。您需要在脚本中使用curl和sleep命令。
但我想知道你为什么要这么做。特别是对于你的微服务,你的服务不应该相互依赖。他们可能需要一些数据,但他们应该能够适应服务可能来来去去的事实。你应该有一个非常强烈的理由去做你正在做的事情,因为在现实世界的环境中,很难确保秩序得到维护。
https://stackoverflow.com/questions/53579572
复制相似问题