升级那点事情-升级接口包所引起的一些问题

本文讲述了在升级接口包时遇到的各种问题,包括DTO兼容性、序列化反序列化、消息协商不一致、方法重载、线上的消息被线下消费等,并给出了相应的解决方案。重点关注类加载冲突、接口版本管理以及公共部分升级的向下兼容性问题。
摘要由CSDN通过智能技术生成

一、概述

笔者本文会讲述升级接口包所引起的一些问题。这些问题都在真实的项目遇到到。有的在线上已经出现重大的故障。这些问题被大部分同学在开发的时候忽视了。掌握这些要点,将使你在以后的开发中避免类似的问题。 

二、背景知识(MOM\RPC)

我们知道,在互联网中,可靠情况下,进程(线程)需要通信基本基于TCP/IP连接。连接连上需要三次握手,断开需要四次握手。应用层通信基本就有了RPC连接与MOM消息中间件。在java中,慢慢发展出来了:JMS、MDB、RMI、EJB等通信技术。

  • RPC技术的基本模型是:我们知道RPC有的时候会带一个注册中心,一般是管理服务器的。他是一个中心,一般也不会成为瓶颈。RPC就是client调用server端。其实我们很多应用都是基于这个。如:传统的浏览器,大多数的CS程序(IM等)一般开源的软件有:Hessian、Mina、Netty等。一般要求有接口,与接口参数DTO。这些都需要定义在接口包中,因为要两边共享。这些一般定义在二方包中。

  • MOM,消息中间件。一般也是基于RPC的,不过从client到server中间有一个消息中间件。消息中间件接受client传输的消息,把消息存储下来,再把消息给server。也就是说如果server消费失败,那么消息就会持久化在消息中间件中。这个就是MOM的核心,存储转发模式。一般要求有队列,message有效负荷的约定(一般可以是json字符串,也可以二方包中的DTO。建议用 JSON字符串。)

三、升级接口包遇到的问题(此些问题笔者与同事都有遇到过,有的还在线上出现过故障)

    • 5
      点赞
    • 2
      收藏
      觉得还不错? 一键收藏
    • 8
      评论
    接口504网关超时是指在客户端和服务器之间的网关或代理服务器无法在规定的时间内完成请求。这可能是由于服务器负载过重、网络连接问题或代理服务器出现故障等原因引起的。 当客户端向服务器发送请求时,服务器并未在规定的时间内回复。这种情况可能是由于服务器无法处理来自客户端的请求,或者客户端无法接收到服务器的响应。出现接口504网关超时错误时,客户端收到一个错误页面或者错误消息。 要解决接口504网关超时错误,可以采取以下几个步骤: 1. 检查网络连接:确保客户端和服务器之间的网络连接正常。可以通过尝试访问其他网站来检查网络是否正常工作。如果网络存在问题,可以尝试重启路由器或者联系网络服务提供商进行故障排查。 2. 检查服务器负载:如果服务器负载过重,可能无法及时处理来自客户端的请求。可以联系服务器管理员或者运维团队,了解服务器的负载情况,并根据需要进行调整或升级。 3. 检查代理服务器:如果使用了代理服务器,可能是代理服务器出现了故障。可以尝试绕过代理服务器直接连接目标服务器,看是否能够正常访问。如果问题仅出现在使用代理服务器时,可以联系代理服务器的管理员或者提供商,寻求帮助修复问题。 4. 增加请求超时时间:有时候服务器处理请求的时间较长,超出了客户端的请求超时时间设置。可以尝试增加请求超时时间,以给服务器更多的时间来处理请求。 总的来说,接口504网关超时是一种常见的网络错误,可能由多种原因导致。通过检查网络连接、服务器负载、代理服务器以及请求超时时间等方面,可以有针对性地解决这个问题,确保正常的请求和响应。
    评论 8
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值