This section describes ServiceComb's microservice thread model and the relationship between the I/O and service threads.
The complete thread model of ServiceComb is shown below:
- When a service thread is called for the first time, it binds to a network thread to avoid thread conflicts caused by switching different network threads.
- After the binding to a network thread, the service thread will also bind to a connection of the network thread, to avoid thread conflicts.
- Multiple network threads (eventloop) can be bound to both client and server. The number of network threads is two times of the CPU cores by default. Multiple connections can be configured for each network thread, and the default connection number is 1. The Rest and Highway network channels are supported. For details about these configurations, see following sections:
- You can configure the service thread pool executor for the server, the configuration can be applied to schemaId: operation.
Add the executors in the microservice.yaml file and configure an independent service thread pool for schemaId: operation:
servicecomb: executors: Provider: [schemaId].[operation]