SpringBoot源码之Tomcat加载原理分析,消息中间件的四种投递模式对比
由于这两个主题相对独立,我会分别给出解答。
SpringBoot源码分析之Tomcat加载原理:
SpringBoot通过内嵌的Tomcat,无需额外部署Tomcat服务器即可运行web应用。SpringBoot在启动过程中会自动配置Tomcat相关参数,并启动内嵌的Tomcat服务器。
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@Bean
public WebServerFactoryCustomizer<ConfigurableWebServerFactory> webServerFactoryCustomizer() {
return factory -> {
if (factory instanceof TomcatServletWebServerFactory) {
TomcatServletWebServerFactory tomcatFactory = (TomcatServletWebServerFactory) factory;
tomcatFactory.setPort(8080); // 设置端口号
}
};
}
}
- 消息中间件四种投递模式对比:
消息中间件的四种投递模式包括:
- 最多一次(At most once):消息可能会丢失,但确保消息传递者能够尽快传递消息。
- 至少一次(At least once):消息不会丢失,但可能会重复,确保消息至少被消费者接收一次。
- 恰好一次(Exactly once):消息在生产者和消费者之间只会被传递一次。这是最严格的传递保证。
- 顺序一次(At most once with order):在保证最多一次投递的同时,保证消息的顺序。
在实际应用中,可以根据业务需求选择合适的投递模式。通常,对于要求严格一致性的系统,如银行、支付系统,会选择恰好一次传递保证。而对于大数据处理或者日志记录类型的应用,则可能更倾向于最多一次或者至少一次模式,以便提高系统的容错性和性能。
评论已关闭