cfsd
cfsd is the single node server application within a CFS cluster. It runs the
following services by default:
- Formic GRPC service on 12300
- Group Store GRPC service on port 12310
- Group Store Replication service on port 12311
- Value Store GRPC service on port 12320
- Value Store Replication service on port 12321
- HTTP service on port 9100 which serves the following paths:
/metrics
providing Prometheus metric information
/log/level
allowing getting/setting of the log level on the fly
/debug/pprof
providing standard Go pprof access
Normally one would just run cfsd
with no parameters and all of the above
would be started. But there are options to start fewer services, enable debug
logging on start up, etc. Just run cfsd -help
for more information.
The default all-in-one behavior is for ease of deployment and maintenance, as
it keeps everything as one type of server. But more particular deployments may
want to separate the services to run on hardware specifically tuned for each.
All configuration information is stored in /etc/cfsd which is generated by the
cfsadm tool. All data persisted by the Stores is written to /var/lib/cfsd which
will be created if it does not exist.
The Formic GRPC service is the only one that should be public facing, as it is
the service the cfs
client tool connects to. Formic then connects to the
Group and Value Stores via their GRPC services, and the Replication services
talk to one another. One deployment strategy is to keep the whole cluster on a
private network and provide a public load balancer that directs cfs
clients
to balance across the Formic services.