図1各サービスの直感的な
2つのアーキテクチャ
また、モノマー又はモノマー単一のアプリケーションとして知られているシステムアーキテクチャ。それは一種である把系统中所有的功能、模块耦合在一个应用
建築アプローチの
2.1単一のアーキテクチャの機能
- (単一パッケージまたは戦争パッケージジャーにリード)単一のユニットにパッケージ化
- ウェイは、実行するプロセスになります
モノマー2.2アーキテクチャの長所と短所
2.2.1利点
- プロジェクト管理可能
- シンプルな展開
2.2.2短所
- テストのコストが高いです
- スケーラビリティ差
- 信頼性が低いです
- イテレーション困難
- クロス言語的差異の程度
- チームワークが難しいです
3 RPC、SOA、マイクロサービスアーキテクチャ間のMVC差、
3.1 MVCアーキテクチャ
実際には、MVC
アーキテクチャは、単一のアーキテクチャです。技術的なStruts2
代表者:SpringMVC
、Spring
、、Mybatis
とのようにします。
3.2 RPCアーキテクチャ
RPC(Remote Procedure Call)
:リモートプロシージャコール。彼は、基盤となるネットワークプロトコル技術を理解する必要なしに、ネットワーク経由でリモートコンピュータからサービスの種類を要求しました。
代わってThrift
技術:、Hessian
など
3.3 SOAアーキテクチャ
SOA(Service oriented Architecture)
:サービス指向アーキテクチャ
ESB(Enterparise Servce Bus):企业服务总线
、サービス機関。主にサービス間の相互作用にサービスを提供しています。
ESB
負荷分散、フロー制御、暗号化、サービスの監視、例外処理、監視、緊急時など:それは、次のような特徴が含まれます。
代わってMule
技術:、WSO2
3.4マイクロサービスアーキテクチャ
マイクロサービスは、軽量なサービス管理ソリューションです。代わってSpringCloud
技術:、dubbo
など
3.5 SpringCloudマイクロサービスアーキテクチャとSOAアーキテクチャ
3.5.1 SOAアーキテクチャ
伝統的なアイテムを結合度が比較的高い、抽出された共通のビジネスロジックのサービス指向アーキテクチャの漸進的な発展に、サービスを構成他のサービスによって呼び出されることが可能であるため、スルーサービスとサービスとの間のコールRPC
のリモートコール(すなわち、底httpclient
技術)
SOA
一般的に使用されるアーキテクチャxml
、通信を達成するために、xml 比较重
高い同時実行の場合には、比較的冗長、ブロードバンドを占め、人気の影響。基本的な使い方webservice
の技術を、ESBメッセージ末端
3.5.2マイクロサービスアーキテクチャ
Springcloud
されたマイクロサービスアーキテクチャであるSOA
アーキテクチャは、何もありません進化ESB
使用して送信局は、http + json
軽量の送信を- より軽量なマイクロアーキテクチャサービス
- マイクロサービスアーキテクチャ、サービスのより多くの独立性が強く、独立したデータベースを持つことができ、複数の別々のキャッシュ、データベース、メッセージキュー、およびその他のリソース、サポートサービスとサービス間の影響を受けます
- マイクロサービスアーキテクチャ、サービス指向のより細かい粒度、敏感良い開発のためのより適切なので、
3.5.3はマイクロサービスアーキテクチャをspringcloud
SpringCloud
他のフレームワークが唯一のマイクロサービスの問題を解決するとは違ってそれは、マイクロサービス・ソリューションの完全なセットを提供します。
分けることができます:
- サービス管理(レジストリ):ダボ(アリババ)、Dubbox(ダボの详细を開発し続ける)、ユーレカ(クローズドソースを持っている)、領事
- 中心分散構成:disconf(百度)、アポロCtripのNetfix Archaius、qconfの、SpringCloud 360、。
- 分散タスクスケジューリングプラットフォーム:XXLジョブ
- サービスの追跡:hyra(Jingdongは)、springcloud探偵など
3.6 springcloudとコントラストダボ
Dubbo
よりSpring Cloud
ので、パフォーマンス上の利点、プロトコルレベルは、使用する天然のと同じではない、前者で後者であり、(使用アリのカスタマイズされたバージョンを使用して、シリアル化フレームワークを2つの性能ギャップ若干大きいフレームをもたらします)Spring Cloud
Dubbo
HTTP
TCP
Netty NIO
Hessian2