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

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

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

更多文章:


linux环境变量查看(怎么查看修改linux用户当前的环境变量)

linux环境变量查看(怎么查看修改linux用户当前的环境变量)

其实linux环境变量查看的问题并不复杂,但是又很多的朋友都不太了解怎么查看修改linux用户当前的环境变量,因此呢,今天小编就来为大家分享linux环境变量查看的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年11月7日 11:10

understate(under前缀是什么意思)

understate(under前缀是什么意思)

大家好,今天小编来为大家解答以下的问题,关于understate,under前缀是什么意思这个很多人还不知道,现在让我们一起来看看吧!

2026年11月7日 11:00

java调用dubbo接口(java dubbo配置文件中的“$”是哪个目录)

java调用dubbo接口(java dubbo配置文件中的“$”是哪个目录)

其实java调用dubbo接口的问题并不复杂,但是又很多的朋友都不太了解java dubbo配置文件中的“$”是哪个目录,因此呢,今天小编就来为大家分享java调用dubbo接口的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分

2026年11月7日 10:30

递归算法解决兔子问题(java用递归编程(兔子问题))

递归算法解决兔子问题(java用递归编程(兔子问题))

这篇文章给大家聊聊关于递归算法解决兔子问题,以及java用递归编程(兔子问题)对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年11月7日 09:20

安装配置eclipse(安装并配置eclipse出现各种问题怎么办)

安装配置eclipse(安装并配置eclipse出现各种问题怎么办)

大家好,安装配置eclipse相信很多的网友都不是很明白,包括安装并配置eclipse出现各种问题怎么办也是一样,不过没有关系,接下来就来为大家分享关于安装配置eclipse和安装并配置eclipse出现各种问题怎么办的一些知识点,大家可以

2026年11月7日 08:20

base软件(base. apk.1怎么打开)

base软件(base. apk.1怎么打开)

大家好,base软件相信很多的网友都不是很明白,包括base. apk.1怎么打开也是一样,不过没有关系,接下来就来为大家分享关于base软件和base. apk.1怎么打开的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧

2026年11月7日 08:10

类和对象的概念(类和对象有什么区别)

类和对象的概念(类和对象有什么区别)

大家好,今天小编来为大家解答以下的问题,关于类和对象的概念,类和对象有什么区别这个很多人还不知道,现在让我们一起来看看吧!

2026年11月7日 08:00

颜色搭配表及效果图片衣服(女装颜色搭配表及效果图片)

颜色搭配表及效果图片衣服(女装颜色搭配表及效果图片)

本篇文章给大家谈谈颜色搭配表及效果图片衣服,以及女装颜色搭配表及效果图片对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年11月7日 06:50

sqlite格式的视频怎么打开(.sqlite是什么文件,用什么工具打开)

sqlite格式的视频怎么打开(.sqlite是什么文件,用什么工具打开)

大家好,今天小编来为大家解答以下的问题,关于sqlite格式的视频怎么打开,.sqlite是什么文件,用什么工具打开这个很多人还不知道,现在让我们一起来看看吧!

2026年11月7日 05:30

element ui面试题(用element-ui ELDialog和ELTable遇见的坑)

element ui面试题(用element-ui ELDialog和ELTable遇见的坑)

各位老铁们好,相信很多人对element ui面试题都不是特别的了解,因此呢,今天就来为大家分享下关于element ui面试题以及用element-ui ELDialog和ELTable遇见的坑的问题知识,还望可以帮助大家,解决大家的一些

2026年11月7日 04:40

最近更新

understate(under前缀是什么意思)
2026-11-07 11:00:07 浏览:0
热门文章

新站如何通过网站维护提升SEO排名
2026-10-13 20:56:21 浏览:6
标签列表