私は、データベースへのすべての変更が JavaScriptに即座にミラーリングされる必要があるリアルタイム JavaScript アプリケーションに取り組んでおり、その逆も同様です。
現在、JavaScript に変更が加えられると、API に対して ajax 呼び出しを行い、対応する変更を DOM に加えます。サーバーでは、API がリクエストを処理し、PubNub を使用して他の現在の JavaScript ユーザーに変更を加えたプッシュを送信して終了します。また、JavaScript がプッシュを逃した場合にデータ セット全体を再同期できるようにするためのシーケンシャルな changeID も含めます。そのプッシュの例を次に示します。
{
"changeID":"2857693",
"type":"update",
"table":"users",
"where":{
"id":"32"
},
"set":{
"first_name":"Johnny",
"last_name":"Applesead"
}
}
JavaScript がこの変更を取得すると、ローカル ストレージを更新し、変更されているテーブルに基づいて対応する DOM の変更を行います。私の問題は DOM の更新に関するものではなく、データベースから JavaScript へのデータの迅速かつシームレスな同期に関するものであることを覚えておいてください。
これを見ていくと、これは合理的に単純であるべきものに対する非常に複雑な解決策であると思わずにはいられません。私はガッチャを見逃していますか?複数の JavaScript クライアントを MySQL データベースとシームレスに同期するにはどうすればよいでしょうか?