內(nèi)網(wǎng)雙通道高可用短信平臺設(shè)計(jì)
內(nèi)網(wǎng)環(huán)境實(shí)現(xiàn)短信通知、短信告警、短信提醒等, 對接內(nèi)網(wǎng)各應(yīng)用平臺,提高內(nèi)網(wǎng)短信平臺的可靠性, 使得緊急消息能可靠及時(shí)地發(fā)出,具有很高的實(shí)用價(jià)值。
相較于外網(wǎng)短信平臺,內(nèi)網(wǎng)短信平臺多借助于硬件短信設(shè)備+短信服務(wù)軟件+sim卡組成,由于sim卡存在欠費(fèi)、sim卡被限制、機(jī)房手機(jī)信號弱等問題,都會影響短信及時(shí)發(fā)出。為實(shí)現(xiàn)內(nèi)網(wǎng)短信平臺的高可用,本設(shè)計(jì)可通過兩套短信設(shè)備+兩個(gè)sim卡+短信服務(wù)軟件,實(shí)現(xiàn)負(fù)載均衡發(fā)送。當(dāng)一路短信通道出現(xiàn)故障后,另一路短信通道可繼續(xù)完成待發(fā)送短信任務(wù)。雙路互為備份,從而實(shí)現(xiàn)較高的可靠性。
當(dāng)一路短信設(shè)備后發(fā)送失敗,會在數(shù)據(jù)庫短信記錄發(fā)送失敗次數(shù)累計(jì),當(dāng)失敗次數(shù)小于3,另一路正常的短信設(shè)備會繼續(xù)抓取并發(fā)送。如果發(fā)送成功標(biāo)記為發(fā)送成功狀態(tài),如果發(fā)送失敗,繼續(xù)累計(jì)發(fā)送失敗次數(shù),下次抓取時(shí)繼續(xù)發(fā)送。只有當(dāng)達(dá)到系統(tǒng)設(shè)置的最大失敗嘗試次數(shù)后,才會將此記錄標(biāo)記為發(fā)送失敗記錄。
發(fā)送最大失敗次數(shù)可以通過系統(tǒng)后臺調(diào)節(jié)。兩路設(shè)備共同作用于發(fā)送隊(duì)列。互為備份,從而實(shí)現(xiàn)了高可用。此方案的最大優(yōu)勢在于充分利用兩路設(shè)備形成兩個(gè)發(fā)送通道,正常時(shí)同時(shí)工作加快發(fā)送速度,異常時(shí)可接管發(fā)送任務(wù)繼續(xù)發(fā)送。對于可靠性要求比較高的短信通知、短信告警等應(yīng)用,此方案不失為一種低成本的高科用方案。
如果要實(shí)現(xiàn)進(jìn)一步的可靠性, 還可用使用4路短信通道。