`
CshBBrain
  • 浏览: 649972 次
  • 性别: Icon_minigender_1
  • 来自: 成都
博客专栏
B7d9bf34-126e-301f-819e-81f2615b5a2a
开源WebSocket服务...
浏览量:144885
Group-logo
HTML5移动开发
浏览量:137818
社区版块
存档分类
最新评论

CshBBrain集群设计与开发计划

阅读更多

 

1.服务器集群交互使用的协议:

1.1 握手协议,定义简化的处理

请求格式:

CshBBrain

Host:

Key:

Protocol:

 

第一行固定为:CshBBrain

第二行为:发起请求的客户端地址和端口,比如192.168.1.220:9292

第三行为:客户端随机生成的24位的字符串

第四行为:协议必须为clusters

完整握手请求举例:

CshBBrain

Host:192.168.12.112:9292

Key:4tAjitqO9So2Wu8lkrsq3w==

Protocol:Clusters

 

响应格式:

CshBBrain

Host:192.168.12.112:9292

Accept:

Protocol:Clusters

 

第一行固定为:CshBBrain

第二行为:发起请求的客户端地址和端口,比如192.168.1.220:9292

第三行为:把客户端发送的Key截取出来

4tAjitqO9So2Wu8lkrsq3w==

用它和魔幻字符串258EAFA5-E914-47DA-95CA-C5AB0DC85B11

连接起来,像这样:

4tAjitqO9So2Wu8lkrsq3w==258EAFA5-E914-47DA-95CA-C5AB0DC85B11

然后把这一长串经过SHA-1算法加密,得到长度为20字节的二进制数据,

再将这些数据经过Base64编码,最终得到服务端的密钥,也就是Accept:

bEVeGLZrb9fS3Rj8WzExJdCsedg=

第四行为:协议必须为clusters

 

响应完整举例:

CshBBrain

Host:192.168.12.112:9292

Accept:bEVeGLZrb9fS3Rj8WzExJdCsedg=

Protocol:Clusters

 

1.2 数据交换格式采用websocket消息格式

 

 0                   1                   2                   3  

 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1  

+-+-+-+-+-------+-+-------------+-------------------------------+  

|F|R|R|R| opcode|M| Payload len |    Extended payload length    |  

|I|S|S|S|  (4)  |A|     (7)     |             (16/63)           |  

|N|V|V|V|       |S|             |   (if payload len==126/127)   |  

| |1|2|3|       |K|             |                               |  

+-+-+-+-+-------+-+-------------+ - - - - - - - - - - - - - - - +  

|     Extended payload length continued, if payload len == 127  |  

+ - - - - - - - - - - - - - - - +-------------------------------+  

|                               |Masking-key, if MASK set to 1  |  

+-------------------------------+-------------------------------+  

| Masking-key (continued)       |          Payload Data         |  

+-------------------------------- - - - - - - - - - - - - - - - +  

:                     Payload Data continued ...                :  

+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +  

|                     Payload Data continued ...                |  

+---------------------------------------------------------------+  

 

 

[opcode]  01标识数据内容是 文本,08标识 : 要求远端去关闭当前连接。 

[MASK](即原先的RSV4)如果是 1 则数据是被 MASK 的。 

[Masking-key] 如果MASK为 1 则有4字节的 Masking-key,用于与传输的数据 [Payload Data] 进行异或运算,4byte(32bit)进行一次运算,

不足四位从前往后对应,如只有三位,则只与[Masking-key]的前三位进行运算。 

 

关闭远端连接:

传两个字节 (0x88,0x00)。

 

 

2.集群端口可以通过参数设置,是否开启集群设置,归属的管理服务器,可设置多个

clustersSwitch:集群开关,是否开启集群,0:关闭集群,1:开启集群

clustersPort:集群端口

clustersRole:1:表示只担任普通服务器;2:表示管理服务器,且只担管理服务器之职责,不担任业务处理;3:表示即担管理服务器之职责,又担任业务服务器之职责

clustersServer:管理服务器地址和端口

 

3.管理服务器和普通服务器:

管理服务器是专门搜集管理所有普通服务器的服务器,可以向普通服务器移交管理权限。

 

3.1 普通服务器需要想管理服务汇报CPU参数,内存参数,工作线程数量,可以处理的连接极限数量,读写监听线程数量,进入监听线程数量,使用的端口

3.2 管理服务器可以想普通服务器下达新增监听端口,关闭监听端口,增加工作线程数量,减少工作线程数量,增加减少读写监听线程数量。

3.3 分配服务器和端口给客户端

3.4 管理服务器管理权限移交和接手

3.5 查看服务器的数量,查看各服务器的使用情况。

3.6 普通服务器相互备份数据

3.7 普通服务器的业务数据交换

3.8 管理服务器通知普通服务器A向普通服务器B交换数据

1
3
分享到:
评论

相关推荐

    Hadoop集群程序设计与开发PPT.rar

    《Hadoop集群程序设计与开发》是一份详细的教学资料,主要涵盖了大数据处理领域中的核心工具——Hadoop的集群程序设计与开发技术。这份PPT旨在帮助开发者深入理解Hadoop生态系统,掌握分布式计算的基本原理和实践...

    Hadoop集群程序设计与开发教材最终代码.zip

    《Hadoop集群程序设计与开发教材最终代码》这个压缩包文件是针对学习和理解Hadoop分布式计算框架的重要教学资源。Hadoop是Apache软件基金会开发的一个开源项目,它为大规模数据处理提供了一种分布式、容错性强的解决...

    Hadoop集群程序设计与开发教学大纲.docx

    【Hadoop集群程序设计与开发】是一门针对大数据技术类专业的必修课程,旨在让学生全面理解和掌握Hadoop框架。这门课程总共64学时,4.0学分,涵盖了从Hadoop的基本概念到实际应用的各个层面。 课程首先介绍了大数据...

    大数据课程-Hadoop集群程序设计与开发-2.Hadoop集群的构建_lk_edit.pptx

    大数据课程——Hadoop集群程序设计与开发,教师版,提供教学大纲、教案、教学设计、实训文档等,课程内容包含教学准备环境、软件安装、作业、教学文档、演示视频,花费巨额时间亲自制作,下载后可私信提供上述所有...

    大数据课程-Hadoop集群程序设计与开发-5.Yarn资源调度器_lk_edit.pptx

    【Yarn资源调度器】是Hadoop大数据处理框架的核心组件之一,主要负责集群资源的管理和分配,...此外,课程还提供了实训文档和演示视频,以帮助学员将理论知识转化为实践能力,提升在Hadoop集群程序设计与开发中的技能。

    基于Linux的服务器集群系统设计及实现.pdf

    "基于Linux的服务器集群系统设计及实现" 本文主要探讨了基于Linux的服务器集群系统的设计及实现。集群系统是指将多台服务器连接起来,提供高可用性、高性能和易管理性的计算资源。Linux操作系统作为一个类UNIX系统...

    J2EE集群设计开发部署(基于IBM+WAS)

    J2EE集群设计开发部署(基于IBM+WAS) J2EE集群设计开发部署(基于IBM+WAS)

    Hadoop集群程序设计与开发 教材最终代码

    Hadoop集群程序设计与开发 教材最终代码

    Hadoop集群程序设计与开发教学大纲.pdf

    《Hadoop 集群程序设计与开发》教学大纲涵盖了Hadoop框架的全面学习,旨在为大数据技术类专业学生提供实战性的知识与技能。课程强调理论与实践相结合,通过源码分析和实操案例,让学生深入理解Hadoop的分布式存储和...

    Java分布式开发与集群技术.pdf

    在阅读了提供的文件内容后,可以提炼出以下Java分布式开发与集群技术相关的知识点: 1. 分布式开发和集群技术的需求:文档提到了Web服务器和移动互联网软件对分布式开发和集群技术的需求,这表明随着互联网服务的...

    Hadoop集群搭建部署与MapReduce程序关键点个性化开发.doc

    本文将详细阐述如何搭建Hadoop集群以及进行MapReduce程序的关键点个性化开发。 首先,我们来看任务1——Hadoop集群的部署。这一步至关重要,因为它为整个大数据处理系统提供了基础架构。在虚拟机中安装Ubuntu Kylin...

    Linux平台的SAP集群设计部署.pdf

    Linux 平台的 SAP 集群设计部署是指在 Linux 操作系统上设计和部署 SAP 集群系统,以提高系统的可靠性和可扩展性。本文主要介绍了 Linux 平台的 SAP 集群设计部署的关键技术要点,包括系统硬件架构设计、系统结构和...

    敏捷开发及服务集群

    JFinal是一个基于Java语言的Web+ORM框架,设计目标在于让Web开发快速、简洁。JFinal遵循MVC架构,并提供了以下特点: 1. 零配置,无需XML文件,减少了繁琐的配置工作。 2. Db+Record模式,提供快速的数据库操作功能...

    大数据课程-Hadoop集群程序设计与开发-4.MapReduce分布式计算框架_lk_edit.pptx

    大数据课程——Hadoop集群程序设计与开发,教师版,提供教学大纲、教案、教学设计、实训文档等,课程内容包含教学准备环境、软件安装、作业、教学文档、演示视频,花费巨额时间亲自制作,下载后可私信提供上述所有...

    大数据集群安装与开发配置步骤详解

    专业大数据集群安装配置步骤,涉及linux、spart,hadoop等

Global site tag (gtag.js) - Google Analytics