WebAppis just a name of a .NET Core Starcounter 3.0 Web Application.*
WebApp, a Starcounter application we want to make highly available, and two other resources that
WebAppdepends on: an IP Address and a Database.
WebApp's dependencies, i.e. the IP Address and Database resources, and then the application.
scdataprocess, thus making the database available to connect to. The
scdataprocess locks the transaction log on CSV, reads it and then gets ready to serve incoming requests.
WebAppresource by launching
WebApp.exe, being a web app, binds to all local addresses, including the IP Address resource we assigned to it.
scdatain standby mode
scdataprocess, which can take a significant amount of time. To overcome this, we need to run our
scdatainstance in a special standby mode, in which it can:
scdatarunning on a non-active cluster node we can't use cluster resources, as WFC ensures that all resources are online on a single node. Instead we must provide an auto-started windows service,
starservice, that administers
starservice, i.e. starting, stopping and sending promotion requests, we use a Generic Script resource.
scdatafrom active to standby mode, so we restart the service and thus
scdata, so it restarts in standby mode. It's not a problem since the resource goes offline most likely because we're transferring the group to another node, so we have enough time to load the database on this node. Next time the cluster decides to host the group again on this node,
scdatawill already be prepared.
scdatawhen the group moves to a new node, the cluster will start the Database script resource, which in turn ensures that
scdatais started and active. WCF will handle migration of CSV, IP Address, and
scdatacrashes, the cluster will restart it on the same node first. And it might take time. This issue could be seen as marginal, however, as
scdatashould never crash. A crashing
scdataprocess is in of itself a more severe problem than a slow recovery.
scdatato allow it to serve read requests in standby mode. With this feature, every cluster node will become an eventually consistent read-only replica.
C:/Path/To/Dbare treated as different.*
starserviceon every node
starservicefiles to all nodes. These files should have the same lication on all nodes.
scriptsfolder from the previously downloaded archive to all nodes. The local path should be the same on all nodes. Don't use the CSV volume as it will complicate resource upgrade and troubleshooting.
WebAppfiles to all nodes. The local path should be the same across nodes. Don't use CSV volume as it will complicate resource upgrade and troubleshooting.