workman服务端开发模式-应用开发-gateway长链接端工作原理

一、长链接的工作原理

        Register类其实也是基于基础的Worker开发的。Gateway进程和BusinessWorker进程启动后分别向Register进程注册自己的通讯地址,Gateway进程和BusinessWorker通过Register进程得到通讯地址后,就可以建立起连接并通讯了。而Gateway进程同样也提供nginx已经thinkphp6框架的链接地址。

二、前端系统与后端系统的应用工作原理

        前端系统开发员将长链接放到全局里面,如果检测到本地cookie存在的情况下,长链接扩展将自动获取token参数值进行握手、绑定,与长链接服务建立链接服务,主进程会每隔几秒自动去访问一下gateway长链接端服务,work进程后面就是接收消息及时更新页面逻辑。而本系统里会用到接收通知的地方有token到期自动退出、其他地方登录后退出功能。同账号不同IP或是同账号相同IP不同浏览器登录的情况下需要通知之前登录的地方做退出动作,token到期之后,需要通知前端系统清理本地cookie数据后跳转到登录页面。

三、主架构的逻辑图

        主架构的逻辑图不能忘记,他承载你的项目主体。为后期项目优化、拓展做准备。

四、提前说明

        为了让后来学习的人更情况的情况下,明后天我将具体写一篇文章说说前端系统服务及后端api服务与workerman-gateway究竟是怎么通信的,来一篇介绍。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/494136.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Chrome 浏览器原生功能截长屏

我偶尔需要截取一些网页内容作为素材,但偶尔内容很长无法截全,需要多次截屏再拼接,过于麻烦。所以记录下这个通过浏览器原生功能截长屏的方案。 注意 这种方案并不是百分百完美,如果涉及到一些需要滚动加载的数据或者悬浮区块&am…

Kubeadm+Containerd部署k8s(v1.28.2)集群(非高可用版)

Kubeadm+Containerd部署k8s(v1.28.2)集群(非高可用版) 文章目录 Kubeadm+Containerd部署k8s(v1.28.2)集群(非高可用版)一.环境准备1.服务器准备2.环境配置3.设置主机名4.修改国内镜像源地址5.配置时间同步6.配置内核转发及网桥过滤二.容器运行时Containerd安装(所有节点)…

Nuc9 Truenas 和 Macmini4组雷电网桥 上传速度异常 1Mbp/s 解决

link: 原创文章,转载之前请标注来源博客 helsonlin 前言 咸鱼整了一台 Nuc9 组了全闪的 Nas,想着和 Macmini 组雷电网桥,但是到手弄好之后发现 iperf3 和 openspeedtest 测试上传的速度都是 1Mbps 每秒。 Google 一下发现唯一的线索就是ht…

Python从0到100(七十八):神经网络--从0开始搭建全连接网络和CNN网络

前言: 零基础学Python:Python从0到100最新最全教程。 想做这件事情很久了,这次我更新了自己所写过的所有博客,汇集成了Python从0到100,共一百节课,帮助大家一个月时间里从零基础到学习Python基础语法、Pyth…

Qt:QMetaObject::connectSlotsByName实现信号槽自动关联

简介 在Qt中,QMetaObject::connectSlotsByName 是一个便利的方法,它可以根据对象的对象名(objectName)自动将信号和槽连接起来。但是,要使用这个方法,必须确保: 1 控件(如按钮&…

数据挖掘之认识数据

在数据挖掘过程中,数据的认识是非常重要的一步,它为后续的数据分析、建模、特征选择等工作奠定基础。以鸢尾花数据集(Iris Dataset)数据集之鸢尾花数据集(Iris Dataset)-CSDN博客为例,下面将介绍…

useContext Hook 的使用及规范

首先 useContext 是什么? useContext 是 React 提供的一个 Hook,允许函数组件订阅 React 的 Context。 有什么用? 它使得你可以在不使用 Consumer 组件的情况下访问 Context 的值。通过 useContext,你可以轻松地在多层级组件之间…

MacOS 命令行详解使用教程

本章讲述MacOs命令行详解的使用教程,感谢大家观看。 本人博客:如烟花般绚烂却又稍纵即逝的主页 MacOs命令行前言: 在 macOS 上,Terminal(终端) 是一个功能强大的工具,它允许用户通过命令行直接与系统交互。本教程将详细介绍 macOS…

Mac上详细配置java开发环境和软件(更新中)

文章目录 概要JDK的配置JDK下载安装配置JDK环境变量文件 Idea的安装Mysql安装和配置Navicat Premium16.1安装安装Vscode安装和配置Maven配置本地仓库配置阿里云私服Idea集成Maven Cpolar快速入门 概要 这里使用的是M3型片 14.6版本的Mac 用到的资源放在网盘 链接: https://pan…

Neo4j 图数据库安装与操作指南(以mac为例)

目录 一、安装前提条件 1.1 Java环境 1.2 Homebrew(可选) 二、下载并安装Neo4j 2.1 从官方网站下载 2.1.1 访问Neo4j的官方网站 2.1.2 使用Homebrew安装 三、配置Neo4j 3.1 设置环境变量(可选) 3.2 打开配置文件(bash_profile) 3.2.1 打开终端…

【数据结构练习题】链表与LinkedList

顺序表与链表LinkedList 选择题链表面试题1. 删除链表中等于给定值 val 的所有节点。2. 反转一个单链表。3. 给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。4. 输入一个链表,输出该链…

图书借阅管理系统|SpringBoot|HTML|web网站|Java【源码+数据库文件+包部署成功+答疑解惑问到会为止】

代码包运行启动成功!不管你有没有运行环境,哪怕你是刚买的新电脑,也包启动运行成功!有不懂的地方随便问!问到会为止! 【功能介绍】 该系统有两种角色: 管理员,读者。 1.管理员可以添…

Qt Quick:CheckBox 复选框

复选框不止选中和未选中2种状态哦,它还有1种部分选中的状态。这3种状态都是Qt自带的,如果想让复选框有部分选中这个状态,需要将三态属性(tristate)设为true。 未选中的状态值为0,部分选中是1,选…

【ue5学习笔记2】在场景放入一个物体的蓝图输入事件无效?

在场景放入一个物体的蓝图输入事件无效,那是因为你不知道gameMode这个东西这是一个用于设定游戏股则的东西, 就好比你的控制对象,你输入无效是没有指定你当前关卡中指定的控制对象是它。操作方法如下: 1.创建一个gameMode蓝图类并…

pro文件转换为CMakeLists.txt文件,QT官方工具使用教程

某些情况需要使用cmake,如果手动将QT的pro文件转换成CMakeLists.txt,简短一点的pro还好,如果是比较复杂的pro,手动转换的时候需要长时间的debug,本人深有感受。 工具介绍: qmake2cmake工具创建一个CMakeL…

Python读取Excel批量写入到PPT生成词卡

一、问题的提出 有网友想把Excel表中的三列数据,分别是:单词、音标和释义分别写入到PPT当中,每一张PPT写一个单词的内容。这种批量操作是python的强项,尤其是在办公领域,它能较好地解放双手,读取Excel表后…

【快速上手】linux环境下Neo4j的安装与使用

一、neo4j简介 neo4j是一个非关系型图形数据库,非常适合处理具有复杂关系的数据集 存储方式:图形化存储 特点:将结构化数据存储在图上而不是表(比如:MySQL数据库存储在表中)中 neo4j也可以看作是一个高…

【看海的算法日记✨优选篇✨】第二回:流动之窗,探索算法的优雅之道

🌈 个人主页:谁在夜里看海. 🔥 个人专栏:《C系列》《Linux系列》《算法系列》 ⛰️ 道阻且长,行则将至 目录 一、算法思想 双指针 滑动窗口 二、具体运用 1.⻓度最⼩的⼦数组 算法思路 算法流程 代码 2.最⼤…

Tool之Excalidraw:Excalidraw(开源的虚拟手绘风格白板)的简介、安装和使用方法、艾米莉应用之详细攻略

Tool之Excalidraw:Excalidraw(开源的虚拟手绘风格白板)的简介、安装和使用方法、艾米莉应用之详细攻略 目录 Excalidraw 简介 1、Excalidraw 的主要特点: Excalidraw 安装和使用方法 1、Excalidraw的安装 T1、使用 npm 安装: T2、使用 …

设计模式之【观察者模式】

观察者模式: 应用于发布-订阅消息模型中,订阅者订阅一个主题后,当有新消息到达时,所有订阅者都会收到通知。 主要关注的是对象之间的通信。是一种对象之间的一对多关系,多个对象依赖于一个对象,当被依赖的…