高级系统架构师必知的经纪人Broker设计

2023-12-01 01:58

本文主要是介绍高级系统架构师必知的经纪人Broker设计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

什么是经纪人(Broker)解决方案

每个网络节点的本地Broker 代表系统中的领域对象进行协商并实现进程间通信的功能。远程领域对象的显式接口采用Client Proxy(客户端代理)的方式在其客户端的地址空间实现,并处理所有与Broker 之间的交互。

此外,无论是本地的对象还是远程的,Broker 都为领域对象提供注册其网络位置和所公开的显式接口的功能,并允许它们获取其它所有己注册的领域对象的显式接口。

因此,在分布式系统中,通过使用一系列的Broker,可以从应用的功能中,隔离并封装通信基础设施的细节,这样客户端可以像使用本地服务一样,调用远程服务的方法。


Broker 有两个重要优点:

封装性:使得应用程序开发人员专注于提供必要的领域功能,他们不需要关心底层的网络问题。

位置无关性:允许客户端采用与访问同一地址空间领域对象相同的方式来访问远程领域对象,从而支持计算机网络中的灵活部署。

位置无关性还有利于提升系统的可伸缩性和可用性,因为它可以通过复制和联合领域对象有效地利用网络中可用的集体计算能力。位置无关性对于产品线架构环境来说非常重要,因为不同的产品线实例具有不同的功能性和操作上的需求。


领域对象不要直接处理网络问题


问题:怎样才能够保护仓库管理流程控制系统中的领域对象,使其不必直接处理网络问题并在它们之间提供位置无关的交互机制呢?

对策:利用经纪人(Broker)解决方案,隔离业务和通信基础设施的关系。

解决方案:为网络桥接设计合理的经纪人(Broker),以便分布式的领域时象能互相发现、访问并彼此交流,就像它们部署在一起一样。

这种设计可以帮助我们从应用的功能中,隔离并封装通信基础设施的细节。Broker 系统的封装性和位置无关性,有利于提升系统的可伸缩性和可用性,位置无关性对于产品线系统环境来说非常重要,因为不同的产品线实例具有不同的功能性和操作上的需求。


仓库流程控制系统的网络桥接


如何帮助我们从应用的功能中,隔离并封装通信基础设施的细节,从而保证系统的封装性和位置无关性,有利于提升系统的可伸缩性和可用性呢?通过经纪人(Broker)设计解决方案可以帮助我们解决这类问题。

位置无关性对于产品线系统环境来说非常重要,因为不同的产品线实例具有不同的功能性和操作上的需求。下图描绘了仓库管理流程控制系统的表现层和业务处理层中使用基于Broker 模式的通信基础设施的情况。在该图中,MFC 指的是物流控制(Material Flow Control)。我们假定位于同一层中的领域对象处于同一位置。


为了满足操作大型仓库所需要的性能和吞吐量方面的要求,规定在流程控制系统的Broker 模式中,所有的进程间通信都是异步和面向消息的。调用客户端代理的一个方法会发出一个特定类型的异步消息(请求报文)。远程调用的结果通过“响应报文”异步返回。


然而,纯粹的异步通信机制经常难以理解,更难以在应用服务的实现中正确而有效地使用。


因此客户端代理还要完成以下任务:将异步通信机制封装起来,并向客户端领域对象提供它们所需要的特定通信和调用模型。这种封装有助于应用开发人员以一种更直接、易懂和方便的方式来使用异步通信机制。

这篇关于高级系统架构师必知的经纪人Broker设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/439383

相关文章

Javascript高级程序设计(第四版)--学习记录之变量、内存

原始值与引用值 原始值:简单的数据即基础数据类型,按值访问。 引用值:由多个值构成的对象即复杂数据类型,按引用访问。 动态属性 对于引用值而言,可以随时添加、修改和删除其属性和方法。 let person = new Object();person.name = 'Jason';person.age = 42;console.log(person.name,person.age);//'J

在线装修管理系统的设计

管理员账户功能包括:系统首页,个人中心,管理员管理,装修队管理,用户管理,装修管理,基础数据管理,论坛管理 前台账户功能包括:系统首页,个人中心,公告信息,论坛,装修,装修队 开发系统:Windows 架构模式:B/S JDK版本:Java JDK1.8 开发工具:IDEA(推荐) 数据库版本: mysql5.7 数据库可视化工具: navicat 服务器:SpringBoot自带 ap

通信系统网络架构_2.广域网网络架构

1.概述          通俗来讲,广域网是将分布于相比局域网络更广区域的计算机设备联接起来的网络。广域网由通信子网于资源子网组成。通信子网可以利用公用分组交换网、卫星通信网和无线分组交换网构建,将分布在不同地区的局域网或计算机系统互连起来,实现资源子网的共享。 2.网络组成          广域网属于多级网络,通常由骨干网、分布网、接入网组成。在网络规模较小时,可仅由骨干网和接入网组成

DDei在线设计器-API-DDeiSheet

DDeiSheet   DDeiSheet是代表一个页签,一个页签含有一个DDeiStage用于显示图形。   DDeiSheet实例包含了一个页签的所有数据,在获取后可以通过它访问其他内容。DDeiFile中的sheets属性记录了当前文件的页签列表。   一个DDeiFile实例至少包含一个DDeiSheet实例。   本篇最后提供的示例可以在DDei文档直接预览 属性 属性名说明数

基于Springboot + vue 的抗疫物质管理系统的设计与实现

目录 📚 前言 📑摘要 📑系统流程 📚 系统架构设计 📚 数据库设计 📚 系统功能的具体实现    💬 系统登录注册 系统登录 登录界面   用户添加  💬 抗疫列表展示模块     区域信息管理 添加物资详情 抗疫物资列表展示 抗疫物资申请 抗疫物资审核 ✒️ 源码实现 💖 源码获取 😁 联系方式 📚 前言 📑博客主页:

Linux系统稳定性的奥秘:探究其背后的机制与哲学

在计算机操作系统的世界里,Linux以其卓越的稳定性和可靠性著称,成为服务器、嵌入式系统乃至个人电脑用户的首选。那么,是什么造就了Linux如此之高的稳定性呢?本文将深入解析Linux系统稳定性的几个关键因素,揭示其背后的技术哲学与实践。 1. 开源协作的力量Linux是一个开源项目,意味着任何人都可以查看、修改和贡献其源代码。这种开放性吸引了全球成千上万的开发者参与到内核的维护与优化中,形成了

比较学习难度:Adobe Illustrator、Photoshop和新兴在线设计平台

从入门设计开始,几乎没有人不知道 Adobe 公司两大设计软件:Adobe Illustrator和 Photoshop。虽然AI和PS很有名,有一定设计经验的设计师可以在早期探索和使用后大致了解AI和PS的区别,但似乎很少有人会系统地比较AI和PS。目前,设计软件功能多样,轻量级和网页设计软件已成为许多设计师的需求。对于初学者来说,一篇有针对性的AI和PS比较总结文章具有非常重要的指导意义。毕竟

微信小程序开发必知必会:文件结构和基本配置

一、微信小程序基本文件结构 1.  project.config.json:项目的基本配置文件,包括项目名称、appid、项目目录、页面文件夹等。     {"setting": {"urlCheck": false,"es6": true,"postcss": true,"nodeModulesPath": "D:\\\\node_modules"},"appid": "wxd678e

基于Java医院药品交易系统详细设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝10W+,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码+数据库🌟 感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人  Java精品实战案例《600套》 2023-2025年最值得选择的Java毕业设计选题大全:1000个热

展厅设计主要的六大要素

1、从创意开始      展示设计的开始必须创意在先。根据整体的风格思路进行创意,首先要考虑的是主体的造型、大小高度位置以及它和周围展厅的关系。另外其他道具设计制作与运作方式也必须在创意中有明确的体现。      2、平面感      平面感是指对展示艺术设计平面图纸审美和功能两个方面理性的感觉认识。它是三维空间设计认识的基础,也是施工的重要依据。展示空间的设计应先在展场环境的平面