rabbitmq和rocketmq區(qū)別?
RabbitMQ基于具有跨語言特性的AMQP協(xié)議,支持多種開發(fā)語言,用erlang語言編寫,天生具有高并發(fā)性。
Rock
rabbitmq能支持多少的并發(fā)?
在實際應用中,并發(fā)打印的量并不多,但是使用這種模式會讓1000個消費者一直連接到服務器,這其實是一種很大的浪費。
本來我也考慮過用r
Spring如何優(yōu)雅地發(fā)送異步發(fā)送通知?
Spring異步發(fā)送通知,包括兩種:
1.異步執(zhí)行一個功能,比如發(fā)送短信、發(fā)送郵件、更改訂單信息、更改支付信息等。
2.發(fā)送消息通知并使用消息中間件:
ActiveMQ,全面支持JMS和J2EE,支持多種語言和協(xié)議。
RabbitMQ是一個開源的AMQP實現,用于在分布式系統(tǒng)中存儲和轉發(fā)消息。擴展性、易用性、高可用性等方面表現良好。支持多客戶端和多語言,這是一個完整的AMQP實現。
Kafka(主要是日志服務)是一個高吞吐量的分布式發(fā)布-訂閱消息系統(tǒng),它是一個分布式的、分區(qū)的、可靠的分布式日志存儲服務,通過獨特的設計提供消息系統(tǒng)的功能。
函數的異步執(zhí)行:Async
@Async
publicvoidasyncEvent()拋出InterruptedException{
(5000)//數據驗證
(6000)//保存數據
(7000)//發(fā)送郵件
(異步方法完成)
}
1.異步調用很簡單,在方法上加個注釋就行了:@Async。
2.2號。SpringBoot啟動類通過注釋@EnableAsync啟動異步。
發(fā)送消息通知并使用消息中間件。1.介紹依賴性:。
ltdependencygt
ltartifactidgtspring-boot-starter-amqplt/artifactIdgt
lt/依賴性gt
2.簡介:
spring:
application:nam:彈簧靴兔
rabbitmq:
host:·39.105.167.131
port:5762
us:客人
password:客人
3.定義隊列
@配置
公共類RabbitConfig{
@Bean
公共隊列Queue(){
返回新隊列(你好)
}
}
4.發(fā)報機
5.收件人
測試
注意,發(fā)送方和接收方的隊列名必須相同,否則無法接收。
執(zhí)行測試方法,就可以發(fā)送消息了。
上面我們只是做了一個簡單的一對一測試,有一對多,發(fā)布訂閱,路由模式,話題模式。
以上只是為了吸引玉石,介紹基本流程,詳細開發(fā)流程。歡迎留言。