簡體   English   中英

Java SMPP 庫比較

[英]Java SMPP library comparison

我們即將開始一個項目,該項目需要使用 SMPP 作為主要的集成交換渠道。 現在,由於 SMS 不一定是我們業務的核心,我想使用 Java 的 SMPP 庫,這將是最不麻煩的。 除了使用實際協議之外,我們不太可能需要更高級的能力或在引擎蓋下進行調整。

為此,我列出了一些我們擁有的可能選項:

  • Logica 的開放式 SMPP
  • 阿帕奇的駱駝
  • JSMPP
  • Twitter 的 Cloudhopper

那些在使用方面更有經驗的人可以用我的方式拋出一些他們的經驗嗎?

編輯:只是為了給用例提供范圍,我們將同時發送和接收 SMS,因此該庫應該希望通過客戶端操作和服務器偵聽器實現讓生活變得輕松。

我已經將jsmppcloudhopper-smpp用於單獨的項目,這些項目涉及在涉及的情況下發送和接收SMS的smpp:

  • 接收中高數量的MO。
  • 發送大量MT(最高70 /秒)。

兩個庫都表現良好,IMO jsmpp更加用戶友好,可以立即進入並開始編碼。 但是在使用github的最新版本時我遇到了一些錯誤,但仍然沒有修復。

使用cloudhopper之后,我認為學習曲線非常值得,與jsmpp(主觀)相比,它有點陡峭。

只是更新了我最終決定的內容(以及庫如何審核):

  1. Logica:看起來很有希望,但我擔心社區缺乏更新/活躍性。 最后一個有意義的構建是yonks前,所以不是我想做的投資。

  2. Apache Camel:我們開始使用它,但是它們的庫有一些限制(我們需要在SMPP數據包中插入自定義頭)。 公平地說,他們在論壇上回答問題的時候非常迅速,但是他們的沖刺時間太長了,所以我們抓住了這個問題。

  3. JSMPP:這是我們最終使用的那個。 整體而言非常簡單,因為它確實讓人覺得你已經對SMPP有了一個相當不錯的想法。 事情正在進行中,所以我無法告訴你它在生產負荷下的表現如何。 它會在上線時更新。

  4. Cloudhopper:說實話,這是我熱衷於使用的那個,但更多的是因為像任何一個怪人我想跳上最閃亮的最新玩具。 我沒有得到足夠的回應,我們從關閉的任何問題,所以有點擔心加入。 沒有理由采用一個庫,當需要其他更多記錄的選項時,這個庫需要我通過他們的代碼。

我目前正在使用Logica的庫實現一個基於Java的SMPP解決方案。 這是非常容易使用。 以下信息說明了測試結果:

應用程序:在Glassfish 3.1.2.2中部署的Enterprise Java Bean應用程序
語言:Java(使用JMS)
圖書館:Logica SMPP(版本1.3)
Origin(ESME):localhost
目的地(SMSC):開發服務器上的Logica SMSC模擬器(托管在Amazon Web Services中)
類型:Transciever Asynchronous
平均發送率(80%):246 msg /秒
低發送率(15%):50 msg / sec
高發送速率(5%):255 msg / sec

只要你堅持異步模式,它就非常有效。 如果需要保持消息與其響應之間的關聯,請使用消息和響應中的“序列號”。

我們的SMSC是在Logica SMPP(v 1.3)上編寫的,它仍然適用於企業負載。 關於圖書館只有一些小問題主要是使用message_payload,老實說,我不記得其他問題。 但它很容易修復,因為它是一個開源產品。

雖然我個人信任logica的來源,但對於小型客戶我使用jsmpp。 我同意@Farhan的說法,它更加用戶友好,開發簡單的客戶端需要更少的時間。

我已經使用了jsmpp和smppapi ,發現后者更好,因為當時jsmpp只有同步阻塞模式(2010) - 不確定是否仍然如此。

當我連接的SMPP服務器出現一些性能問題並且響應速度比平常慢時,jsmpp的阻塞性質成為大問題的根源。 突然間,我發現我所有的線程都在等待回復。 遷移到smppapi顯然解決了這些問題。

我已經將Logica SMPP用於生產項目。 它不再被主動維護,並且有一些固有的錯誤導致必須產生變通方法或實際上要求代碼庫修復。 話雖如此,我發現API非常穩定和高性能(300msg / s)。

我簡要地看了一下JSMPP,它有一個比Logica好得多的API,盡管很長一段時間內問題清單上都沒有修復大量的缺陷。

剛剛遇到Cloudhopper SMPP似乎是以更新的風格編碼,但它又需要更多的例子。 不得不通過代碼庫進行編程並不具吸引力。 關於gituhub的例子越來越好了。

Cloudhopper是最好的選擇,Apache的Camel也很好,但它是一個非常大的項目,有許多你不需要的pdf,salesforce ....的接口。 其他項目迄今未更新。 Cloudhopper正在通過Telestax進行維護,他們添加了一些有用的功能,看起來他們將來會給予強有力的支持

這里是用於簡化配置的堆棧Cloudhopper https://github.com/RestComm/smpp-extensions這是通過telestax分叉的Cloudhopper(非常新聞): https//github.com/RestComm/cloudhopper-smpp還有JainSlee資源適配器誰在電信領域工作https://github.com/RestComm/jain-slee.smpp

目前我正在使用 JSMPP,我發現到目前為止還可以。 Cloudhopper 似乎更容易,但我最終使用了 JSMPP,並且還發現 JSMPP 也是 Apache camel 實現的核心,但我可能是錯的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM