Published on

Deck for introduction IT Admins to NSB and what they need to know to support the product

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Single point of failureIncluded orchestration & transformation of messages and formatsLinks together different protocols
  • No single point of failureRoutingLinks protocols by messaging
  • Animate this to show workflow
  • Change to Step 1 Step 2, Step 3
  • Distributed BusNo centralized resources
  • NServiceBus_for_Admins

    1. 1. NServiceBus for Admins<br />
    2. 2. Integration Framework Patterns<br />2<br />
    3. 3. Broker<br />App<br />App<br />Broker<br />App<br />App<br />App<br />
    4. 4. Bus<br />App<br />App<br />Bus<br />Bus<br />App<br />App<br />Bus<br />Bus<br />
    5. 5. Messaging Patterns<br />
    6. 6. Publish & Subscribe<br />Subscriptions<br />Publisher<br />Subscriber<br />Bus<br />Subscriber<br />Subscriber<br />Bus<br />Bus<br />
    7. 7. Bus<br />Request & Response<br />Client<br />Response<br />Bus<br />Request<br />Bus<br />
    8. 8. Distributor<br />Work Management<br />Distributor<br />Worker<br />Bus<br />Worker<br />Worker<br />Bus<br />Bus<br />
    9. 9. Saga(Workflow)<br />State<br />Persistence<br />Main Business Process<br />Sub Process 3<br />Bus<br />Sub Process 1<br />Sub Process 2<br />Bus<br />Bus<br />
    10. 10. Gateway<br />Site 2<br />Site 1<br />Server<br />Client<br />HTTP<br />Gateway<br />Gateway<br />
    11. 11. Messaging/Integration Framework Selection Criteria<br />Features<br />Publish/Subscribe<br />Work Distribution<br />Long Running Business Workflows<br />Lives on existing infrastructure<br />Low Learning Curve<br />Actively supported<br />Cost Effective<br />
    12. 12. Selected Framework<br />NServiceBus<br />Open Source<br />Feature Rich<br />Built on MSMQ, MSDTC, and .NET<br />
    13. 13. NServiceBus Architecture<br />
    14. 14. Required Software<br />MSMQ<br />MSDTC<br />NSB Bits<br />.NET Framework 3.5 SP1<br />RDBMS<br />Subscription Storage<br />Very small, SQL Server will do<br />
    15. 15. Monitoring<br />PerfMon Counters<br />NSB<br />“Critical Time” – how long has the oldest message been sitting in the queue<br />Logs<br />SCOM<br />MSMQ<br />Error Queue<br />
    16. 16. Logging<br />Configurable & managed by the developer<br />Includes standard mechanisms<br />Files<br />Event Log<br />Database<br />Custom…<br />
    17. 17. Installation<br />NServiceBus.Host.exe<br />[/install (installs as a Windows Service)<br />[/serviceName] (name in the registry)<br />[/displayName] (display name in Mgr)<br />[/description] (description in Mgr)<br />[/instance] (another named instance)<br />[/startManually] (don’t start the service)<br />[/username] (account it runs as)<br />[/password] (password of above user)<br />[ProfileName] (name of the profile to use)<br />
    18. 18. Profiles<br />Modifies host behavior on startup<br />Logging<br />Subscription Storage<br />Can Create Custom Profiles<br />OOTB Profiles<br />Lite: Console app, verbose logging, memory subscription storage<br />Integration: Console app, informational logging, MSMQ subscription storage<br />Production: Windows Service, error logging, database subscription storage<br />
    19. 19. Uninstallation<br />NServiceBus.Host.exe<br />[/uninstall<br />[/serviceName]<br />[/instance]]<br />
    20. 20. Application Level MSMQ Configuration<br /><MsmqTransportConfig<br /> InputQueue="client“<br />Queue messages are being received on<br /> ErrorQueue="error“<br />Queue error messages are sent to<br /> NumberOfWorkerThreads="1“<br />Number of threads used to process messages<br />MaxRetries="5“<br />Max number of times to try and process a message<br /> /><br />
    21. 21. Subscription Storage Configuration<br /><MsmqSubscriptionStorageConfig Queue="subscriptions" /><br />Queue to look for subscriptions<br /><DBSubscriptionStorageConfig><br /><NHibernateProperties><br /><add Key="connection.provider" Value="NHibernate.Connection.DriverConnectionProvider"/><br /><add Key="connection.driver_class" Value="NHibernate.Driver.SqlClientDriver"/><br /> <add Key="connection.connection_string" Value="Server=.;Database=nservicebussubscriptions;Trusted_Connection=True;"/><br /><add Key="dialect" Value="NHibernate.Dialect.MsSql2005Dialect"/><br /></NHibernateProperties><br /> </DBSubscriptionStorageConfig><br />
    22. 22. Tools<br />ReturnToSourceQueue.exe<br />Replays messages to the queue they came from<br />Runner.exe<br />Validates and fixes MSMQ installations<br />Starts MSDTC if necessary<br />Installs NSB performance counters<br />
    23. 23. Running in a Cluster<br />You need to add the .NET Framework feature or application server role to the member servers<br />You need to add both a MSDTC and a MSMQ resource to the cluster (MSMQ will require that you have MSDTC)<br />After adding the Generic Application for NServiceBus.Host.exe, you will need to go in and modify the properties of the generic application to check the "Use Network Name for computer name" box so that NServiceBus points to the cluster name for using MSMQ not to the member server that is currently running it.<br />
    24. 24. Questions?<br />
    25. 25. Pub/Sub Mechanics<br />Publisher<br />Subscriptions<br />Outbound<br />Inbound<br />ReturnToSourceQueue.exe<br />Subscriber1<br />Subscriber2<br />Errors<br />Inbound<br />Outbound<br />Outbound<br />Inbound<br />Inbound<br />