Conteúdo do item:
Aqui veremos 4 servidores que podem ser utilizados em seu projeto.
No Spring Boot é possível alterar os servidores embarcados que irão processar as requisições e entregá-las para o nosso código, nos dando uma maior diversidade e opção de escolha. Vamos dar uma olhada nos servidores disponíveis.
Tomcat
Servidor do grupo Apache, https://tomcat.apache.org/ , ele foi o escolhido pelos desenvolvedores do Spring e vem incluso no pacote spring-boot-starter-web.
Para adicioná-lo basta ter o pacote abaixo em seu projeto:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-undertow</artifactId>
</dependency>
Jetty
Iniciado como projeto independente e depois movido para o grupo Eclipse, https://www.eclipse.org/jetty/, é escrito em Java e pioneiro em usar o I/O assíncrono,
Para instalar devemos excluir o TOMCAT do pacote spring-boot-starter-web e adicionar as tags do Jetty, conforme abaixo:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
Netty
Desenhado para operações não bloqueantes, requests síncronas por exemplo, temos o https://netty.io/ .
Para instalar o Netty devemos trocar o pacote spring-boot-starter-web pelo spring-boot-starter-webflux.
<!-- <dependency> -->
<!-- <groupId>org.springframework.boot</groupId> -->
<!-- <artifactId>spring-boot-starter-web</artifactId> -->
<!-- </dependency> -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
undertown; netty; jetty; tomcat; servers;servidores; embbedded;embarcado