現在のアプリは単一の JVM で実行されます。
現在、アプリを個別の論理サービスに分割しており、各サービスは独自の JVM で実行されます。
分割は、システム全体に影響を与えることなく、単一のサービスを変更して展開できるようにするために行われています。これにより、システム全体の QA の必要性が減ります。必要なのは、変更されるサービスとの相互作用の QA だけです。
サービス間通信には、REST、MQ システム バス、およびデータベース ビューを組み合わせて使用します。
これについて私が気に入らない点:
- REST は、XML との間でデータをマーシャリングする必要があることを意味します
- DBビューはシステムを結合し、個別のサービスの概念全体を無効にします
- MQ / システム バスが複雑になる
- サービス間で必然的にコードの重複が発生する
- n 個の JBoss サーバー構成をセットアップしました。n 個のデプロイ、n 個のセットアップ スクリプトなどを実行する必要があります。
アプリを単一の JVM で実行できるようにしながら (そして関連する利点を実現しながら)、モジュール式の開発と展開を可能にする内部アプリケーションを構築するためのより良い方法はありますか?