spring netty(netty 和 springmvc框架的区别)

:暂无数据 2026-07-21 00:30:01 1

spring netty(netty 和 springmvc框架的区别)

各位老铁们,大家好,今天由我来为大家分享spring netty,以及netty 和 springmvc框架的区别的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

本文目录

netty 和 springmvc框架的区别

没错,是框架,netty是网络通讯的框架,spring mvc是一个开源框架,是为了解决企业应用程序开发

(四)使用Netty结合springmvc

之前用netty做了一个简陋的web容器,算是一个demo。
但是在实际应用里面,肯定都是用类似spring,springmvc做管理容器的。
网上有一些跟Netty相关的mvc框架,但是没发现像springmvc那么主流的,所以这里就结合Spring,springmvc,netty做一个web容器。

依赖比较简单,其实就是普通的spring-starter 还有feign的组件,还有eureka,熔断器,方便后续使用,集成在里面,也有一些Spring-web相关的依赖需要用到,但是feign的组件里面已经提供了

这里也没有太特殊的地方,其实就是实现了CommandLineRunner,可以在容器启动后,启动Netty服务端。

这个配置的话,大家可以自己写死,或者是配置在配置文件里面

为什么要弄一个类,去继承DispatcherServlet。
答案比较简单,因为DispatcherServlet中的doService方法是protected的,所以只能继承子类去调用。
DispatcherServlet是Springmvc处理请求的核心。
另外springmvc本身也是主流的组件,自己去写一个servlet太费劲了。
另外我们还看到,构建自定义的DispatcherServlet的时候,需要传入一个web容器,因为servlet初始化的时候,需要传入一个容器。下面再讲一下容器是如何构建的。

因为Servlet本身,单例就满足需求了,所以直接注入到容器里面去。
先弄一个配置类,用于扫描Mvc的组件, 在构建完容器后,将其注册到容器中,随后进行刷新。

由于这里我们只需要响应,所以比较简单。

怎么搭建netty业务应用场景

下面将分析手头上一个项目,运用的技术很全,值得学习,先做一个简单介绍,当然业务部分代码就不讲了。
整个工程采用maven来管理,主要的技术是spring+jedis+netty+disruptor.看这个组合,这个服务器端性能应该很不错。
这个工程又引发我对技术无限热爱 ,哈哈。

个工程,目前主要是针对一些基于json/xml/text格式的请求,同时也是支持标准手机请求的,当然,可以自定义一些其他格式或者pc端的请求,而
且针对不同URI,后面挂了不同的handler,这些可能都是一些web处理的基本思想,只是脱离了常规的web容器或者应用服务器。
xml工具采用xstram来处理,两个字,方便。
json工具采用jackson\不知道和业界出名的fastjson\gson\sf.json有何区别,待鉴定。

户端的请求,统一继承ClientRequestModel,经过编码统一转化为domainMessage,交由disruptor来处理,其实oop
里什么继承,实现,封装思想,大部分都在围绕一个东西在走,一句话,把看似各有棱角的东西如何转化为共同的东西,求同存异啊(比如,水,石头,空气等,如
果在这一层,我们没法统一用一个特征来表示,我们可以先把它转化为分子,那是不是可以用同一个东西来表示呢看如何高度抽象封装,这真是一门艺术)。

SpringBoot集成netty-socket.io

netty-socekt.IO官网

socket.io是一个netty.socket node版的java实现版,其性能优于webSocket等socket技术,socket.io有nameSpace等,分区方式,比较灵活。

originHost为socket客户端的地址,serverHost请使用ip,lz在使用过程中尝试过使用localhost,但服务未能调用成功。

socketIoConfig用于生产bean,在socketService等其他地方调用该SocketIOServer的bean

SpringBoot+Netty JT808网关压力测试

上一篇文章我们介绍了如何使用SpringBoot+Netty开发JT808网关,这一篇文章将压力测试JT808网关。

网上看过一些百万级部标网关的文章,没有给出服务器配置,没有给出发送速率,没有给出测试报告,完全就是噱头,我们要保持清醒的头脑,一切以数据说话。

使用模拟终端压测工具,压测工具会发送五种消息:终端注册、终端注销、终端鉴权、心跳、位置汇报。JT808网关接收并解析位置信息后发送到RabbitMQ,gnss-web订阅RabbitMQ的位置消息并统计收到的位置数量。对比压测工具总共发送的位置数量和web收到的位置数量是否一致。
由于交通部的压力检测要求不高,我们不按交通部的要求压测,测试时会将发送速率提高2倍以上,看系统的承压能力达到多少。

服务器:腾讯云和阿里云Linux
配置:CPU:4核 内存:8G 带宽:5M
环境:JDK13,RabbitMQ,Redis,其中RabbitMQ和Redis使用Docker容器创建
测试程序:网关jt808-server、web后台gnss-web
消息序列化:ProtoBuf
模拟压测终端台数:3333、10000、12000
流程:启动docker容器的Redis和RabbitMQ,再启动gnss-web,加载20000台终端的信息到Redis缓存,再启动jt808-server。

RabbitMQ的吞吐量:

服务器负载信息:

web收到的位置数量:2523083

查看JT808网关线程,未发现有BLOCK阻塞线程。

总结:压测时间:40分钟,位置数量:1千万,RabbitMQ吞吐量:5000/s,CPU占用率:75-80%,带宽:3.5M

CPU比以前下降了不少:

JT808网关线程良好,未发现有BLOCK阻塞线程

执行GC垃圾回收后,内存一下子下降了,绿色代表快照前的状态,如果进度条有红色,则表示有内存泄漏。这里全部为绿色,没有出现内存泄漏:

以上就是我们为大家找到的有关“spring netty(netty 和 springmvc框架的区别)”的所有内容了,希望可以帮助到你。如果对我们网站的其他内容感兴趣请持续关注本站。

spring netty(netty 和 springmvc框架的区别)

本文编辑:admin

更多文章:


display flex 自动换行(overflow-y:hidden;overflow-x:auto;无效解决方法)

display flex 自动换行(overflow-y:hidden;overflow-x:auto;无效解决方法)

大家好,关于display flex 自动换行很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于overflow-y:hidden;overflow-x:auto;无效解决方法的知识点,相信应该可以解决大家的一些困惑和问题,如

2026年9月7日 11:00

小程序免认证源码(小程序源码都能干嘛)

小程序免认证源码(小程序源码都能干嘛)

本篇文章给大家谈谈小程序免认证源码,以及小程序源码都能干嘛对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年9月7日 10:50

timestamp without time zone(Postgresql中to_date()函数使用问题)

timestamp without time zone(Postgresql中to_date()函数使用问题)

各位老铁们好,相信很多人对timestamp without time zone都不是特别的了解,因此呢,今天就来为大家分享下关于timestamp without time zone以及Postgresql中to_date()函数使用问题

2026年9月7日 09:40

网页制作代码特效大全(谁知道网页打字机特效的代码)

网页制作代码特效大全(谁知道网页打字机特效的代码)

大家好,如果您还对网页制作代码特效大全不太了解,没有关系,今天就由本站为大家分享网页制作代码特效大全的知识,包括谁知道网页打字机特效的代码的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年9月7日 04:20

下载mysql的步骤(win10安装mysql的步骤和方法)

下载mysql的步骤(win10安装mysql的步骤和方法)

各位老铁们,大家好,今天由我来为大家分享下载mysql的步骤,以及win10安装mysql的步骤和方法的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

2026年9月7日 04:10

webstorm怎么读(webstorm文件结构怎么打开)

webstorm怎么读(webstorm文件结构怎么打开)

本篇文章给大家谈谈webstorm怎么读,以及webstorm文件结构怎么打开对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年9月7日 03:50

nio新特性(Java NIO与IO的区别和比较)

nio新特性(Java NIO与IO的区别和比较)

各位老铁们好,相信很多人对nio新特性都不是特别的了解,因此呢,今天就来为大家分享下关于nio新特性以及Java NIO与IO的区别和比较的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

2026年9月7日 03:40

checked in(check in和check out的区别)

checked in(check in和check out的区别)

本篇文章给大家谈谈checked in,以及check in和check out的区别对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年9月7日 01:20

java经典上机编程题(java上机题 请问这道题应该怎么写)

java经典上机编程题(java上机题 请问这道题应该怎么写)

大家好,java经典上机编程题相信很多的网友都不是很明白,包括java上机题 请问这道题应该怎么写也是一样,不过没有关系,接下来就来为大家分享关于java经典上机编程题和java上机题 请问这道题应该怎么写的一些知识点,大家可以关注收藏,免

2026年9月7日 01:10

影视剧中有哪些剧情颠覆了你的三观?金庸的武侠小说《白马啸西风》为什么没有被拍成电影或者电视剧

影视剧中有哪些剧情颠覆了你的三观?金庸的武侠小说《白马啸西风》为什么没有被拍成电影或者电视剧

各位老铁们,大家好,今天由我来为大家分享白马影视,以及影视剧中有哪些剧情颠覆了你的三观的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

2026年9月7日 00:30

最近更新

display flex 自动换行(overflow-y:hidden;overflow-x:auto;无效解决方法)
2026-09-07 11:00:06 浏览:0
oppo find x3 pro配置(oppofindx3pro是否支持双卡双待介绍)
2026-09-07 10:10:21 浏览:0
热门文章

yoga pro 14s carbon(yoga14s接口类型)
2026-07-03 17:50:01 浏览:5
domino directory(帮我翻译一下Recipient’s Domino Directory entry does not specify a valid Notes mail file)
2026-08-03 19:20:01 浏览:4
标签列表