バックグラウンド
私の Java アプリケーションでは、かなり大量のデータが ConcurrentHashMap に格納されています。
ここで、クライアントが TCP ポート経由でアプリケーションに接続するときに、このデータを XML 形式でコンシューマー クライアントに提供する必要があります。
一言で言えば、クライアントが接続するTCPサーバーがあります。クライアントが接続するとすぐに、Map 内のすべてのデータを読み取り、それを XML 形式 (カスタム) で TCP ポートに出力する必要があります。マップ内のデータは、ワーカー スレッドなどを使用して別の場所から自動的に更新され続けるため、この tcp ポートでクライアントに新しいデータを何度も送信し続ける必要があります。
メモリと CPU を効率的に使用できるソリューションを実装したいと考えています。.
注:将来的には、複数の出力形式 (カンマ区切り、Json、HL7 など) をサポートする必要があるかもしれません。簡単にするために、クライアントが特定の形式で接続できる別の TCP ポートがあるとします。
質問
そうは言っても、TCPサーバーの実装とConcurrentHashMapからXMLへのデータ変換プロセスに最適なソリューションを探していました。
TCP サーバーの場合、人々は次のように話します。
私のクライアントは第三者になるので、クライアントは Kryonet に必要な「登録」業務を行わないため、kryonet は廃止されたと思います。MINAとNETTYのどちらがスケーラブルで分かりやすいですか?他の提案はありますか?
ConcurrentHashMap から XML へのデータ変換には、XSTREAMを使用することを考えていました 。
ありがとう