NServiceBus Availability, Fault Tolerance, and Scale

3,318 views

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,318
On SlideShare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

NServiceBus Availability, Fault Tolerance, and Scale

  1. 1. Availability, Fault Tolerance, & Scale<br />NServiceBus<br />
  2. 2. Endpoint Fault Tolerance<br />Service Failure<br />Message Errors<br />Messages are moved out of the way with the exception that caused them to storage<br />Service Failure<br />Messages back up in the input queue until the service comes up again<br />Transport Failure<br />MSMQ<br />Messages back up in the outbound queue of the sender<br />We must determine how much disk to give senders based on how long we will allow messages to backup<br />
  3. 3. Hardware/OS Fault Tolerance<br />Virtualized<br />Rely on VM software to move guests to a functioning host during failures(bad RAM, etc.)<br />Rely on Windows Clustering to switch VMs in case of OS failure<br />SAN Clustering & Replication<br />Physical<br />Redundant Hardware<br />Rely on Windows Clustering for both hardware and OS failure<br />SAN Clustering & Replication<br />
  4. 4. Server<br />Client<br />Outbound<br />Input<br />Endpoint Fault Tolerance<br />
  5. 5. Virtualized Local HA<br />Hyper Visor Clustering<br />Host1<br />Host2<br />Windows Clustering<br />OS 1<br />OS 2<br />SAN Host1<br />SAN Host2<br />SAN Clustering<br />
  6. 6. Dedicated Virtualized Geographic HA<br />Site A<br />Site B<br />Hyper Visor Clustering<br />Host<br />Host3<br />Host1<br />Host2<br />Windows Clustering<br />OS 3<br />OS 2<br />OS 1<br />SAN Host1<br />SAN Host3<br />SAN Host2<br />SAN Clustering & Replication<br />Dedicated Line(s)<br />
  7. 7. Service Cluster Groups<br />Windows Clustering<br />OS 1<br />OS 2<br />MSDTC<br />NSB<br />MSMQ<br />Shared SAN Disk<br />
  8. 8. Internet Virtualized Geographic HA<br />Site A<br />Site B<br />Hyper Visor Clustering<br />Host<br />Host3<br />Host1<br />Host2<br />OS 1<br />OS 1<br />OS 3<br />Internet<br />Gateway<br />Gateway<br />Gateway<br />SAN Host1<br />SAN Host3<br />SAN Host2<br />SAN Clustering & Replication<br />
  9. 9. Service Cluster Groups<br />Windows Clustering<br />OS 1<br />OS 2<br />MSDTC<br />NSB<br />MSMQ<br />Shared SAN Disk<br />
  10. 10. Distributor Local HA<br />Workers process one message at a time.<br />The Distributor holds the working set.<br />Windows Cluster A<br />OS 1<br />OS 2<br />MSDTC<br />MSMQ (Data & Control Storage)<br />Distributor<br />Optional <br />Windows Cluster B<br />OS 3<br />OS 4<br />Worker1<br />Worker2<br />MSMQ<br />MSMQ<br />OS Cluster only, Ok for 2 workers on the same OS, but the workers and distributor need to be separate<br />MSDTC<br />MSDTC<br />
  11. 11. Publisher Local HA<br />Windows Cluster C<br />Windows Cluster A<br />OS 5<br />OS 6<br />OS 1<br />OS 2<br />MSDTC<br />MSMQ<br />MSDTC<br />Publisher<br />SQL Server<br />Optional <br />Windows Cluster B<br />OS 3<br />OS 4<br />S1<br />S2<br />MSMQ<br />MSMQ<br />OS Cluster only, Ok for 2 subscribers on the same OS<br />MSDTC<br />MSDTC<br />
  12. 12. Distributor Transaction Scope<br />Windows Cluster A<br />OS 2<br />OS 1<br />MSDTC<br />MSMQ (Data & Control Storage)<br />Distributor<br />Distributed Txn1<br />OS 3<br />OS 4<br />Distributed Txn2<br />MSDTC<br />MSDTC<br />MSMQ<br />Worker1<br />
  13. 13. Distributor Transaction Scope Optimized<br />Windows Cluster A<br />OS 2<br />OS 1<br />MSDTC<br />“Local” Txn1<br />MSMQ (Data & Control Storage)<br />Distributor<br />Distributed Txn2<br />OS 3<br />OS 4<br />MSDTC<br />MSDTC<br />MSMQ<br />Worker1<br />
  14. 14. Publisher Transaction Scope<br />Windows Cluster C<br />Windows Cluster A<br />OS 5<br />OS 6<br />OS 1<br />OS 2<br />MSDTC<br />MSDTC<br />SQL Server<br />MSMQ<br />Publisher<br />Optional <br />Windows Cluster B<br />OS 3<br />OS 4<br />MSDTC<br />MSDTC<br />MSMQ<br />MSMQ<br />OS Cluster only, Ok for 2 subscribers on the same OS<br />S2<br />S1<br />
  15. 15. Site to Site Failover Techniques<br />Stretch Clustering with Odd Number of Nodes(Quorum)<br />SAN to SAN Replication(Snap-Mirror, etc.)<br />If the Site B VMs are pointing to shared disk in Site A, then the disk has to be swung over to Site B<br />Database(s) must be replicated<br />Oracle Data Guard<br />SQL Server Log Shipping, Mirroring, etc.<br />
  16. 16. Distributor Multi-Site Scenarios<br />Active – Active<br />Stretched Distributor with Workers in both sites<br />Distinct Distributors with Workers in each site<br />Distributor Data can be snapped cross sites(A-B, B-A)<br />Active – Passive<br />Stretched Distributor with Workers in either site<br />Distinct Distributors with active Workers in Site A and dormant Workers in Site B<br />Distributor Data must be snapped to Site B<br />
  17. 17. Distributor Scale Out<br />D3<br />D2<br />D1<br />W4<br />W3<br />W1<br />W2<br />
  18. 18. Publisher Scale Out<br />Subscriptions<br />P1<br />P2<br />D1<br />D2<br />S2_B<br />S1_B<br />S2_A<br />S1_A<br />

×