Sounds reasonable assuming you made a typo here: > By default, with any extra configuration, the behavior would stay as is > today...
I assume that should have been "without any extra configuration"? On Tue, Nov 19, 2019 at 11:11 AM Nick Vatamaniuc <vatam...@apache.org> wrote: > > Hi everyone, > > I'd like to discuss the ability to have heterogeneous nodes types in CouchDB > 4. > > In CouchDB 2 and 3 the nodes in the cluster are usually similar, and > functionality is uniformly distributed amongst the nodes. That is all > nodes can accept HTTP requests, run replication jobs, build indices > etc. They are typically deployed such that they similar hardware > requirements. > > In an FDB-based CouchDB 4, CRUD operations, on the Erlang nodes, > wouldn't require as many resources, so it would be possible to have a > set of nodes, performing just CRUD operations that are much smaller > than the equivalent CouchDB 2 and 3 nodes. However, indexing and > replication might still require heavy resource usage. > > So the proposal is to add configuration to CouchDB 4 to allow some > nodes to perform only a subset of their current functionality. For > example, it would be possible to have 6 1-CPU nodes with 512MB > accepting API requests, and, 2 4-CPU node with 4GB of memory each > running replication and indexing jobs only, or any other such > combinations. By default, with any extra configuration, the behavior > would stay as is today -- all nodes will run all the functionality. > > I created an RFC exploring how it might look like: > https://github.com/apache/couchdb-documentation/pull/457 > > There is a comment there how it could be implemented. So far it looks > like it could be fairly trivial since it would build on the > couch_jobs work already in place. > > What does everyone think? > > Cheers, > -Nick