加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

XML over Sockets是好还是坏的实践?

发布时间:2020-12-16 23:27:09 所属栏目:百科 来源:网络整理
导读:我一直在研究一个通过套接字传输xml一段时间的系统.我从来没有真正理解选择xml而不是自定义协议的真正优势. 但我确实看到很多开发人员(特别是原来的Web开发人员)设置了这种实现(xml over socket). 我明白这更“人性化”(这就是我一直听到的). 但, Xml携带了
我一直在研究一个通过套接字传输xml一段时间的系统.我从来没有真正理解选择xml而不是自定义协议的真正优势.

但我确实看到很多开发人员(特别是原来的Web开发人员)设置了这种实现(xml over socket).

我明白这更“人性化”(这就是我一直听到的).

但,

> Xml携带了大量的字符,导致巨大的消息,实际上内容非常简单.
>邮件大小各不相同,因此您需要保证以特定字符或字符串模式终止邮件.
>解析xml时会有更多的开销

由于所有这些原因,当我可以使用固定大小的消息使用自定义协议设置我的系统时,我仍然怀疑考虑使用针对新系统的套接字XML.避免传输大量消息并且性能在客户端大小上解析xml.

这样想我错了吗?系统架构方面的“最佳”是什么?

问候

解决方法

设计决策都是关于权衡的.您已经列举了XML为您提供的内容 – 可读性和自我描述.它还带有描述语言(XSD),非常便携等.

但是这些优点伴随着你提到的缺点.那么让我们一个一个地解决它们:

赘言

是的,XML是冗长的,既是自描述的又是基于文本的.如果性能是一个问题,这只是一个真正的问题.是吗?积极的权衡取舍怎么样?

请注意,这里合理的替代方案是JSON,它同样可读但效率更高.

不同尺寸

是的,但这取决于连接层.如果您没有持久连接(例如,HTTP),或者您正在使用提供自己的“框架”(例如AMQP或JMS)的协议,那么这不是问题 – 传输层负责处理它.如果您打算重新发明这个轮子,那么不同的有效载荷会使协议变得更难.但协议(特别是在所有边缘情况下)都很难.

解析开销

这与详细程度直接相关.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读