手機(jī)短信發(fā)送已經(jīng)成為網(wǎng)站的標(biāo)配功能。許多人認(rèn)為,短信發(fā)送功能只是簡(jiǎn)單地對(duì)接一個(gè)短信平臺(tái)即可,但實(shí)際上,這項(xiàng)功能遠(yuǎn)比現(xiàn)象中復(fù)雜。WebFuture 的手機(jī)短信發(fā)送模塊具備許多亮點(diǎn)設(shè)計(jì),功能豐富且細(xì)致入微。
手機(jī)短信發(fā)送機(jī)制的改進(jìn)
如果手機(jī)短信發(fā)送是直接提交給短信平臺(tái),而本地不保留發(fā)送記錄,這樣的設(shè)計(jì)會(huì)存在一些問(wèn)題:
- 無(wú)法排查短信發(fā)送模塊的功能是否正常(是否成功發(fā)送??jī)?nèi)容是否正確?),只能通過(guò)短信服務(wù)商的后臺(tái)查詢(xún)。
- 缺乏重發(fā)機(jī)制,如果短信平臺(tái)偶爾出現(xiàn)故障,就會(huì)導(dǎo)致短信丟失。當(dāng)短信平臺(tái)故障導(dǎo)致無(wú)法發(fā)送時(shí),無(wú)法及時(shí)報(bào)警。
- 無(wú)法排查短信發(fā)送模塊的功能是否正常(是否成功發(fā)送??jī)?nèi)容是否正確?),只能通過(guò)短信服務(wù)商的后臺(tái)查詢(xún)。
- 缺乏重發(fā)機(jī)制,如果短信平臺(tái)偶爾出現(xiàn)故障,就會(huì)導(dǎo)致短信丟失。當(dāng)短信平臺(tái)故障導(dǎo)致無(wú)法發(fā)送時(shí),無(wú)法及時(shí)報(bào)警。
而 WebFuture 的手機(jī)短信發(fā)送機(jī)制是:首先將短信記錄保存在本地服務(wù)器中,然后通過(guò)短信發(fā)送服務(wù)不間斷地輪詢(xún)短信記錄表,將未發(fā)送或發(fā)送失敗的短信重新發(fā)送出去。這樣就解決了直接提交短信平臺(tái)模式下的上述問(wèn)題。
支持多個(gè)短信發(fā)送平臺(tái)的接口
支持中國(guó)移動(dòng)、中國(guó)聯(lián)通、中國(guó)電信等運(yùn)營(yíng)商以及名傳無(wú)線等專(zhuān)業(yè)短信發(fā)送平臺(tái)的手機(jī)短信發(fā)送接口。
短信發(fā)送記錄管理
支持對(duì)短信發(fā)送記錄進(jìn)行查看、篩選、搜索、刪除等功能,支持對(duì)短信進(jìn)行重發(fā)等功能。
支持短信發(fā)送的優(yōu)先級(jí)控制
支持短信發(fā)送的優(yōu)先級(jí)控制,手機(jī)短信驗(yàn)證碼之類(lèi)的短信優(yōu)先發(fā)送,而廣告類(lèi)的短信則優(yōu)先級(jí)最低。
支持短信發(fā)送速度控制
短信發(fā)送平臺(tái)通常具備防止 CC 攻擊的機(jī)制,如果提交的短信并發(fā)量過(guò)大,就可能被短信平臺(tái)視為垃圾短信而拒絕服務(wù)。因此,我們?cè)O(shè)計(jì)了短信發(fā)送機(jī)制:每發(fā)送一條短信后休眠 0.3 秒,發(fā)送完本輪次的所有短信后再休眠 1 秒,隨后繼續(xù)下一輪的 10 條短信發(fā)送。如果當(dāng)前沒(méi)有待發(fā)送的短信,則休眠 5 秒后重新輪詢(xún)。這樣可以有效避免被短信平臺(tái)拒絕服務(wù)的問(wèn)題。
支持短信發(fā)送失敗后的重發(fā)機(jī)制
如果某條短信發(fā)送失?。ɡ缡謾C(jī)號(hào)碼無(wú)效,或短信服務(wù)商出現(xiàn)短暫故障),短信發(fā)送服務(wù)將在下一輪次繼續(xù)嘗試重新發(fā)送,最多可嘗試 N 次(N 值可配置)。此外,還可以在短信發(fā)送記錄管理界面中手動(dòng)重新發(fā)送。
支持短信發(fā)送平臺(tái)故障報(bào)警功能
當(dāng)發(fā)送失敗次數(shù)達(dá)到 N 次的不同手機(jī)號(hào)碼的短信數(shù)量累計(jì)到 10 條時(shí)(這可能意味著短信平臺(tái)出現(xiàn)問(wèn)題),系統(tǒng)將向平臺(tái)超級(jí)管理員發(fā)送站內(nèi)短信和郵件進(jìn)行報(bào)警(因?yàn)榇藭r(shí)手機(jī)短信功能可能不可用)。
報(bào)警后,系統(tǒng)會(huì)自動(dòng)暫停短信發(fā)送半小時(shí),但仍允許添加新的短信發(fā)送記錄(僅記錄,等待系統(tǒng)恢復(fù)發(fā)送)。半小時(shí)后會(huì)重新嘗試發(fā)送,如果仍然失敗,則再暫停半小時(shí)。整個(gè)暫停和恢復(fù)過(guò)程均為自動(dòng)化,無(wú)需管理員手動(dòng)干預(yù)。管理員也可以在暫停期間手動(dòng)恢復(fù)(例如確認(rèn)短信平臺(tái)已恢復(fù)正常時(shí),可以立即恢復(fù)發(fā)送,無(wú)需等待半小時(shí))。
支持短信發(fā)送量異常報(bào)警功能
系統(tǒng)每20分鐘統(tǒng)計(jì)一次短信記錄表中的最近一小時(shí)的短信數(shù)量,若超過(guò)報(bào)警值(可配置),將向平臺(tái)超管發(fā)送報(bào)警短信。
支持短信發(fā)送量統(tǒng)計(jì)功能
提供按日和按月兩種統(tǒng)計(jì)表。統(tǒng)計(jì)每日/每月發(fā)送的短信發(fā)送總量、發(fā)送成功數(shù)量、發(fā)送失敗數(shù)量。便于與短信服務(wù)商進(jìn)行對(duì)帳。
用戶登錄
還沒(méi)有賬號(hào)?
立即注冊(cè)