モバイル同期サービス(MSS)は、mPaaS プラットフォームのコアとなる基本的なビジネスコンポーネントです。 MSS は、モバイルアプリを対象とし、サーバーからクライアントに大量のデータをプッシュする Ant Financial グループの E2E ソリューション SYNC を基にしています。 このコンポーネントは、伝送制御プロトコル(TCP)と Secure Sockets Layer(SSL)に基づく安全なデータチャネルを提供します。 このデータチャネルは、ビジネスデータをサーバーからクライアントアプリにタイムリー、正確、かつ秩序正しくアクティブに同期できます。
従来の RPC は、インターネット業界で数十年にわたって適用されており、ほとんどのビジネスシナリオと機能要件を満たすことができます。 しかし、モバイルインターネットの普及と発展により、アプリの規模とアプリに対するユーザーの要件は新たな段階へと進んでいます。 従来の RPC リクエストには、その特性上、多くの欠点があります。
特定のシナリオでは、クライアントは最新のデータを取得するために RPC リクエストを呼び出す必要がありますが、実際にはサーバー(クラウド)上のデータは変更されていないか、ほとんど変更されていません。
異なるビジネスモジュールと機能は相互に独立して設計されているため、クライアントの起動時にそれぞれのビジネスデータを取得するために RPC リクエストを呼び出す必要があります。
クライアントはサーバー上のデータ変更を即座に認識できず、データを更新するためにポーリングモードで RPC API を呼び出す必要があります。
従来の RPC は、主に HTTP(S) 短期接続に基づいてデータインタラクションを実行します。 このタイプの接続は、キープアライブなどの機能を使用しても永続的になることはできません。 つまり、リンクを継続的に再利用することはできません。 接続の作成、証明書の交換、暗号化/復号のリクエストは、時間の消費を増やし、ネットワークパフォーマンスを低下させます。
MSS は、これらの問題を改善または解決するために導入されました。

特徴
MSS の主な特徴は次のとおりです。
信頼性の高い同期
サービス品質(QoS)レベルが到着保証であるビジネスシナリオでは、MSS は、ユーザーがデータの有効期間内にアクティブであり、サーバーのプッシュ要件を満たしている場合、サーバーからプッシュされたデータが確実にクライアントに同期されることを保証します。
秩序正しく増分的な同期
MSS は、同じチャネルで送信されたメッセージが、サーバーが MSS サーバーを呼び出したのと同じ順序でクライアントに到着し、すべてのメッセージが増分ベースでクライアントに同期されることを保証します。
高いリアルタイムパフォーマンス
クライアントのネットワーク接続が良好な場合、MSS は高いリアルタイムプッシュパフォーマンスを保証できます。 メッセージ同期の所要時間は、ネットワーク経由の純粋なデータ送信の所要時間とほぼ同じです(つまり、メッセージは 1 秒以内に到着できます)。
基本原則
MySQL の binlog メカニズムと同様に、MSS サーバーとクライアント SDK 間で送信される基本的なデータ単位は oplog です。 変更されたデータを特定のユーザーまたはデバイスに同期するには、サーバーが MSS API を呼び出す必要があります。 次に、MSS サーバーはデータを oplog としてパッケージ化し、データベースに保存します。 クライアントがオンラインになると、MSS サーバーは oplog をクライアントに同期します。 各 oplog には一意の ID があります。 Oplog ID は、特定のユーザー間および特定のビジネス範囲内で一意であり、単調に増加します(呼び出しシーケンスに基づいて)。 MSS サーバーは、すべての oplog を oplog ID の昇順でクライアントに同期します。 MSS サーバーとクライアントの両方が、クライアントが受信した最大の oplog ID を記録します。これは、同期ポイントと呼ばれます(またはデータバージョン番号として理解されます)。

利点
マージプッシュ
クライアントが正常に初期化されると、サーバーは一度に複数のビジネスデータをプッシュして、リクエスト数を減らすことができます。
増分プッシュ
増分データのみが同期されるため、冗長データの送信とネットワークコストが削減されます。
リクエストの削減
増分データがない場合、データ同期は要求されないため、冗長なリクエストが削減されます。
時間効率の向上
サーバーでデータ変更が発生した場合、変更されたデータはクライアントからのリクエストを待たずに即座にクライアントに同期されます。
エクスペリエンスの向上
データは気付かないうちに同期され、クライアント UI がレンダリングされる前に存在するため、ユーザーの待ち時間が短縮されます。
適用可能なシナリオ
MSS は、転送結果の同期、支払い結果の同期、メッセージセンターなど、データをリアルタイムでクライアントに同期する必要があるビジネスシナリオに適用できます。 次のシナリオを通じて、MSS の機能について詳しく学ぶことができます。
インスタントメッセージアプリでは、MSS は、送信者のメッセージ送信順序に基づいて、チャットメッセージを特定のユーザーに同期するための増分的で信頼性の高いメッセージ配信機能を提供します。
動的な構成更新が必要なアプリでは、MSS は構成情報をすべてのデバイスに動的に同期します。 MSS は、アプリ機能スイッチ、動的パラメーター、動的構成などの情報を指定されたクライアントにリアルタイムで同期するか、アプリの実行中にビジネスパラメーターと構成をバッチで動的に変更します。
決済アプリの場合、MSS はトランザクションデータをオンラインで同期するための安全なデータチャネルを提供し、アプリがオンラインのときにリアルタイムでデータを受信できるようにします。 さらに、MSS はデータ永続性機能を提供します。 アプリがオフラインのときにデータが同期された場合、アプリはオンラインになったときにデータを受信できます。