工匠网关服务与事务处理
1. 数据传输与解析
在数据传输中,{MIME - type} 用于指示正在传输的文件类型,例如 image/png;{file - data} 则是对应字段的文件数据。为了支持仅包含这三部分数据的有效负载,我们需要找到或编写代码来可靠地解析每个数据部分并处理返回的数据块。虽然有像 requests - toolbelt 这样的库,但在某些核心 Python 版本(3.3.0 和 3.3.1)中存在已知问题,因此是否使用它取决于所使用的 Python 版本。从头编写和测试处理 multipart/form - data 有效负载的代码是一个耗时的过程。
在网络服务场景中,使用成熟的 Web 应用程序包来处理传入请求是更好的选择。我们可以编写代码将传入请求映射到处理方法,类似于消息队列的实现方式。这样,签名消息可以在这种上下文中使用,并且底层操作方法可能不需要进行重大修改。
2. 服务的消息传输
2.1 消息接收与发送需求
服务的消息接收部分已在 ArtisanGateway 的主方法中实现,但消息发送功能除了围绕消息生成的部分外,尚未完全实现。当数据对象类型被修改、创建或删除时,需要向对应的子系统发送相关命令消息。例如,工匠创建新产品时,需要向网关服务发送“创建产品”消息;中央办公室工作人员对产品进行更改时,网关服务需要向相应的工匠应用程序实例发送“更新产品”消息。
2.2 RabbitMQSender 类的设计
在工匠应用程序端,发送消息所需的队列参数是恒定的。为了避免在初始化时将所有消息队列设置传递给各个数据对象,我们创建了 RabbitMQSender 类。该
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



