3.Hessian

简介: Dubbo 的 Hessian 协议基于 HTTP 通信,使用 Servlet 暴露服务,内嵌 Jetty 服务器,支持与原生 Hessian 服务互操作,适用于参数较大、需传输文件的场景,配置灵活,支持多端口和直连调用。

Hessian 1 协议用于集成 Hessian 的服务,Hessian 底层采用 Http 通讯,采用 Servlet 暴露服务,Dubbo 缺省内嵌 Jetty 作为服务器实现。

Dubbo 的 Hessian 协议可以和原生 Hessian 服务互操作,即:

  • 提供者用 Dubbo 的 Hessian 协议暴露服务,消费者直接用标准 Hessian 接口调用
  • 或者提供方用标准 Hessian 暴露服务,消费方用 Dubbo 的 Hessian 协议调用。

特性

  • 连接个数:多连接
  • 连接方式:短连接
  • 传输协议:HTTP
  • 传输方式:同步传输
  • 序列化:Hessian二进制序列化
  • 适用范围:传入传出参数数据包较大,提供者比消费者个数多,提供者压力较大,可传文件。
  • 适用场景:页面传输,文件传输,或与原生hessian服务互操作

依赖

<dependency>
    <groupId>com.caucho</groupId>
    <artifactId>hessian</artifactId>
    <version>4.0.7</version>
</dependency>

约束

  • 参数及返回值需实现 Serializable 接口
  • 参数及返回值不能自定义实现 List, Map, Number, Date, Calendar 等接口,只能用 JDK 自带的实现,因为 hessian 会做特殊处理,自定义实现类中的属性值都会丢失。

配置

定义 hessian 协议:

<dubbo:protocol name="hessian" port="8080" server="jetty" />

设置默认协议:

<dubbo:provider protocol="hessian" />

设置 service 协议:

<dubbo:service protocol="hessian" />

多端口:

<dubbo:protocol id="hessian1" name="hessian" port="8080" />
<dubbo:protocol id="hessian2" name="hessian" port="8081" />

直连:

<dubbo:reference id="helloService" interface="HelloWorld" url="hessian://10.20.153.10:8080/helloWorld" />

1. Hessian

是 Caucho 开源的一个 RPC 框架,其通讯效率高于 WebService 和 Java 自带的序列化。

相关文章
|
4月前
|
前端开发 NoSQL Java
3-代码拉取与运行
本文介绍了如何快速部署和启动 JeecgBoot 项目,涵盖代码拉取(在线与离线方式)、数据库脚本导入、Idea 工程配置、后端与前端工程启动等关键步骤,帮助开发者快速搭建本地开发环境。
3-代码拉取与运行
|
14天前
|
弹性计算 搜索推荐 异构计算
阿里云服务器多少钱一年?2025年12月最新价格38元、99元和199元配置详解
阿里云2025年特价服务器汇总:轻量应用服务器38元/年起,2核2G ECS仅99元/年,2核4G 5M带宽199元/年,4核16G 10M带宽89元/月,8核32G 160元/月,香港轻量25元/月起,爆款低至1折,新老用户同享,续费同价,限时秒杀速抢!
258 1
|
6月前
|
SQL 缓存 Java
Mybatis及MybatisPlus
MyBatis 是一款优秀的持久层框架,支持自定义 SQL、存储过程及高级映射。其系统架构通过 mybatis-config.xml 配置全局信息,结合 mapper.xml 映射 SQL 语句,构建 SqlSessionFactory 并创建 SqlSession 操作数据库。MyBatis 底层通过 Executor 执行器和 Mapped Statement 对象实现 SQL 的输入输出映射与执行。支持复杂结果集映射,
|
4月前
|
前端开发 NoSQL Java
jeecg-boot
JeecgBoot 是一个基于 Spring Boot 和 Vue3 的低代码开发平台,支持快速构建企业级应用。平台提供源码下载、技术架构清晰,涵盖前后端详细配置及代码生成指南。用户可通过 GitHub 获取源码,使用 IDEA 和 WebStorm 开发,结合 MySQL、Redis 等组件实现系统搭建。平台内置代码生成功能,支持表单开发、菜单配置与权限管理,便于快速实现增删改查等业务需求。
 jeecg-boot
|
4月前
|
JSON Dubbo 网络协议
1.Dubbo(缺省默认)
Dubbo缺省协议采用单一长连接和NIO异步通信,适合小数据量高并发场景,消费者多于提供者。不适用于大数据传输,如文件或视频,除非请求量低。支持多种传输器、序列化方式和线程池策略。特性包括基于Mina和Hessian的交互、单连接、长连接、TCP传输、NIO异步、Hessian序列化等。适用于常规远程服务调用,但参数和返回值需实现Serializable接口,不能自定义集合类。配置灵活,支持多端口和连接数控制,保障服务提供者的稳定性。
1.Dubbo(缺省默认)
|
6月前
|
NoSQL Java 数据库连接
SpringBoot框架
Spring Boot 是 Spring 家族中最流行的框架,旨在简化 Spring 应用的初始搭建与开发。它通过自动配置、起步依赖和内嵌服务器三大核心功能,大幅减少配置复杂度,提升开发效率。开发者可快速构建独立运行的 Web 应用,并支持多种数据访问技术和第三方集成。
|
6月前
|
存储 负载均衡 Java
SpringCloud框架
本文介绍了微服务架构中常用的技术组件与原理,包括Nacos与Eureka的服务注册与发现机制、Nacos的分级存储模型、OpenFeign的远程调用流程、Ribbon与Spring LoadBalancer的负载均衡策略、Hystrix与Sentinel的限流熔断机制、滑动窗口算法原理,以及Spring Cloud Gateway的路由断言与过滤器功能,全面覆盖微服务核心治理能力。
|
人工智能 安全 物联网
园区导航如何实现?GPS与蓝牙定位技术精准导航
园区导航系统融合了大数据、人工智能和物联网技术,实现了室内外无缝切换和精准定位,提供智能路径规划、全方位服务信息和安全保障,提升了园区管理效率和用户体验。
556 0
|
存储 机器学习/深度学习 数据挖掘
探究数据仓库与数据湖的异同及应用场景
在数据分析与处理方面,数据仓库与数据湖是两种广泛运用的数据架构。本文将深入剖析数据仓库与数据湖的概念、特点、使用场景以及二者之间的区别和联系,帮助读者更好地了解这两种数据架构的优缺点。
|
存储 前端开发 Java
springboot中的第二个IOC容器BootstrapContext
springboot中的第二个IOC容器BootstrapContext
springboot中的第二个IOC容器BootstrapContext