转自:http://blog.chinaunix.net/uid-20146676-id-1733417.html
史美林的《计算机支持的协同工作理论与应用》上面对Borker、Agent和Proxy解释,如下:
为了改善Internet的体系结构,可以综合使用Borker、Agent和Proxy等多种代理。 Agent是一种具有控制功能的实体,它接收信息,然后根据自己的知识、规则和控制逻辑对信息进行处理,然后把信息转发出去。Agent通常以要素的身份存在,是为一个整体服务的,在信息流程中,Agent充当一个中间处理部件,它接收操作指令,并依据自己的知识,规则,和控制逻辑指定操作步骤,完成要求的功能,然后对等输出,这是Agent的第一个作用。Agent具有很强的表达能力,这意味着Agent 之间可以通过ACL通信,例如交换数据,逻辑信息和指令,这是Agent的一个显著的特点。Agent 与面向对象中的对象这一个概念非常的相似:Agent的内部数据结构和算法也是对外隐蔽的,它通过基于消息的接口与外界通信,Agent与对象二者的差别主要体现在接口语言上,在面相对象的程序设计中,对象之间通信时,不同的对象对同一消息的理解可以不同;在Agent方式中,Agent之间通信时使用公共的语言,其语义独立于具体的Agent,所以Agent的第二个作用是充电中间处理部件,它代表一个具有特定接口的实体,对外提供公共接口,这是解决资源异构的关键所在。
Agent具有公共性(commonality,Agent通信语言独立与Agent),真实性(veracity,Agent必须真实而坦诚的公布自己的功能),自治性(autonomy,一个Agent 不能强迫另一个Agent执行某项任务,除非后者公布自己具有该功能)和强制性(commitment,如果Agent公布了自己的某项服务,那么当它收到执行该服务的请求时,必须接收请求并执行该服务)。Agent的公共性使它非常适合解决资源异构的问题,从它的后三个特性可以看出,Agent非常适用于动态、可伸缩的环境。
Broker可以方便的提供Agent之间的互见性(awareness)。我们知道,Internet 是一个动态、可收缩的环境,这意味着实体的代表者--Agent,应该能够动态的增加和减少。Borker为Agent提供了注册的场所,这就提供了最基本的可见性:Agent 之间能够意识到对方的存在,更进一步,在协同应用环境中, 每个实体的动作应该对其他的实体产生影响。这意味着两个Agent在真正能够交互前,必须进行必要的协商,通信时还
要随时进行协同控制。当Agent比较多时,每个Agent 都必须包含与其他所有代理进行协商和协同控制的代码,不仅开销大,而且实现比较复杂。因此,可以通过Borker 进行集中的协同控制,提供更高级的互见性。
浏览器和HTTP Server之间通过标准的HTTP协议进行通信,而HTTP协议功能有限,因此,在浏览器和HTTP服务器之间引入了Proxy。Proxy充当HTTP服务器和HTTP客户两种角色。我们在Porxy和HTTP服务器之间扩展HTTP协议,增强客户方与服务器的通信功能,这对浏览器是透明的。
Agent具有公共性(commonality,Agent通信语言独立与Agent),真实性(veracity,Agent必须真实而坦诚的公布自己的功能),自治性(autonomy,一个Agent 不能强迫另一个Agent执行某项任务,除非后者公布自己具有该功能)和强制性(commitment,如果Agent公布了自己的某项服务,那么当它收到执行该服务的请求时,必须接收请求并执行该服务)。Agent的公共性使它非常适合解决资源异构的问题,从它的后三个特性可以看出,Agent非常适用于动态、可伸缩的环境。
Broker可以方便的提供Agent之间的互见性(awareness)。我们知道,Internet 是一个动态、可收缩的环境,这意味着实体的代表者--Agent,应该能够动态的增加和减少。Borker为Agent提供了注册的场所,这就提供了最基本的可见性:Agent 之间能够意识到对方的存在,更进一步,在协同应用环境中, 每个实体的动作应该对其他的实体产生影响。这意味着两个Agent在真正能够交互前,必须进行必要的协商,通信时还
要随时进行协同控制。当Agent比较多时,每个Agent 都必须包含与其他所有代理进行协商和协同控制的代码,不仅开销大,而且实现比较复杂。因此,可以通过Borker 进行集中的协同控制,提供更高级的互见性。
浏览器和HTTP Server之间通过标准的HTTP协议进行通信,而HTTP协议功能有限,因此,在浏览器和HTTP服务器之间引入了Proxy。Proxy充当HTTP服务器和HTTP客户两种角色。我们在Porxy和HTTP服务器之间扩展HTTP协议,增强客户方与服务器的通信功能,这对浏览器是透明的。
相关推荐
NULL 博文链接:https://lzkyo.iteye.com/blog/1144404
sql server broker基本用法
HBMQTT是一个开源的MQTT客户端和broker实现。使用 Python asynchronous I/O 实现。
java 使用 rocketmq的一个生产者和消费者的实现,其中要先启动rocket的nameserver 和borker
MQTT协议,C#语言,使用MQTT协议的代理服务器(broker)及客户端(client)示例,包含WPF、Web、Unity3D等多种平台的示例代码
支持通过Topic订阅和发布消息。 创建协议 自定义消息协议创建,请参考消息协议定义。 例 i. 选择 设备管理–>协议管理–> 点击新建协议按钮 ii. 输入型号名称 iii. 选择型号类型为 jar iv. 输入类名org.jetlinks....
HBMQTT是开源客户端和代理实现。 建立在Python的标准异步I / O框架asyncio之上,它提供了一个基于协程的简单API,可轻松编写高度并发的应用程序。 特征 HBMQTT实现了完整的协议规范,并提供以下功能: 支持QoS 0...
雷达计划Project Redar 是一个个人项目,用于实践,证明我对一些实际问题的解决方案的想法。模块###1。 多线程示例####1.1 ThreadLocals + ThreadPools 该模块通过确保在 Runnable 执行结束时删除 ThreadLocal 上...
Borker — 每台机器上可以运行一个或多个kafka的进程–Broker。 Topic — 代表一个业务上的数据集合。相当于对数据进行业务上逻辑上的区分。但是对于大数据中把Tb的数据在一个机器的,一个日志文件肯定会有容量上的...
ESP32 MQTT范例Mosquitto代理(MQTT)与ESP32板之间的TLS安全连接示例,可能带有...生成证书: 打开certificate / certificate_generator.sh脚本,然后将Mosquitto_borker_adress修改为您的服务器地址! 运行脚本:
serT设备需要一个mqtt server服务器, 已经测试eclipse(及 mosquitto搭建的broker), 百度云iot hub, emq搭建的borker, 中移物联等云, 未发现不适配问题. 这些有很多是免费或者限量免费的, 用户使用成本低。 相关资料...