合作客戶
合作客戶
今日特惠
特惠僅剩10
距離搶購結(jié)束僅剩
10
 
50
 
20
 
 
咨詢?nèi)f商超信

sms短信平臺(sms短信平臺有哪些)

sms短信平臺(sms短信平臺有哪些)

三網(wǎng)捷信-高品質(zhì)106通道的短信平臺

sms短信平臺(sms短信平臺有哪些)

  • 作者:admin
  • 發(fā)表時間:2022年5月18日下午4:02
  • 來源:未知

為應(yīng)對傳統(tǒng)單體架構(gòu)的缺陷,微服務(wù)架構(gòu)被企業(yè)廣泛應(yīng)用。Spring Cloud 為開發(fā)人員提供了快速構(gòu)建微服務(wù)的系列工具,但是并沒有進行相關(guān)整合, sms-platform 是在其基礎(chǔ)上搭建的一套可以快速實現(xiàn)微服務(wù)的基礎(chǔ)腳手架工具。

1、傳統(tǒng)單體架構(gòu)的缺陷

傳統(tǒng)單體應(yīng)用將所有功能的表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問層、包括靜態(tài)資源等全部糅合在一個工程內(nèi),編譯 打包 部署在單臺服務(wù)器上線,比如打成 war 包放在 Tomcat 的 webapp 目錄中部署。這樣的開發(fā)部署流程適合小型項目,系統(tǒng)功能不復(fù)雜,訪問量不大的情況下有絕對的優(yōu)勢,開發(fā)速度快且運維方便。但是,當業(yè)務(wù)越來越復(fù)雜,功能越來越多,參與的開發(fā)人員越來越多,該流程就暴露出如下問題:

  • 業(yè)務(wù)復(fù)雜,代碼量增大,代碼可讀性、可維護性、可擴展性下降。一旦要新同事接手代碼,需要花很多時間理解 ;
  • 測試難度增大 ;
  • 單體應(yīng)用并發(fā)能力有限,訪問量高,用戶體驗差 ;
  • 單體應(yīng)用容錯率低,一旦出錯,可能導(dǎo)致整個項目崩虧 ;
  • 將單體應(yīng)用做集群部署,添加負載均衡服務(wù)器(例如 Nginx 反向代理轉(zhuǎn)發(fā)請求)可略微緩解以上兩條條缺點,但不能完美解決問題。

2、微服務(wù)是什么?

微服務(wù)架構(gòu):就是將原來的單體應(yīng)用按義務(wù)范圍來,劃分為多個小 model,每個微服務(wù)運行在自己的進程中,相互不產(chǎn)生影響,完全自動化獨立部署,并使用輕量級機制通信,通常是 HTTP RESTUFUL API,可對各微服務(wù)進行集中管理。這些小 model 可以使用不同的編程語言及存儲技術(shù),微服務(wù)架構(gòu)是分布式架構(gòu)。

微服務(wù)架構(gòu)的優(yōu)點:

  • 按業(yè)務(wù)劃分的微服務(wù)單元獨立部署,運行在獨立的進程中,服務(wù)之間沒有任何耦合,具備良好的擴展性和復(fù)用性;
  • 服務(wù)之間通常采用 HTTP 通信,該通信機制與平臺和語言無關(guān),可以使用不同的編程語言和存儲方法。也可以采用輕量級消息總線通信,如 RabbitMQ、Kafaka 消息隊列等,數(shù)據(jù)格式一般采用 JSON;
  • 每個微服務(wù)都有自己的數(shù)據(jù)庫,服務(wù)間數(shù)據(jù)庫相互是獨立;
  • 微服務(wù)一般采用自動化工具部署。Docker 容器技術(shù)是微服務(wù)最佳部署容器;
  • 服務(wù)集中化管理(服務(wù)注冊與發(fā)現(xiàn):Eureka、Zookeeper、Consul),監(jiān)控(服務(wù)運行狀況監(jiān)控:Spring-Boot-Admin-Server);
  • 微服務(wù)架構(gòu)是分布式架構(gòu)。

3、微服務(wù)腳手架工具:sms-platform

Spring Cloud 為開發(fā)人員提供了快速構(gòu)建微服務(wù)系統(tǒng)的系列工具,包括配置管理、服務(wù)發(fā)現(xiàn)、斷路器、路由、微代理、事件總線、分布式會話等相關(guān)功能,但是并沒有進行相關(guān)整合,sms-platform 是在 Spring Cloud 基礎(chǔ)上搭建的一套可以快速實現(xiàn)微服務(wù)架構(gòu)的基礎(chǔ)腳手架工具,sms-platform 基于 Spring Cloud Finchley 版本 的框架搭建,可以快速幫助項目組完成老系統(tǒng)微服務(wù)改造。幫助業(yè)務(wù)系統(tǒng)快速搭建微服務(wù)化。

架構(gòu)模型圖如下所示:

 

Spring Cloud微服務(wù)腳手架(短信平臺)實踐分享

 

產(chǎn)品分五大子系統(tǒng):短信管理平臺、系統(tǒng)接口層、短信下發(fā)策略、短信網(wǎng)關(guān)接口、監(jiān)控系統(tǒng),分別完成不同的功能,也可組合成復(fù)雜的綜合系統(tǒng),如下圖1所示。接入子系統(tǒng)的功能是通過協(xié)議接入第三方客戶和推送狀態(tài)報告,采用異步通信機制,狀態(tài)報告數(shù)據(jù)直接推送給對方;短信管理平臺提供權(quán)限管理,客戶管理,黑名單和敏感詞管理以及下發(fā)日志統(tǒng)計查詢等功能。短信下發(fā)策系統(tǒng)主要是對接收到的短信進行黑名單、敏感詞、流量、路由等方面的控制和過濾。短信網(wǎng)關(guān)接口系統(tǒng)能夠接中國移動的企信通CMPP2、CMPP3.0短信網(wǎng)關(guān)、中國聯(lián)通的SGIP短信網(wǎng)關(guān)、中國電信的SMGP網(wǎng)關(guān),也可以接入其他非標準接口或網(wǎng)關(guān)。短信網(wǎng)關(guān)接口系統(tǒng)支持多個通道的整合管理,機構(gòu)可以同時使用多個通道,只需事先定義好路由策略,即可自動路由分揀。不同通道對接模塊可以分布式部署,亦可集中部署,方便靈活。

組件圖如下:

 

Spring Cloud微服務(wù)腳手架(短信平臺)實踐分享

 

Github 相關(guān)鏈接 :
https://github.com/qfjiaoyan/sms-platform

主要包括以下功能模塊:

  • 基礎(chǔ)核心工具包: sms-platform-common
  • 緩存微服務(wù):sms-platform-cache
  • 微服務(wù)服務(wù)中心:sms-platform-eureka
  • 短信網(wǎng)關(guān)微服務(wù):sms-platform-gateway
  • 接口微服務(wù):sms-platform-interface
  • 監(jiān)控微服務(wù):sms-platform-monitor
  • 搜索微服務(wù):sms-platform-search
  • 策略微服務(wù):sms-platform-strategy
  • 運營管理平臺:sms-platform-webmaster

 

Spring Cloud微服務(wù)腳手架(短信平臺)實踐分享

 

4、開發(fā)框架

  • SpringBoot 2.0.3
  • SpringCloud Finchley.RELEASE
  • Shiro 1.4.0(權(quán)限管理)
  • Elastic-Job(分布式任務(wù))
  • Netty
  • ECharts

5、運行環(huán)境

  • JDK1.8+
  • Tomcat8.5+
  • Mysql5.5+
  • Redis5.0
  • Elasticsearch 6.5.4
  • RabbitMQ 3.7.14
  • Zookeeper3.4.9基于Spring Cloud Finchley微服務(wù)框架

6、技術(shù)特性

  • 基于Eureka的服務(wù)管理
  • 異步編程與高并發(fā)多線程處理技巧
  • 基于Servlet3.0實現(xiàn)接口異步處理
  • 基于Shiro實現(xiàn)客戶精細化權(quán)限管理
  • 基于HttpClient加多線程實現(xiàn)消息推送
  • 基于分布式任務(wù)框架Elastic-Job實現(xiàn)高可用監(jiān)控
  • 短信下發(fā)策略模塊使用責(zé)任鏈框架解耦業(yè)務(wù),實現(xiàn)業(yè)務(wù)可定制可撥插的編程
  • 基于RabbitMQ日志收集以及各系統(tǒng)間解耦
  • 基于Elasticsearch實現(xiàn)短信日志搜索與統(tǒng)計
  • 基于Netty實現(xiàn)各運營商網(wǎng)關(guān)的Socket高性能異步通訊
  • 基于Echarts展示統(tǒng)計圖表
  • 前端采用VUE框架

7、模塊介紹

sms-platform-common(基礎(chǔ)核心工具包)

基礎(chǔ)核心工具包,主要負責(zé)如 請求切面、服務(wù)配置、異常處理、參數(shù)格式化、請求防護、redis、Db、基礎(chǔ)配置組件、以及其他相關(guān)如文件服務(wù)、基礎(chǔ)工具類等組件。這里,重點要介紹 bean 包下組件 。

sms-platform-eureka(微服務(wù)服務(wù)中心)

微服務(wù)注冊中心 eureka 高可用配置方案,Eureka 通過運行多個實例,使其更具高可用性。事實上,這是它的默認屬性,用戶需要做的就是給對等實例一個合法的關(guān)聯(lián) serviceUrl, 如下圖所示:

Spring Cloud微服務(wù)腳手架(短信平臺)實踐分享

 

當有服務(wù)注冊時,兩個 Eureka-server 是對等的,它們都存有相同的信息,這就是通過服務(wù)器的冗余來增加可靠性,當有一臺服務(wù)器宕機了,服務(wù)并不會終止,因為另一臺服務(wù)存有相同的數(shù)據(jù)。

sms-platform-cache(緩存微服務(wù))

基于Redis5集群提供基本的緩存操作接口,緩存管理平臺同步過來的黑名單、敏感詞、通道路由、客戶信息、充值、扣費等,提供緩存查詢接口給各服務(wù)使用。

sms-platform-gateway(短信網(wǎng)關(guān)微服務(wù))

監(jiān)聽短信下發(fā)日志,把日志寫到MQ,從狀態(tài)報告隊列監(jiān)聽狀態(tài)報告,更新下發(fā)日志狀態(tài),提供短信搜索與統(tǒng)計接口給運營管理平臺使用。

基于Netty實現(xiàn)各運營商網(wǎng)關(guān)的NIO Socket高性能異步通訊,心跳、拆包、粘包、實現(xiàn)中國移動CMPP2短信協(xié)議,中國聯(lián)通SGIP1.2短信協(xié)議、中國電信SMGP協(xié)議。

sms-platform-interface(接口微服務(wù))

基于Servlet3.0實現(xiàn)接口異步處理,接口模塊實現(xiàn)了與API客戶端的對接,實現(xiàn)了對接口發(fā)送短信的校驗與預(yù)處理,推送狀態(tài)報告給客戶.

sms-platform-monitor(監(jiān)控微服務(wù))

使用的是 Elastic-Job-Lite;定時任務(wù)一般都是使用 quartz 或者 spring-task(ScheduledExecutorService),無論是使用 quartz 還是 spring-task,我們都會至少遇到兩個痛點:

  1. 不敢輕易跟著應(yīng)用服務(wù)多節(jié)點部署,可能會重復(fù)多次執(zhí)行而引發(fā)系統(tǒng)邏輯錯誤;
  2. quartz 的集群僅僅只是用來 HA,節(jié)點數(shù)量的增加并不能給我們的每次執(zhí)行效率帶來提升,即不能實現(xiàn)水平擴展。

Elastic job 的主要功能有支持彈性擴容,通過 Zookepper 集中管理和監(jiān)控 job,支持失效轉(zhuǎn)移等。

監(jiān)控項如下:

  1. 監(jiān)控網(wǎng)關(guān)下發(fā)隊列,如果下發(fā)隊列積壓超出一定值就報警,有可能是網(wǎng)關(guān)出問題,不從隊列取值或發(fā)送緩慢,或客戶有超大數(shù)據(jù)發(fā)送,需要運營人員排查關(guān)注
  2. 監(jiān)控用戶客戶費用不足一定的值,比如小于1000塊錢,就提醒用戶充值,每天早 9天定時排查一次。

 

Spring Cloud微服務(wù)腳手架(短信平臺)實踐分享

 

sms-platform-search

基于Elasticsearch實現(xiàn)短信日志搜索與統(tǒng)計,監(jiān)聽短信下發(fā)日志,把日志寫到MQ,從狀態(tài)報告隊列監(jiān)聽狀態(tài)報告,更新下發(fā)日志狀態(tài),提供短信搜索與統(tǒng)計接口給運營管理平臺使用。

Elasticsearch允許你開始小規(guī)模使用,但是隨著你使用數(shù)據(jù)的增長,它可以建立在橫向擴展的開箱即用。當你需要更多的容量,只需添加更多的節(jié)點,并讓集群重組,只需要增加額外的硬件,讓集群自動利用額外的硬件。

可以在數(shù)以百計的服務(wù)器上處理PB級別的數(shù)據(jù)。

sms-platform-strategy

短信下發(fā)策略模塊使用責(zé)任鏈框架解耦業(yè)務(wù),實現(xiàn)業(yè)務(wù)可定制可撥插的編程,對接收到的短信進行號段補全、黑名單、敏感詞、流控、扣費、路由等方面的控制和過濾,各個過濾器之間要做到解耦,可以通過配置文件來動態(tài)配置,當需要去掉某個過濾器的時候不需要更改程序,只需要改一下配置文件即可.

流程圖如下所示:

 

Spring Cloud微服務(wù)腳手架(短信平臺)實踐分享

 

 

sms-platform-webmaster

基于VUE+Shrio+Springboot+Mybatis實現(xiàn)精細化權(quán)限管理(可以控制到按鈕級別)。

短信管理平臺實現(xiàn)權(quán)限管理、客戶管理、黑名單管理、敏感詞管理、短信通道管理、客戶通道管理、充值和號段管理、查詢統(tǒng)計、短信下發(fā)等功能。

 

Spring Cloud微服務(wù)腳手架(短信平臺)實踐分享

 

結(jié)束語

通過精簡或者重組 sms-platform 微服務(wù)腳手架可以快速提煉出適應(yīng)相關(guān)項目組的微服務(wù)腳手架工具,解決項目組大量的前期框架整合時間,提升開發(fā)效率和項目進度。

開源地址下載或私信

https://github.com/qfjiaoyan/sms-platform

文章標簽:

sms短信平臺 
解決方案
幫助中心
主站蜘蛛池模板: 国产性天天综合网| 国产精品综合久成人| 狠狠色狠狠色综合日日不卡| 狠狠色成人综合网图片区| 色综合天天综合网国产成人网| 久久93精品国产91久久综合| 伊人久久亚洲综合| 久艾草国产成人综合在线视频 | 亚洲狠狠综合久久| 制服丝袜人妻综合第一页| 亚洲国产综合久久天堂| 五月天婷婷综合网| 狠狠色丁香婷婷综合尤物| 色综合天天综一个色天天综合网| 伊人久久久大香线蕉综合直播| 亚洲欧美日韩综合久久久| 久久综合日本熟妇| 亚洲精品第一国产综合亚AV| 激情97综合亚洲色婷婷五| 成人综合婷婷国产精品久久蜜臀 | 伊人色综合一区二区三区| 久久综合五月婷婷| 色偷偷亚洲第一综合| 亚洲国产综合自在线另类| 狠狠色丁香久久婷婷综合| 久久婷婷五月综合成人D啪| 加勒比色综合久久久久久久久 | 久久国产综合精品五月天| 欧美激情综合亚洲一二区| 国产综合色香蕉精品五月婷| 亚洲五月综合缴情婷婷| 精品综合久久久久久97| 98精品国产综合久久| 久久综合丝袜长腿丝袜| 一本色道久久88—综合亚洲精品 | 伊人久久综合成人网| 国产成人综合亚洲亚洲国产第一页| 婷婷六月久久综合丁香76 | 色婷婷综合久久久久中文| 久久综合图区亚洲综合图区| 精品综合久久久久久97超人|