missian是什么
hessian是一个基于HTTP的优秀的、高效的RPC框架,而missian可以理解为:基于mina对hessian进行扩展,使之:
1、具备异步RPC能力,但同时也提供了同步的客户端,和hessian完全兼容
2、能够在TCP之上传输,省掉了HTTP编码解码的过程,但是同事也支持HTTP协议,意味着hessian客户端也是可以调用missian服务的。
missian提供了什么
1、一个基于mina的服务器,可以基于spring,也可以是独立的。mina所具备的优秀基因它都具备。同时它还具备一个特点:只需要开放一个端口,它可以兼容tcp协议和http协议——并且完全兼容hessian——也就是说,我们完全可以抛开servlet容器(诸如tomcat、resin之类),启动独立的服务器进行服务。
2、一个同步客户端。它接受tcp(tcp://server:port/beanname)和http(http://server:port/beanName)格式的URL,并自动根据协议种类来发送不同类型的数据包。它即可以基于短连接,也可以使用连接池,用户可以自行决定。它也是和hessian完全兼容的,当然了,只能使用http协议访问hessian。
3、一个异步的客户端。它接受tcp(tcp://server:port/beanname)和http(http://server:port/beanName)格式的URL,并自动根据协议种类来发送不同类型的数据包。它发送数据之后立刻返回绝不等待(返回值永远都是null,除非是void),当服务器计算完成并传回结果时,会自动调用相应的回调接口。默认会创造一个4个线程的池来做回调的任务,线程数是可以指定的(使用其它构造函数),或者传入一个已经构造好的线程池给它也是可行的。很遗憾的是,我们还不能够异步去调用已有的hessian服务。
missian的应用场景
1、构建一个missian服务器,同时存在hessian客户端和missian客户端来调用它。这种场景,missian服务器优势明显:
- 首先抛弃了servlet容器,服务器的并发性能更有保障;实测证明这些容器的性能和mina开发的服务器相比还是有差距。
- 兼容hessian客户端,所有已经的业务逻辑不需要做很大的改动。
- 保障了服务的灵活性,客户端发HTTP请求,它就返回HTTP响应,客户端发TCP请求,它就回应TCP;它自动甄别是异步请求还是同步请求,如果是同步请求,那么和hessian一般无二(http的前提下),如果是异步请求,它还会返回一些辅助信息,以帮助异步客户端能够进行回调
2、构建一个missian服务器,使用同步missian客户端来调用。
- 优势在于可以使用tcp传输,同时支持连接池,连接池是用户可控的
3、构建一个missian服务器,使用异步missian客户端来调用。
- 异步调用的最大的优势,就是释放线程,而不是让线程耗费在等待服务器的响应上。
4、使用同步missian客户端去调用已有的hessian服务。
- 相比hessian客户端,优势在于用户可以自定义是使用短链接,还是使用长连接(以及连接池)。
分享到:
相关推荐
弥赛亚(Missian)作为一款新兴的框架,其无模式风格可能是为了提供更灵活的配置和更低的学习曲线,使得开发者可以更快地集成到现有项目中。 **无模式风格** 无模式风格通常指的是框架没有严格的约定或者模板,...
6. **Missian ActiveMQ-JMS简单实例**:这可能是一个具体的项目实例,它展示了如何在Spring应用中使用ActiveMQ实现异步RPC(远程过程调用)。在这种模式下,一个服务通过消息将请求发送到队列,另一端的服务监听队列...
多进制计算器WB程序ZQ
calico.yaml
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
1、文件内容:expat-static-2.1.0-15.el7_9.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/expat-static-2.1.0-15.el7_9.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
1、文件内容:fence-agents-rsb-4.2.1-41.el7_9.6.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/fence-agents-rsb-4.2.1-41.el7_9.6.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
项目已获导师指导并通过的高分毕业设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行!可以放心下载 技术组成 语言:java 开发环境:idea 数据库:MySql8.0 部署环境:Tomcat(建议用 7.x 或者 8.x 版本),maven 数据库工具:navicat
1、文件内容:dotconf-1.3-8.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/dotconf-1.3-8.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
软件开发阶段成本分布研究.pdf
1、文件内容:dnssec-trigger-0.11-22.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/dnssec-trigger-0.11-22.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
项目已获导师指导并通过的高分毕业设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行!可以放心下载 技术组成 语言:java 开发环境:idea 数据库:MySql8.0 部署环境:Tomcat(建议用 7.x 或者 8.x 版本),maven 数据库工具:navicat
1、文件内容:dlm-4.0.7-1.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/dlm-4.0.7-1.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
1、文件内容:evolution-devel-docs-3.28.5-10.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/evolution-devel-docs-3.28.5-10.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
网易云音乐梁静茹歌曲爬虫程序代码
vb6.0版本记事本代码
msodemo
1、文件内容:exempi-devel-2.2.0-9.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/exempi-devel-2.2.0-9.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
VS2010旗舰版的VB.NET版本录音程序代码
1、文件内容:fedfs-utils-admin-0.10.5-0.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/fedfs-utils-admin-0.10.5-0.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装