たとえば、ZendeskにはAgent Collision Notificationという機能があります。チケットを編集すると、他の誰かがこのチケットを編集している場合にノートが表示されます。"このオブジェクトを表示している他のユーザー"を実装する方法
このような機能をサポートするインフラストラクチャとは何ですか? This questionは同じことを目指しているようですが、はるかに低いレベルです。
システムが完全に動的で(最初のビューアにも通知する)、妥当な速さであれば、おそらくいくつかの彗星やウェブソケットが必要です。しかし、チケットシステムのチャットシステム(プライムの彗星の例)とは異なり、ユーザーは常にページを切り替える。
このようなプログラムフローとサーバーインフラストラクチャはどうなりますか?
これをクライアント側(comet、websockets、AJAXなど)でどのように実装するかはあなた次第ですが、システムのルートは通常、テーブルに1つまたは2つの余分な列があり、必要なレコードを保持しますこれを実装する。この種のことは、通常、「レコードロック」と呼ばれます。レコード(単純)またはレコードを所有するユーザー参照を保持する "lockwho"とタイムスタンプを保持する "lockwhen"という2つの列にブール型の「ロック」列があり、期限切れのロックを解除することができます(複雑)。ロックメッセージを生成するときは、これらの列をチェックしてください。 – DaveRandom
ポインタをありがとう。しかし私はロックしていない非公式の警告行についてもっと考えていました。ロックのために、タイムスタンプとオプティミスティックロックを使用します。 – max