スケーラビリティをサポートするアプリケーションを作成する際に、EJBなどのテクノロジを使用してアプリケーションをサポートするかどうか、または複数のマシン間でアプリケーションを配布するかどうか、あるいはそのようなテクノロジを使用せずにソフトウェアを作成して複数のマシンに複製する方法を教えてください。スケーラビリティをサポートするために、複製するか、または配布するかを決定する際に考慮すべき点は?
これを説明する良い資料(書籍/記事)はありますか?
スケーラビリティをサポートするアプリケーションを作成する際に、EJBなどのテクノロジを使用してアプリケーションをサポートするかどうか、または複数のマシン間でアプリケーションを配布するかどうか、あるいはそのようなテクノロジを使用せずにソフトウェアを作成して複数のマシンに複製する方法を教えてください。スケーラビリティをサポートするために、複製するか、または配布するかを決定する際に考慮すべき点は?
これを説明する良い資料(書籍/記事)はありますか?
スケーラビリティはアーキテクチャの機能です。技術とツールはこの機能を実現しています。
本質的にスケーラブルなアーキテクチャを定義する場合は、そのアーキテクチャをサポートするための技術を改造することができます。ほぼすべてのテックスタック(PHP、.NET、Java、COBOL、RoRなど)で大規模なユーザーベースのために非常に拡張されたサンプルがあります。
最近では、安価でクラウドに展開することが容易で、アーキテクチャはShare Nothing architecturalという概念を念頭に置いて設計してください。任意の大規模なユーザーベースに対する需要を容易に拡大することができます。
あなたが言及した特定の技術であるEJBは、ミドルウェア技術であり、Java EEアプリケーションサーバー(または配管を備えたTomcat)が付属しています。要点は、EJBソリューションは軽量ではなく、 - リモート性、トランザクションなどの特定の使用例についてのアドバイスです。標準ベースのソリューションを開発するコストは、オープンソーススタックを使用するだけではそれほど高くありません。
スケーラビリティの観点からは、EJB、JPAなどの標準ベースのソリューションもクラウド対応であり、クラウドのスケーラビリティ、つまり複製と共有をサポートしています。これをチェックしてくださいlink。
標準の有無にかかわらず、拡張可能なアプリケーションアーキテクチャはどのような点で重要ですか。
あなたの質問は縦横のスケーラビリティに関するものだと思います。
理想的には、水平スケーラビリティを実現するためには繁栄している必要がありますが、これは容易ではありません。
水平スケーラビリティは、アプリケーションのアーキテクチャに影響を与えます。垂直スケーラビリティでは、より多くの馬力を追加する必要があります。我々は現在、垂直には容易に拡大できるが、水平には拡大しない位置にいる。当社のプラットフォームは今後数ヶ月でピークに達し、プラットフォームのアーキテクチャを変更する必要があります。
これは特定の技術とは関係ないと思います。 EJBを使用することはできますが、それでも水平方向に拡大縮小することはできません。それはそれほど単純ではありません。スケーラブルなWebサイトを構築するCal Hendersonの優れた本があります。始めるには良い読書かもしれません。
スケーラビリティは広義で一般的にテクノロジに依存しません。
あなたの設計段階で、このアプリケーションが100kユーザーをサポートするとわかっていますが、私はリファクタリングを必要とせずに最大100万人のユーザーをサポートしたいと考えています。 IMHOは、このような「ハードウェア」アプローチによるスケーリングを行っています。あなたの設計がクラスタ内の2台のサーバで100,000人のユーザをうまく処理できることが分かっているなら、ハードウェアの増加によって100万に達することができます。
分散型テクノロジは面白くていいですが、オーバーヘッドとそれに伴う問題があります。あなたのクラスタが2つのノードしか持っておらず、他のノードからオブジェクトが必要な場合、そのノードはどこにあるのか知っていて、それを求めることができます。それにはコストがありますが、それをスケールアップしてクラスタが25または50台のサーバを持っていると言うと、そのオブジェクトを取得すると、トラフィックコンペを実行している素晴らしいコンテナがあっても、まったく別のボールゲームになる可能性があります。
また、現実世界では、管理意思決定者は技術にあまり気を取られていないことが多く、9人の女性に引っかかる傾向があります。あなたが作った方がはるかに簡単な戦いで、正直言って理解を深めるためには、より多くの容量を必要とするなら、ハードウェアをもっと必要とします.4-6ヶ月かかる可能性のある完全なリファクタが必要です。
ハードウェアのアプローチでは、無限ではなく、クラスタに追加するすべてのサーバーにオーバーヘッドがあり、最終的にはリターンが減少する法律が適用されます。
私の基本的な経験則は、あなたが読んだファンキーなモデルを使いたいと思っているように、「きちんとした」ものであり、長くて難しいと思っています。溶液。