消息隊(duì)列(Message Queue,簡稱MQ)
從字面意思上看,本質(zhì)是個(gè)隊(duì)列,F(xiàn)IFO先入先出,只不過隊(duì)列中存放的內(nèi)容是message而已。
其主要用途:不同進(jìn)程Process/線程Thread之間通信。
為什么會(huì)產(chǎn)生消息隊(duì)列?有幾個(gè)原因:
不同進(jìn)程(process)之間傳遞消息時(shí),兩個(gè)進(jìn)程之間耦合程度過高,改動(dòng)一個(gè)進(jìn)程,引發(fā)必須修改另一個(gè)進(jìn)程,為了隔離這兩個(gè)進(jìn)程,在兩進(jìn)程間抽離出一層(一個(gè)模塊),所有兩進(jìn)程之間傳遞的消息,都必須通過消息隊(duì)列來傳遞,單獨(dú)修改某一個(gè)進(jìn)程,不會(huì)影響另一個(gè);
不同進(jìn)程(process)之間傳遞消息時(shí),為了實(shí)現(xiàn)標(biāo)準(zhǔn)化,將消息的格式規(guī)范化了,并且,某一個(gè)進(jìn)程接受的消息太多,一下子無法處理完,并且也有先后順序,必須對收到的消息進(jìn)行排隊(duì),因此誕生了事實(shí)上的消息隊(duì)列
RabbitMQ
RabbitMQ是一套開源(MPL)的消息隊(duì)列服務(wù)軟件,是由 LShift 提供的一個(gè) Advanced Message Queuing Protocol (AMQP) 的開源實(shí)現(xiàn),由以高性能、健壯以及可伸縮性出名的 Erlang 寫成。
hibernate里對象有三種狀態(tài):
1,Transient 瞬時(shí) :對象剛new出來,還沒設(shè)id,設(shè)了其他值。
2,Persistent 持久:調(diào)用了save()、saveOrUpdate(),就變成Persistent,有id
3,Detached ?脫管 : 當(dāng)session ?close()完之后,變成Detached。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。