我们正在开发具有Spring-boot和REST的中间件平台,并且不不打算使用完全微服务架构,而是基于功能创建小型服务。 例如:catalog-service-api用于在目录上进行CRUD操作,而IoT用于online-services-api。
1。我应该去打仗还是打罐子?
我觉得这里的jar的缺点是,每个jar都会创建一个新进程(新tomcat),此刻我现在不想扩展。
我们在开发基于云的企业产品时,是否需要jar或war?不需要微服务。
2。如果我发动战争,Spring Boot管理员会按预期工作吗?
我们正面临在一台服务器中部署spring-boot admin,而客户端是另一台服务器的情况。
@SpringBootApplication
@EnableAutoConfiguration
@EnableAdminServer
public class SpringBootAdminServerApplication extends
SpringBootServletInitializer{
public static void main(String[] args) {
SpringApplication.run(SpringBootAdminServerApplication.class, args);
}
}
客户:
@SpringBootApplication
public class SpringBootAdminClientApplication extends
SpringBootServletInitializer{
public static void main(String[] args) {
SpringApplication.run(SpringBootAdminClientApplication.class, args);
}
}
客户端application.properties: spring.boot.admin.client.url = http://localhost:8085 spring.boot.admin.client.service-url = http://localhost:8085/spring-boot-admin-server
管理服务器正在运行,但客户端不可用。
请提出建议。
答案 0 :(得分:0)
我应该去打仗还是打罐子?
该选择完全取决于您。我认为,如果您了解基本差异,您将会理解。见下文:
.war文件是在应用程序服务器中运行的 Web应用程序存档,而.jar是在用户计算机上运行桌面应用程序的 Java Application Archive 。
因此,如果要在同一应用程序服务器下运行多个应用程序,请选择war。尽管趋势是将JAR文件的服务器配置为0,并且可以在任何地方运行(例如springbooot fat-jar)。
如果我喜欢战争,spring boot admin是否可以按预期工作?这是您的应用程序和服务器以及其他机器设置,战争或jar类型与之无关。 >
答案 1 :(得分:0)
我建议您使用带有Docker容器的JAR的Spring Boot应用程序。
另一方面,如果您的项目相互依赖,则可能要使用战争。
没有更好的方法,这取决于项目以及您对docker的devOps的了解。就个人而言,我使用Jar来运行我的所有项目,以使用或不使用docker来进行单独的处理。