第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

異步方式發(fā)郵件的設(shè)計(jì)?

異步方式發(fā)郵件的設(shè)計(jì)?

猛跑小豬 2019-03-05 13:15:52
業(yè)務(wù)邏輯如下:1、創(chuàng)建訂單2、發(fā)送郵件,提醒相關(guān)人員訂單創(chuàng)建完成。剛開始,創(chuàng)建訂單之后,發(fā)送郵件是做成同步的,這樣導(dǎo)致一個(gè)問題,創(chuàng)建訂單這個(gè)操作耗時(shí)太長(zhǎng),帶來的直觀效果就是:頁面的那個(gè)圈圈一直在轉(zhuǎn),雖然訂單創(chuàng)建成功,但是郵件發(fā)送失敗,由于他們?cè)谝粋€(gè)事務(wù)中,spring aop配置了如果有失敗,就要回滾操作。基于以上事實(shí),所以決定將郵件發(fā)送的服務(wù)設(shè)置為異步的方式。我的設(shè)計(jì)思路是這樣的。1.創(chuàng)建訂單。2.利用消息中間件notify,將發(fā)送郵件的body放到notify的發(fā)布者當(dāng)中,這個(gè)流程就結(jié)束了。然后有一個(gè)消息的訂閱者,消息的訂閱者訂閱發(fā)送方的消息,當(dāng)訂閱到消息之后,將消息通過郵件的方式發(fā)送。這樣就做成了郵件的異步發(fā)送。這種異步的設(shè)計(jì),要把消息傳到中間件服務(wù)器,再從中間件服務(wù)器上拿消息,有沒有更好的設(shè)計(jì)方案???
查看完整描述

3 回答

?
Smart貓小萌

TA貢獻(xiàn)1911條經(jīng)驗(yàn) 獲得超7個(gè)贊

因?yàn)閔ttp是一種應(yīng)答性質(zhì)的協(xié)議,要想實(shí)現(xiàn)異步發(fā)送郵件,就必須由服務(wù)器本身去實(shí)現(xiàn),而不是http本身。

從設(shè)計(jì)方面,對(duì)于服務(wù)器資源寬裕的來說,可以用一臺(tái)服務(wù)器專門做郵件服務(wù)器,對(duì)外公開接口來實(shí)現(xiàn)異步發(fā)送郵件。
否則,則需要把要發(fā)送的郵件和內(nèi)容存儲(chǔ)起來(如數(shù)據(jù)庫,文本文件,redis等),然后通過以下方式來異步發(fā)送。
對(duì)于windows系列服務(wù)器,可以編寫服務(wù),利用系統(tǒng)task等簡(jiǎn)單來實(shí)現(xiàn)。
對(duì)于linux系列服務(wù)器,可以通過corn定時(shí),守護(hù)進(jìn)程等來實(shí)現(xiàn)。


查看完整回答
反對(duì) 回復(fù) 2019-04-22
?
慕碼人8056858

TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超6個(gè)贊

將如一條數(shù)據(jù)到消息表(包含被發(fā)送人,發(fā)送狀態(tài),發(fā)送問題,發(fā)送類型),來個(gè)任務(wù),定時(shí)掃描消息表,查找未發(fā)送的消息,發(fā)送消息,修改消息表狀態(tài)


查看完整回答
反對(duì) 回復(fù) 2019-04-22
?
收到一只叮咚

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超5個(gè)贊

個(gè)人感覺有點(diǎn)太復(fù)雜,直接開線程異步調(diào)不是就可以嗎?


查看完整回答
反對(duì) 回復(fù) 2019-04-22
  • 3 回答
  • 0 關(guān)注
  • 659 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)