私には、C++ベースのシステムと通信しているTCP/IPベースのコンポーネントがあります。実際には、そのシステムから生のバイトを読み込み、それらの生のバイトをオブジェクトにマーシャリングしてDBに格納しています。このマルチスレッドtcp/ipベースのコンポーネントはJavaにあり、デュアルコアまたはクアッドコアプロセッサに配備することができます(私の質問には重要かどうかは分かりませんが、それでも私が与えている詳細はありません)。今私はいくつかの質問があります:TCP/IPベースのシステムのスケーリングと高可用性の確保
このtcp/ipベースのコンポーネントをどのように拡大縮小できますか。このコンポーネントはサーバー上に展開され、ポートをリッスンしています。将来、C++システムに由来するより多くのデータが想定されている場合、このJavaコンポーネントの規模を調整できるはずです。
セキュリティについてはどうですか?おそらく私ができることの1つは、安全なソケットでこの通信を使用するか、おそらく暗号化されたデータを得ることです(ここで使用できる特定の暗号化は何ですか?)。セキュリティを守るための他の方法はありますか?
満足できる高可用性の要件もあります。私はそれをどのように扱うのですか?ここに冗長性を持たせるにはどうすればいいですか?
はい、私たちは製品のシステムアーキテクチャ上で作業しているといくつかの経験豊富な建築家やデザイナーが私を助けることができればそれゆえ、私は思っていました。
このような精巧な答えマイクのおかげで、その本当に便利です。ロードバランサもフェールオーバーを行いますか?私はHAのためにロードバランシング+フェイルオーバーが重要な権利だと思っていますか?また、私が追加することを忘れたことの1つは、私たちのDBにもスケーラビリティとHA要件があることでした。どのようなアプローチを取るべきですか? DBの水平方向のスケーリングは理にかなっていますか?また、重要な疑念....私は、HAが構成のより多くであることを正しく理解しています;設計やコーディング中に気にする必要はありませんか? – aryann
@aryannでは、ロードバランサはHA構成をサポートできますが、**高可用性**の意味にもよります。 2人の人がサービスのためにHAを要求することができ、それは両方に対して非常に異なることを意味することができます。 DB HAについては、DBベンダーに相談してください。それらのほとんどは何らかのマルチサイトレプリケーションをサポートしています。最後に、HAには設計、構成、および場合によってはソフトウェア要件が含まれます。私は15年のネットワーキングで多くの悪いHAデザインを見てきました。それが私が言う理由です:**あなたの環境と要件を知らない人からの無料のアドバイスに依存しないでHAコンサルタントを得る** –