首页IT科技hessian序列化优缺点(Hessian2序列化支持这一点,让重构dubbo接口更容易了)

hessian序列化优缺点(Hessian2序列化支持这一点,让重构dubbo接口更容易了)

时间2025-09-19 11:12:45分类IT科技浏览8041
导读:先看如下Hessian2序列化的测试代码。...

先看如下Hessian2序列化的测试代码                 。

我要说什么呢?

我要说的是MyDto的num属性                          。当num是Integer时                 ,我们得到hessian2序列化结果                          ,然后        ,修改num为Long            ,前面的序列化结果可以正常反序列化        。反之                          ,num先是Long            ,然后修改成Integer        ,亦能正常反序列化            。

这一点对我们的工作有什么帮助呢?

我们的系统中                          ,服务商的主属性--服务商id                ,在不同子系统里    ,这个id字段的类型不统一                          ,varchar/int/bigint                    ,这就致使程序里对应的这个服务商id属性,有的是String                      ,有的是Integer                         ,有的是Long    ,这给我们的系统迭代(开发&运维)带来了许多麻烦                          。系统不断升级迭代                 ,服务越来越多                          ,重构的工作量以及风险就加剧        ,产生系统熵增            。

这几天的北京            ,市民陆续“阳                 ”起来                          ,我们公司也不例外            ,2/3的伙伴们都居家养病了        。非常时期        ,一些开发需求就暂缓                          。我已阳康                          ,趁此机会                ,take action!决定动手重构一把                。

其中    ,中台通道系统的channel-provider里有一个dubbo服务LevyMerchantRelationService                          ,它依赖一个数据传输对象LevyMerchantRelationDTO                    ,LevyMerchantRelationDTO里的服务商id类型是Integer    。从dubbo控制台来观察,LevyMerchantRelationService的消费者有14个应用共8个java工程                          。

那么                      ,我们要变更LevyMerchantRelationDTO里的服务商id类型为Long                         ,这些工程的代码    ,涉及到这个属性的                 ,都要跟着做调整                    。大好的消息是                          ,有了上面hessian2序列化的这个优势(dubbo RPC默认序列化方式是Hessian2)        ,我们在上线的时候            ,就不用把14个消费者应用都同时上线                          ,这将极大节省跨小组沟通和上线工作量            ,更重要的是        ,dubbo服务正常调用                          ,丝毫不影响系统稳定。

这一点                ,增强了我这次重构的自信!

那么    ,我立马想到                          ,如果dubbo接口方法的参数列表里有Integer的服务商id                    ,是不是也能直接改成Long而不影响dubbo消费者的调用呢?经自测验证,这个是行不通的!

声明:本站所有文章                      ,如无特殊说明或标注                         ,均为本站原创发布                      。任何个人或组织    ,在未征得本站同意时                 ,禁止复制                、盗用                         、采集          、发布本站内容到任何网站            、书籍等各类媒体平台                         。如若本站内容侵犯了原著者的合法权益                          ,可联系我们进行处理    。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
python zip方法(python中zip函数如何使用?)