Windows service

I haven’t yet deployed consul, and am evaluating the possibility of using it for service discovery for a subset of our environment on Windows.

We have some custom windows services that are currently running directly on the host (not yet containerized). They are specialized services on multihomed nodes, whereby the service listens only on nic2 and handles low latency feeds of financial data. nic1 is the regular LAN network. We cant interrupt that flow with http like “tests” against the listeners on nic2. All tooling is handled on nic1.

I want to install consul on these nodes.

Some services dont even have a network listener. Example, Some services just don’t accept connections or are only out bound in nature.

Is that problematic?

Does consul have a way to manage windows services natively (golang), instead of having to shell. Id hate to incur the expense of having to do a powershell get-service or similar.

The environment is rather static, but if a new service is brought up/turned down I want Prometheus to get the current service state.

any guidance would be great!