掃一掃添加我為好友
掃一掃添加我為好友
掃一掃添加我為好友
掃一掃添加我為好友
發(fā)布時間:2024-08-11來源:九天企信王作者:危問柳
公司項目中需要發(fā)送短信的場景包括:
在場景二中,用戶需要輸入短信內容和手機號碼,然后點擊“發(fā)送”。如果驗證通過,會跳轉到短信發(fā)送成功的提示頁面;如果驗證失敗,會顯示錯誤信息,方便用戶進行修改。
原始方案是直接在項目中配置短信服務商提供的賬號、密碼和接口,并調用發(fā)送短信的界面。根據返回值判斷是否成功提交給短信服務商。
為了提高穩(wěn)定性,可以采用多服務冗余調度的方式,當一個服務提供商發(fā)送失敗時,切換到下一個服務提供商,直到發(fā)送成功或所有服務提供商都發(fā)送失敗。
為了避免重復工作和溝通成本過高,可以將發(fā)送短信的代碼標準化成工具類,并打造新的短信平臺,為不同項目提供統(tǒng)一服務。
為了提高短信發(fā)送的高可用性,可以將短信發(fā)送異步化,將發(fā)送請求持久化到數據庫中,然后通過調度算法盡可能多地發(fā)送短信。如果發(fā)送失敗,會進行重試。
為了解決網絡錯誤和短信平臺服務停機的問題,可以進行持久化改造和集群化部署,提高短信發(fā)送的可用性和服務能力。
為了向外界提供服務,可以增加綁定用戶和IP的功能,為每個系統(tǒng)或組織分配唯一的賬號和密碼,并讓客戶自行下載對比短信賬單。
為了優(yōu)化短信發(fā)送,可以引入調度程序,先發(fā)送一條確認是否發(fā)送成功的短信,然后再分批發(fā)送剩余的短信。同時,可以引入優(yōu)先級的概念,對短信發(fā)送界面進行改革。
未來的優(yōu)化方向可以考慮引入消息隊列來解決短信發(fā)送的生產者和消費者問題。
在安全性、高性能和高可用性方面還有很多工作要做,隨著業(yè)務范圍的擴大,需要解決原有功能和設計方案的問題。
在項目初期,主要滿足業(yè)務的基本需求,以靈活性為原則。
隨著業(yè)務的發(fā)展,需要逐步解決可用性、可修改性、安全性、可測試性和易用性等質量屬性。
在業(yè)務開發(fā)中,每個功能和模塊都可以作為獨立的服務向內部和外部提供服務。
隨著對業(yè)務領域的深入了解,業(yè)務趨于穩(wěn)定,系統(tǒng)的重組成為必要的工作。