Java - Pool + Socket?

 
Vista:
Imágen de perfil de Franklin
Val: 456
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Pool + Socket?

Publicado por Franklin (179 intervenciones) el 24/03/2020 13:32:39
Chicos Buenos días/tardes o Noches.

Tengo una duda, recientemente he empezado un pequeño proyecto para practicar un poco, sucede que estoy implementando mis conexiones a mi BDD mediante un pool de conexiones con dbcp2 de apache commons con los datos en un archivo.Propeties.

entonces, si en el escenario de que este sistema se ejecute en 3, 5, 10 PCs diferentes por ejemplo, como podría hacer que todos trabajen mediante un mismo pool.

disculpen mi ignorancia, pero aunque tenga un pool en mi clase ConnectDB estas no se conectan entre diferentes ejecuciones en las diferentes Pcs, por lo que pensé en implementar un servicio o sistema en el servidor que con el uso de Socket reciba las peticiones y gestione las comunicaciones a la BD.

he utilizado Sockets para lo básico y entender su funcionamiento, la pregunta es:

¿ lo correcto es trabajar de esta manera que un Socket Servidor gestione las comunicaciones al servidorBD o como sería lo optimo/lo mas eficiente?, o quizás como cada Clase usa un pool es la forma mas eficiente debido a que no cierra su conexión con cada petición?

Gracias de ante mano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Pool + Socket?

Publicado por Costero (148 intervenciones) el 24/03/2020 15:42:23
Una de las razones del el pool de conexiones es por efficiencia y tambien limitar el numero conexiones, pero fundamentalmente efficiencia.

Haciendo conexiones, matando conexiones y haciendo conexiones otra vez es muy lento.

Si, podrias utilizar un Socket servidor, pero yo crearia un web service (toda comunicacion usa socket) que es mas high level.

Cualquiera de los dos es Ok y deberia ser asi por securida, asi no expones la base de dato a cada cliente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Pool + Socket?

Publicado por Tom (1831 intervenciones) el 24/03/2020 16:37:30
Como supones, deberías hacer alguna clase de servicio adicional en el server y modificar tus clientes para que usen ese servicio.
En mi opinión eso no va a ser mucho más eficiente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Franklin
Val: 456
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Pool + Socket?

Publicado por Franklin (179 intervenciones) el 24/03/2020 18:08:53
Me dices que ya con la implementación del Pool y realizar:

dataSource.getConnection(); de por sí es bastante optimo?, sucede que, como hago para que todas las personas que ejecuten el sistema trabajen bajo el mismo Pool? si ejecutan 100 personas diferentes no serían instancias diferentes, por lo que el no sería el mismo pool. no sé si me doy a entender
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Pool + Socket?

Publicado por Tom (1831 intervenciones) el 25/03/2020 18:32:05
No me entiendes :) Lo que he dicho es que el pool debería estar en el mismo server de forma que los clientes se conectan a ese pool, no directamente a la BD.
Por eso opino que no sería eficiente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Franklin
Val: 456
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Pool + Socket?

Publicado por Franklin (179 intervenciones) el 25/03/2020 18:57:24
ok entiendo tu punto, y según lo que he investigado para Java EE podrías usar glassfish,tomcat y mediante ese servidor administrar el pool, pero para java se?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar