スケーラビリティは複雑な問題です。複数の接続を開始することで水平方向に拡大縮小することができますが、1つのアカウントが使用されている場合は、ステータスレポートのような問題が発生します。垂直スケーリングはコンポーネントだけでなく(もちろん、作成されたコンポーネントがスループットを制限する可能性があります)、SMSC自体によってかなり制限されています.1秒間に100-150メッセージを超えるSMSCを検出することは困難ですエラー(0x00000058 - ESMEが許容メッセージ制限を超えました)。結論 - 高い性能を達成するには、オペレーターとの協力が必要です。コンポーネント/ライブラリは、例えば、調整することができます。
堅牢性はかなり主観的ですが、私の意見では、良い&プリエンプティブなサポートがその一部です。
フォールトトレランスは、コンポーネント/ライブラリとそれを使用しているアプリケーションとの間の協力によってのみ達成できます。ライブラリは、送信を再試行したり、スロットルを完全に処理したり、submit_multi操作のエラーに応答したりすることはできません。これは、キューイング/バッファリングのメカニズムを必要とし、基本的な操作の高いスループットを確実に妨害します。表示される可能性のあるすべてのエラーを処理したい場合は、むしろSMPPゲートウェイになります。しかし、良いライブラリーでは、これはすべて初心者にとっては簡単にでき、パフォーマンスの要求が高まるにつれて微調整されます。
この商業用の.NETライブラリを検討する価値があるかもしれない:
http://www.tops.com.pl/en/products/smscc/
は、大規模な電気通信によってかなりの数の設備の非常に大きな数を持っています。水平&の両方のスケーラブルな方法で使用でき、フォールトトレランスのシナリオを実装できます。現実のテストでは、SMSCの機能によって制限される単一のTCP/IPリンクで500メッセージ/秒を達成します。
死刑囚のノート:この図書館は、ブラジルの4大通信会社の1つであるOIで現在も使用されています。 – tcbrazil