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

php – 在微服务之间传递对象

发布时间:2020-12-13 16:58:42 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试将整体的一些部分移动到外部服务.到目前为止,我喜欢这个想法,并且在一个应用程序中封装所有相关功能似乎更加清晰.不同的应用程序使用RabbitMQ进行通信. 我在一个服务中有一个用户对象.如果我想在服务中使用这个完全相同的类,我可以轻松地序列化它
我正在尝试将整体的一些部分移动到外部服务.到目前为止,我喜欢这个想法,并且在一个应用程序中封装所有相关功能似乎更加清晰.不同的应用程序使用RabbitMQ进行通信.

我在一个服务中有一个用户对象.如果我想在服务中使用这个完全相同的类,我可以轻松地序列化它并在消息体中发送序列化对象.但由于发送者和接收者都需要包含用户类,我必须共享一个包含用户对象的一些表示的库(虽然对我来说,将真实用户对象放在库中似乎很奇怪,因为它是主应用程序的核心).我想我也可以使用用户密钥和定义的键值传递一个数组.

我也在想,如果我有一天在PHP以外的东西中创建服务,那么它将无法反序列化用户对象,因此无法访问消息中的数据.

所以基本上我喜欢在服务之间传递实体并且能够在接收端将它们用作对象的想法,但我不确定这是否是正确的方法.

我的问题是在这些服务之间传递对象的最佳方法是什么?

解决方法

首先,你不应该通过jar在你的微服务之间共享那些域对象.实际上你不应该以任何方式分享你的域名对象.它可以使可维护性和部署过程成为您的噩梦.相反,您可以在微服务中使用各种数据传输对象(DTO).

最好的便携和健康的通信方式可能是使用一些可互操作的序列化机制,如使用json或xml.

如果你真的不需要它,那么从长远来看,微服务很难管理.所以使用它只是因为它听起来更干净根本不是一个好主意.当然,如果你有一个复杂的大规模项目,那么你可以去做.

(编辑:李大同)

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

    推荐文章
      热点阅读