dotnet / dotNext

Next generation API for .NET
https://dotnet.github.io/dotNext/
MIT License
1.62k stars 121 forks source link

Using Raft cluster in an IIS application #114

Closed simontherry closed 2 years ago

simontherry commented 2 years ago

When using the RAFT HTTP implementation, adding a node is done through cluster.AddMemberAsync, which requires a HTTP endpoint object as input. How does it work when you are running multiple webservices in the same IIS where some of them use this RAFT implementation? Does each of the applications require a different port to be opened? Can they share the 80/443 port?

sakno commented 2 years ago

@simontherry , the simple answer is to use different domain names. Using the same IIS for hosting multiple nodes violates the key aspect of Raft - nodes must be hosted independently (at least in containers). For instance, if your host with IIS crashed, multiple nodes become unavailable which impacts the entire cluster and the majority. If nodes are running on the same machine, you can use localhost address space with different ports.

P.S.: The issue converted to discussion.