Is there a library / framework available for use in a .NET environment that takes care of the 开发者_开发百科low level interprocess communication to support active/passive clustering for a cluser with any number of nodes. What I mean is something that (for example) might have the nodes communicating/heartbeating with each other, voting for who is the active node etc.
Have you looked at Creating Cluster-Aware Applications
We've worked some on a master-election algorithm that will give you active/passive semantics for your nodes: https://github.com/fivepmtechnology/MassTransit-Cluster
Furthermore, MassTransit supports introspection, diagnostics and scheduling across the control bus, having a couple of runtime services doing the hard work.
Also, Sagas, being pretty nice for coordinating distributed system computations, are supported.
A sibling to 'clustering' is 'failover', often revolving around client-server architectures; e.g. connecting to a web site - this is better done on a network level. Keepalived is smooth for that.
Finally, you can use a linux-oriented library like corosync; but for me MassTransit works well enough!
The mailing list is here https://groups.google.com/forum/?fromgroups#!forum/masstransit-discuss and docs here http://masstransit.readthedocs.org/en/latest/
精彩评论