0

C++/Qt のアプリケーション ベースのフロントエンドと Python (Django を使用) フレームワークの Web ベースのフロントエンドを持つアプリケーションを構築しています。どちらのフロントエンドにもビジネス ロジックが組み込まれているため、アーキテクチャをサービス ベースに移行しようとしています。これにより、保守が困難になります。

システム内の他のモジュールと Python コードで使用できる RPC サービスを作成するために Thrift を選択することを考えています。ただし、どうやら、Thrift は Windows ではうまく機能しないようです。そのため、Thrift の出力をいくつかの C++ 構造に変換するオプションが残されています。その後、サービスを再度シリアル化/逆シリアル化する必要があります。 Qt/C++ によって消費されます。Python コードは、これらの Thrift サービスを簡単に利用できます。

このプロセスでは、最初に Thrift IDL に従って、次にいくつかのカスタム コードに従って、構造を変換/シリアル化する必要があります。アーキテクチャを変更するための提案。

  • 複雑にしないでおく
  • 複数の言語に対応
  • 実装が早い?
4

2 に答える 2

1

omn​​iORBを使用して同様の実装を行いました。PythonとC++のバインディングがあります。Pythonでは非常に簡単で、非常に優れたパフォーマンスを発揮します。

于 2012-04-25T14:38:15.567 に答える
1

あなたは考えることができます:

  • 前述の CORBA ソリューション: 組み込みのマーシャリング、コンパクトなバイナリ プロトコル
  • REST http およびベースの json サーバー: シンプルで、ネットワーク上で少しおしゃべりです。データを json にシリアル化する必要があります
  • AMQP メッセージング + json またはその他のシリアライザー: データを json または Google プロトコル バッファーなどにシリアル化する必要があります。さらに、より多くのサーバーが必要な場合のスケーリングがより簡単になります。
于 2012-04-26T07:17:21.517 に答える