1.
http://shallon.iteye.com/blog/126428
针对Bosh作了很通俗的讲解
2.
http://www.jabbercn.org/XEP-0124
xmpp的文档有Bosh的详细介绍
3.
http://www.ibm.com/developerworks/cn/web/wa-lo-comet/
IBM针对Comet的介绍
简单点说Bosh就是
服务器阻塞客户端的请求 一直到有数据要发给客户端 (或Timeout其实Timeout也会发数据给客户端)
有数据时服务器就通过这个阻塞的请求返回数据。 客户端在得到数据后又发送新的请求到服务器端。服务器端又会阻塞这个请求(个人认为这个请求服务器会接收数据,但不会返回。后面可以看到其实这里是有2个请求的)。
不过情况并不是这么简单,因为:
服务器会给客户端发数据,客户端也应该可以给服务器发消息。
所以这个时候客户端会发一个新的请求req2(也就是客户端会有2个请求一个被服务器阻塞req1用于返回数据,另一个req2用于发送数据给服务器)
在服务器得到数据后,服务器会马上通过被阻塞的请求req1返回数据给客户端(没有数据会返回空包给客户端),
此时之前用于客户端发送数据的请求req2成为了被阻塞的请求req1'。
此时 1. 如果客户端要发送新的服务器,就必须发送一个新的请求req2'。然后就上面的一致了。
2. 如果客户端当前不发送新的数据,也会发送一个新的请求req2',这样可以保证客户端在要发送数据时可以立即发送数据给服务器。
所以这里其实有一个角色转换。新的连接用于客户端发送数据,老的连接用于服务器发送数据。
后来一想,应该2个请求都是阻塞的,只是服务器用第一个(相对比较早生成的一个连接)请求返回而已.
目前还有一个问题,连接Timeout问题
文档中
引用
如果在一个规定时间内(通常是几分钟)两个方向上都没有流量, 那么连接管理器以无数据来应答客户端, 并且那个应答立即触发一个新的客户端请求. 连接管理器这么做来确认是否网络连接已经中断,并且双方都在一个合理的时间内明白到这一点. 这一交换类似大部分持久TCP连接中的通用的 "keep-alive" 或 "ping" . 因为BOSH技术未使用轮询, 带宽消耗不会比标准TCP连接大很多.
这个说得很清楚!
纯个人作品,不喜勿喷!欢迎交流!
分享到:
相关推荐
根据提供的文件标题“汽车电气与电子BOSH”及其描述、标签等信息,我们可以推断这份文档主要涵盖了关于汽车电气系统及电子技术方面的专业知识。博世(Bosch)作为全球领先的汽车零部件和技术供应商之一,在汽车电子...
它是一个可执行库,允许BOSH与不同的云环境进行通信,例如VMware vSphere、Google Compute Platform、Amazon Web Services EC2、Microsoft Azure以及OpenStack等。CPI使得BOSH能够执行创建虚拟机、配置网络和存储等...
- **CLI(命令行界面)**:CLI是用户与BOSH交互的主要界面,提供了丰富的命令用于操作和管理BOSH环境。用户可以通过CLI执行各种部署、更新和监控操作。 - **Blobstore**:Blobstore存储发布资源,包括BOSH的工作...
#### 一、基础知识与背景 **Cloud Foundry** 是一款领先的开源PaaS(Platform as a Service,平台即服务)产品,旨在为企业提供一种高效的方式去构建、部署和运行应用程序。它支持多种编程语言、框架和服务,并且...
Can总线协议,英文版(BOSH),很好的内容,适合汽车电子。
BOSH是一个针对大规模分布式系统的部署和生命周期管理的开源工具,其基础是“a tool of release engineering"。由其定义可以看出,虽然BOSH的诞生出自cloudfoundry的部署难题,但BOSH能做的不只是部署cloudfoundry...
总结来说,BOSH 7400 XI 协议是VESDA系统与外界交互的关键接口,通过开放HLI协议实现设备间的通信和数据共享,以提高整体系统的效率和可靠性。然而,对于协议的具体细节和实施,需要遵循严格的授权和使用规定。
该文档来自于Docker Meetup深圳站,华为蒙泽超带来了题为“使用CloudFoundry 的BOSH管理Docker的集群”的演讲。
将Ansible编排的功能与BOSH出色的软件生命周期管理相结合 除了提供Ansible二进制文件之外,此发行版还提供了一种触发操作的方法,该操作将在节点上运行附加的Ansible发行版。 这个想法能够在每次部署新实例时通过...
bosh-init 部署 bosh 新的 CLI 不仅仅可以部署 Micro BOSH。 但在这个项目中,这正是我们要做的 - 使用新的bosh-init CLI 部署一个 Micro BOSH。 该项目将在运行 BOSH 的 AWS EC2 us-east-1 区域上部署单个服务器...
BOSH Agent是BOSH架构的关键组件,它驻留在每一个由BOSH部署的虚拟机(VM)上,负责与BOSH Director进行通信并执行指令,实现对VM的自动化管理和配置。 **1. BOSH Agent 的主要职责** - **初始化和配置**: 当BOSH...
bosh-lite.tar
Bosh_CAN用户手册中文版提供了C_CAN模块的详细描述,包括其硬件特性、编程接口、操作模式和配置指南。这些信息对于从事汽车电子、工业控制等领域内的工程师来说是十分重要的,帮助他们正确实现和维护基于CAN协议的...
Docker 中的 BOSH 命令行 背景: 安装 BOSH 命令行 (bosh_cli) 需要时间,此 docker 文件可帮助您快速入门。 使用以下指令构建环境: 要求: 这个 DockerFile 已经在 Ubuntu:14.04 上测试过。 请使用以下命令...
以及一组工具,如 `bosh` CLI,用于与 Director 交互。 2. **Bosh Lite 安装**:在本地设置 Bosh Lite,通常需要安装 Vagrant 和 VirtualBox,然后下载并启动 Bosh Lite 的 Vagrant box。 3. **Cloud Foundry 部署...
启动您的Minikube minikube start 可能需要一些时间才能看到Kubectl is now configured to use the cluster ,这表明我们已准备好继续。 部署并运行BOSH主管。 例如,请参阅以了解如何设置这样的BOSH Lite v2环境...
用BOSH自动部署大规模 云平台Cloud Foundry: Cloud Foundry云平台简介 Cloud Foundry架构 Cloud Foundry部署模型 BOSH工作原理 用BOSH自动化部署Cloud Foundry 用BOSH实现Cloud Foundry弹性 BOSH应用实例
BOSH CLI 的单行安装程序 BOSH CLI 作为 RubyGem 分发,需要现代 Ruby 2.1+。 如果你的目标机器没有安装现代 Ruby; 或者如果您不确定; 然后你可以运行以下命令: curl -s ...
bosh-init 部署 redis 新的 CLI 不仅仅可以部署 Micro BOSH。 该项目将在运行 Redis 服务器的 AWS EC2 us-east-1 区域上部署单个服务器/VM/实例。 它使用新 bosh-init CLI 和 BOSH 社区版本。用法首先,获取所需的...
2. **搜索与高亮**:用户可以搜索特定字符串,并将匹配项高亮显示,方便查找关键信息。 3. **过滤和筛选**:通过配置过滤规则,bosh可以隐藏或显示特定类型的行,帮助用户专注于关键信息。 4. **快捷键操作**:提供...