Capítulo 10. Servidores Java
Este trabalho foi traduzido com recurso a IA. Agradecemos o teu feedback e comentários: translation-feedback@oreilly.com
Este capítulo explora tópicos relacionados às tecnologias de servidor Java. Em sua essência, essas tecnologias tratam de como transmitir dados, geralmente por HTTP, entre clientes e servidores. Portanto, o foco principal deste capítulo está em tópicos comuns à tecnologia de servidor geral: como escalar servidores usando diferentes modelos de thread, respostas assíncronas, solicitações assíncronas e manipulação eficiente de dados JSON.
O escalonamento de servidores é principalmente sobre o uso eficaz de threads, e esse uso requer E/S sem bloqueio e orientada a eventos. Os servidores Java/Jakarta EE tradicionais, como o Apache Tomcat, o IBM WebSphere Application Server e o Oracle WebLogic Server, têm usado as APIs NIO do Java para fazer isso há algum tempo. As estruturas de servidor atuais, como Netty e Eclipse Vert.x, isolam a complexidade das APIs Java NIO para fornecer blocos de construção fáceis de usar para a construção de servidores de menor porte, e servidores como Spring WebFlux e Helidon são construídos nessas estruturas (ambos usam a estrutura Netty) para fornecer servidores Java escaláveis.
Estas novas estruturas oferecem modelos de programação baseados na programação reactiva. Na sua essência, a programação reactiva baseia-se no tratamento de fluxos de dados assíncronos utilizando um paradigma baseado em eventos. Embora ...