アウトライン
NServiceBusは、企業の.NETシステムを構築するためのオープンソース通信フレームワークです。これは、非常に多くの分散システムインフラストラクチャプラットフォームのための理想的な選択肢があり、統合と高いスケーラビリティとパフォーマンス他のワークフロー側面が優れており、サポートをパブリッシュ/サブスクライブ・メッセージです。これにより、開発者は一般的な問題の典型的なビルド企業の.NETシステムの多くを回避できます。同時に、フレームワークはまた、パブリッシュ/サブスクライブのサポート、統合されたワークフローとの綿密な長い拡張機能などのスケーラブルないくつかの重要な機能を提供します。著者によると、彼らの意図は、分散アプリケーションを構築するための理想的なインフラストラクチャを作成することです。
コアNServiceBusは、MSMQに依存しません。NServiceBusのスケーラビリティは、メモリ,,とワークフローを実装して、独自の通信の送信準備サブスクリプションを挿入することを可能にします。私は、MSMQに基づいて送信機を実装して、WCF NETTCPの手段の一つです。開発者は、これらの従来の成分、必要に応じてさらにカスタマイズすることができるのいずれかを使用することができます。私たちは、現在のSOA製品の多くは、しっかりと、HTTPで接続されているので、この実装のNServiceBusも新しいパスの設計になることを知っています。
私たちは、それがMicrosoftの二つの主要な通信技術の一つ(他は、SQL ServerのService Brokerのである)であるため、MSMQを使用することにしました。MSMQは、双方がオフライン状態で通信できるようにする、それが使いやすいAPIのセットを提供し、これよりもはるかに優れた.NETフレームワーク、サービスブローカに統合されています。サービス自治のテネットが使用可能な状態にある現在の通信相手ことを保証するものではないとして-私は個人的にサポートオフラインの通信は、基本的な枠組みを検討する必要があります任意のSOAの重要な部分だと思います。
NServiceBusは、次のような特徴を持っているDOTNETの世界で最も人気のあるオープンソースのエンタープライズ・サービス・バスの内部にある:1.強力な、軽量2.プラグイン可能な、使いやすい3.サポート企業開発...
インターネットでのアプリケーション
(加入者/パブリッシュ)パブリッシュ/サブスクライブ
²メッセージを送信し、目標を発表しましたノウハウを解決するには、この方法で。(購読髪与えた人)
サブスクリプション(購読者)
パブリッシュ(出版社)
(分散システムで使用される)ディストリビュータでNserviceBus
一つのパブリッシュ(出版社):
二人は(2つのパブリッシャー時間)公開します:
(通信ポイントツーポイント)をポイントツーポイント
ポイントの構成(設定します)へのポイント
Client
class EndPointConfig : IConfigureThisEndpoint, AsA_Client { }
<UnicastBusConfig> <MessageEndpointMappings> <add Messages="MyMessages“ Endpoint="MyServerInputQueue" /> </MessageEndpointMappings>
</UnicastBusConfig>
Server
class EndPointConfig : IConfigureThisEndpoint, AsA_Server { }
<MsmqTransportConfig InputQueue="MyServerInputQueue" />
リクエスト&レスポンス(リクエスト\返信)
パブリッシュ&サブスクライブ(パブリッシャ\加入者)
Subscriber
class EndPointConfig : IConfigureThisEndpoint, AsA_Server { }
<MsmqTransportConfig InputQueue=Subscriber1InputQueue" /> <UnicastBusConfig> <MessageEndpointMappings> <add Messages="MyMessages" Endpoint=" MyPublisherInputQueue" /> </MessageEndpointMappings> </UnicastBusConfig>
Publisher
class EndPointConfig : IConfigureThisEndpoint, AsA_Publisher { }
<MsmqTransportConfig InputQueue="MyPublisherInputQueue />
佐賀(ワークフロー)
Server
class EndPointConfig : IConfigureThisEndpoint, AsA_Server { }
<MsmqTransportConfig InputQueue=MySagaInputQueue" />
<UnicastBusConfig> <MessageEndpointMappings> <add Messages="MyMessages" Endpoint="MyDestinationInputQueue" />
<add Messages=“NServiceBus.Saga.TimeoutMessage” Endpoint=“timeoutmanager” > </MessageEndpointMappings>
</UnicastBusConfig>
<NHibernateSagaPersisterConfig>
<NHibernateProperties>
<add Key="connection.provider“ Value="NHibernate.Connection.DriverConnectionProvider"/>
<add Key="connection.driver_class" Value="NHibernate.Driver.SqlClientDriver"/>
<add Key="connection.connection_string" Value="Server=localhost;initial catalog=NServiceBus;Integrated Security=SSPI"/>
<add Key="dialect" Value="NHibernate.Dialect.MsSql2000Dialect"/>
</NHibernateProperties>
</NHibernateSagaPersisterConfig>
ディストリビュータ(分散システム)
<appSettings> <add key="NumberOfWorkerThreads" value="1"/> <!-- queue that the distributor process reads and feeds to workers --> <add key="DataInputQueue" value="nservicebus_distributor_data_bus"/>
<!--queue that manages work distribution --> <add key="ControlInputQueue“ value="nservicebus_distributor_control_bus"/> <!-- errors --> <add key="ErrorQueue" value="nservicebus_error"/> <!-- queue that maintains the state(availability) of the workers --> <add key="StorageQueue" value="nservicebus_distributor_storage"/> <!-- relevant for a Serialization of "interfaces" or "xml" --> <add key="NameSpace" value="http://www.MySite.com"/> <add key="Serialization" value="xml"/> <!-- can be either "xml", or "binary" -->
</appSettings>
あなたが議論に参加することを歓迎し、あなたが助けを持っていると感じた場合、をクリックして 勧告、どうもありがとうございました。
著者:春ヤン
出典:http://www.cnblogs.com/springyangwc/
この記事では、著者とブログパークの合計に属し転載を歓迎しますが、この節で宣言され、著者の同意なしに保持され、記事ページの見かけ上の位置にある元の接続、法的責任を追及するそうでない場合は権利を与えられなければなりません。
ます。https://www.cnblogs.com/springyangwc/archive/2011/12/19/2293690.htmlで再現