¿Cómo crear un nuevo microservicio cuando se utiliza el documento del marco de desarrollo de microservicios de Java?
Para operar la base de datos, debe establecer una conexión con la base de datos. Solo después de obtener la conexión podrá operar la base de datos y se destruirá después de su uso. En realidad, la creación y destrucción de conexiones de bases de datos requiere relativamente tiempo, y las operaciones que están verdaderamente relacionadas con el negocio toman relativamente poco tiempo. Es necesario crear una conexión antes de cada operación de la base de datos. Para mejorar el rendimiento del sistema, más tarde aparece un grupo de conexiones en la base de datos. Cuando se inicia el sistema, primero se crean muchas conexiones y se colocan en el grupo. Cuando se usa, se obtiene una directamente. desde el grupo de conexiones, usando Una vez completado, se devuelve al grupo y continúa siendo utilizado por otras personas que lo necesitan. Esto ahorra el tiempo de crear una conexión y mejora el rendimiento general del sistema.
El principio del grupo de subprocesos es similar al del grupo de conexiones de bases de datos. Al crear un subproceso para procesar negocios, el tiempo para crear el subproceso puede ser mayor que el tiempo para procesar el negocio. Cree un hilo para nosotros con anticipación, debemos usarlo Úselo directamente cuando lo use y, en lugar de cerrarlo directamente después de usarlo, devuélvalo al hilo para que lo usen otras personas que lo necesiten. Esto ahorra directamente el tiempo de creación y. destruyendo hilos y mejora el rendimiento del sistema.
En resumen, con un grupo de subprocesos, crear un subproceso se convierte en un proceso de obtener un subproceso inactivo del grupo de subprocesos y usarlo, mientras que cerrar un subproceso se convierte en un proceso de devolverlo al grupo de subprocesos.
Principios de implementación del grupo de subprocesos
Cuando se envía una tarea al grupo de subprocesos, el proceso del grupo de subprocesos es el siguiente:
Determine si el número de subprocesos principales de lo contrario, vaya al siguiente proceso
Si la cola de trabajo del grupo de subprocesos está llena, si no, lance la tarea al trabajo. cola para esperar el procesamiento; de lo contrario, pase al siguiente proceso. Un proceso juzga si se ha alcanzado el número máximo de subprocesos. Si no se ha alcanzado, se crea un nuevo subproceso para manejar la tarea entrante actualmente. De lo contrario, se entrega a la estrategia de saturación en el grupo de subprocesos.
Proceso:
Un ejemplo para profundizar la comprensión:
Como desarrolladores, tenemos un director de desarrollo arriba y un director debajo para llevar a varios jóvenes a trabajar. El CTO autorizó al director a reclutar a cinco jóvenes para realizar esta nueva tarea. Si no hay suficientes jóvenes, reclute inmediatamente a uno para realizar esta nueva tarea. Cuando estos cinco jóvenes hayan reclutado la nueva tarea, las tareas se registrarán en una tabla. Hay hasta 100 registros en la tabla. Los minions tomarán la iniciativa de ir a la mesa para recibir la ejecución de la tarea. Si hay 5 minions trabajando y la tabla está llena de registros, entonces está bien. de minions a 20. Si hay 20 minions trabajando y la tabla para almacenar tareas está llena, si el gerente de producto vuelve a hacerse cargo de la tarea, ¿debería rechazarla directamente o dejar que el producto la haga él mismo? Todo depende de cómo decidas. Los minions están trabajando duro y todas las tareas se han completado. De repente, el rendimiento de la empresa disminuye y varios empleados no tienen nada que hacer. Para ahorrar costos, el director de tecnología controla a los minions a 5 individuales. las otras 15 personas fueron asesinadas directamente. Entonces, como minion, no te quedes inactivo y trabaja más.
Principio: primero busque algunas personas para trabajar, todos están ocupados trabajando, pero hay demasiadas tareas para programar, luego reclute a algunas personas para trabajar y finalmente trabaje y programe cuando la clase haya llegado al límite superior requerido por el líder, es necesario adoptar algunas otras estrategias para abordarlo. Para aquellos que llevan mucho tiempo sin trabajar, puedes plantearte despedirles para ahorrar recursos y costes.
Grupo de subprocesos en java
JDK proporciona una implementación específica del grupo de subprocesos y su clase de implementación es: java.util.concurrent.ThreadPoolExecutor.