Netty+Spring Boot 加持,解锁高性能 Web 应用
MiniTomcat(https://github.com/daichangya/MiniTomcat)
这个项目是一个基于Netty的Java Web服务器,它提供了从简单HTTP服务器到集成Spring Boot等多个版本的演进。以下是对该项目的详细概述:
- 项目名称与简介:
- 项目名称:MiniTomcat
- 简介:一个基于Netty的Java Web服务器,随着版本的迭代,逐步增加了更多功能,如静态文件下载、controller支持、servlet支持以及最终集成Spring Boot等。
- 技术栈:
- 主要技术:Netty, Spring Boot, Spring Web
- Netty:一个高性能、异步事件驱动的NIO框架,用于快速开发可维护的高性能协议服务器和客户端。
- Spring Boot:简化了基于Spring的应用开发,通过自动配置和启动类让开发者快速搭建Spring应用。
- Spring Web:Spring框架的Web模块,提供了全面的Web开发支持。
- 功能与特性:
- 支持静态文件下载。
- 添加了controller和servlet支持,便于开发Web应用。
- 集成Spring Boot,使得项目可以更容易地部署和运行。
- 提供了异步处理逻辑和HTTP流事件分块传输的支持,提高了应用的性能和响应能力。
- 社区与文档:
- 项目托管在GitHub上,便于开发者协作和贡献。
- 提供了README文件,简要介绍了项目的使用方法和版本历史。
- 扫码关注微信公众号“Java码界探秘”可能获取更多关于项目和相关技术的信息。
- 许可证:
- 项目采用Apache-2.0许可证,这是一个开源软件许可证,允许用户自由地使用、修改、分发和再许可软件,但需要遵守一定的条件和限制。
- 未来展望:
- 随着技术的不断发展和社区的不断贡献,panda项目可能会继续增加新的功能和优化现有功能,以满足更多开发者的需求。
外部客户端 --(HTTP请求)--> Netty网络层
|
V
Spring Boot应用层
/ \
Controller/ Session管理
Servlet (包括异步处理)
\ /
业务逻辑处理
|
V
panda 一个 基于Netty的Java Web服务器
0.1
- http协议
1.0
- 一个简单的Http Server
2.0
- 通讯模型改为netty
- 支持静态文件下载
3.0
- 添加controller支持
4.0
- 添加servlet支持
- 对接spring web
5.0
- 集成spring boot,替换内嵌tomcat
- Netty spring boot Spring Web
6.0.0
- 新建模块 spring-boot-starter-netty
6.0.1
- 添加 channelHandle 线程池
6.0.2
- add session处理逻辑
6.0.3
- add 异步处理逻辑
6.0.4
- add http stream event chunked
扫码关注微信公众号,Java码界探秘。

https://zthinker.com/
作者:代老师的编程课
出处:https://zthinker.com/
如果你喜欢本文,请长按二维码,关注 Java码界探秘
.
Netty+Spring Boot 加持,解锁高性能 Web 应用的更多相关文章
- SpringBoot实战(十)之使用Spring Boot Actuator构建RESTful Web服务
一.导入依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http ...
- [原创]Spring boot 框架构建jsp web应用
说明 Spring boot支持将web项目打包成一个可执行的jar包,内嵌tomcat服务器,独立部署 为支持jsp,则必须将项目打包为war包 pom.xml中设置打包方式 <packagi ...
- Spring Boot Security And JSON Web Token
Spring Boot Security And JSON Web Token 说明 流程说明 何时生成和使用jwt,其实我们主要是token更有意义并携带一些信息 https://github.co ...
- Spring Boot 之FilterRegistrationBean --支持web Filter 排序的使用(转)
Spring Boot 之FilterRegistrationBean --支持web Filter 排序的使用Spring 提供了FilterRegistrationBean类,此类提供setOr ...
- Spring Boot 2.X 对 web 的开发支持(二)
Spring Boot 2.X 对 web 的支持开发 上章节的 Spring Boot 的入门案例,我们感受到 Spring Boot 简单的配置即可运行项目. 今天了解 Spring Boot 对 ...
- 使用Spring Boot来加速Java web项目的开发
我想,现在企业级的Java web项目应该或多或少都会使用到Spring框架的. 回首我们以前使用Spring框架的时候,我们需要首先在(如果你使用Maven的话)pom文件中增加对相关的的依赖(使用 ...
- Spring Boot入门教程1、使用Spring Boot构建第一个Web应用程序
一.前言 什么是Spring Boot?Spring Boot就是一个让你使用Spring构建应用时减少配置的一个框架.约定优于配置,一定程度上提高了开发效率.https://zhuanlan.zhi ...
- Spring Boot入门-快速搭建web项目
Spring Boot 概述: Spring Boot makes it easy to create stand-alone, production-grade Spring based Appli ...
- Spring Boot笔记五: Web开发之Webjar和静态资源映射规则
目录 Webjar /** 访问当前项目的任何资源 欢迎页 标签页图标 Webjar 开始讲到Spring Boot的Web开发了,先介绍Webjar,这个其实就是把一些前端资源以jar包的形式导入到 ...
- 使用Spring Boot开发 “Hello World” Web应用
环境准备 由于现在很多IDE都支持Maven, 所以我们将使用Maven构建该工程: 开始之前,需要先安装Java和Maven: 本工程将基于Spring Boot 1.4.3.RELEASE开发,推 ...
随机推荐
- 把dataframe 一列转成 array
把dataframe 一列转成 array
- manim边学边做--角度标记
manim中绘制一个角度其实就是绘制两条直线,本篇介绍的不是绘制角度,而是绘制角度标记. 对于锐角和钝角,角度标记是一个弧,弧的度数与角的度数一样: 对于直角,角度标记是一个垂直的拐角. manim中 ...
- Redis常见问题和性能监控
1 Redis常见面试问题 1.1 Redis是单线程还是多线程 Redis不同版本之间采用的线程模型是不一样的,在Redis4.0版本之前使用的是单线程模型,在4.0版本之后增加了多线程的支持. 在 ...
- ZEGO 教程 | RTC + AI 视觉的最佳实践(移动端)
摘要:帮助开发者在音视频场景中快速获得 AI 视觉功能 -- 美颜.滤镜.背景抠图等. 文|即构 Native SDK 开发团队 Z世代作为社会新的消费主力,追求个性.热爱新奇事物,青睐与酷炫 ...
- JavaScript – Proxy
参考 阮一峰 – Proxy 介绍和使用 Proxy 的作用是代理对象, 消费者不直接使用对象, 而是使用代理对象. 一般上做代理的目的就是想拦截对象访问做一些别的事情. 比如当对象改变以后, 同步 ...
- 伯克利函数调用排行榜(BFCL)
自 2022 年底以来,大语言模型(LLMs)凭借其执行通用任务的强大能力,成为众人关注的焦点.不仅限于聊天应用,将这些模型应用于开发各类 AI 应用和软件(如 Langchain, Llama In ...
- [OI] 整体二分
整体二分可以理解成普通二分改版,其实并没有改多少,并且一般对 check() 函数的复杂度要求更宽松 先来看一道经典题目:求区间排名 给一个数列,若干组询问 \((l,r,k)\),求 \([l,r] ...
- 【赵渝强老师】Kafka的消息持久化
1.Kafka消息持久性概述 Kakfa依赖文件系统来存储和缓存消息.对于硬盘的传统观念是硬盘总是很慢,基于文件系统的架构能否提供优异的性能?实际上硬盘的快慢完全取决于使用方式.同时 Kafka 基于 ...
- USB总线-Linux内核USB设备驱动之UAC2驱动分析(十)
1.概述 UVC(USB Audio Class)定义了使用USB协议播放或采集音频数据的设备应当遵循的规范.目前,UAC协议有UAC1.0和UAC2.0. UAC2.0协议相比UAC1.0协议,提供 ...
- ssr屏幕空间射线追踪
本轮作业中,我们需要在一个光源为方向光,材质为漫反射 (Diffuse) 的场景 中,完成屏幕空间下的全局光照效果(两次反射). 为了在作业框架中实现上述效果,基于我们需要的信息不同我们会分三阶段 着 ...