Problem description
Right now the controller is a single service that performs multiple loosely related jobs: Scaling, TransactionManagment, Metrics, Discovery, etc.
All of these are linked in some way to one of the other jobs so they cannot be naively split up, but taken together it ends up combining a lot of diverse code into a single process.
Problem location
Controller
Suggestions for an improvement
Step back and carefully look at the design. Perhaps there is a way we could split the service up into multiple different services.
Problem description
Right now the controller is a single service that performs multiple loosely related jobs: Scaling, TransactionManagment, Metrics, Discovery, etc.
All of these are linked in some way to one of the other jobs so they cannot be naively split up, but taken together it ends up combining a lot of diverse code into a single process.
Problem location
Controller
Suggestions for an improvement
Step back and carefully look at the design. Perhaps there is a way we could split the service up into multiple different services.