毕设之-消息系统设计(websocket+netty)

news2025/2/5 11:59:40

文章目录

  • 前言
  • 技术选型
  • 基本架构

前言

long time no see。 前几天去一家小公司待了待,果断还是选择跑路,第三天就去另一家公司考察环境,和主管聊了两个多小时,非常愉快,就是单位薪资砍了一半。哎,旧事莫提了,这里的话给各位踩了个坑:
小公司,真别去,学不到啥,而且项目大概率写得一坨答辩,在那里装了两天孙子,真难受。作为一个应届生,老老实实去个好点的公司刷经验挺好的,钱这玩意儿,目前你都没有价值,也没有足够能够证明你能够创造价值的情况下,就想着你能怎么怎么样,要多少多少钱那个确实不是很现实,至于我就怎么怎么样,你牛逼你骄傲,你特么是幸存者行了吧。还是以学习为主吧,尽可能多卷卷。

技术选型

这里的话,由于我这里的情况,我这里选择websocket+netty的形式来实现消息推送系统。原因有两个:

  1. 从我自己的毕业业务设计来说,我这里有一个实时聊天的功能,这部分肯定要使用netty来进行实现,所以顺便整体就使用这个来实现,挺好的。
  2. 我的场景没有那么多什么并发,这个破社区,能够有10qps就算我牛逼,上mq,kafka这种第三方组件的,一部署,服务器内存就不够了,扯那么多干嘛。占了我2个G,可能我服务真正需要的也就占了500MB,1.5G全让mq占了(只是打个比方)等不行的时候,那就升级加机器就完了呗。
  3. 原来在上个项目当中设计过这样类似的系统,只需要重新设计即可(没错,我就是懒)

基本架构

这里的话,我们直接看到图:
在这里插入图片描述

这个的话,就是我们这个消息系统的一个基本的设计,当然代码还没给出来,这里的话,我打算多留几个接口,写个架子,只要是和业务有关的东西,全部通过开放的handler来实现。这样的话,对于业务的适配就会做的很好。当然这个玩意做出来,天生是无法支持集群的,如果要做的话,那么就要在channel这一层做点抽象了,然后再出各种各样相应的措施。当然这个系统的设计过于复杂,已经不是我该考虑的问题了,我就苟个毕设而已。

okey,就水到这里,后面的事情,后面再说嘿嘿~

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

正定矩阵与半正定矩阵 、奇异矩阵

一、正定矩阵与半正定矩阵 请问谁能用易于理解的语言解释下矩阵的正定及半正定? - 知乎 M为一个方阵 定义: 一个非零向量X,如果,那么我们就规定这个M方阵为正定矩阵 单位矩阵是正定矩阵 (positive definite) 同理: 那么这个M…

【Java进阶篇】Java中的枚举的概念、有什么特点和好处

✔️Java枚举的概念、特点和好处 ✔️枚举的概念✔️枚举的特点✔️枚举的好处✔️拓展知识仓✔️枚举如何实现的? ✔️枚举的概念 Java枚举是一种特殊的数据类型,它的每一个值都映射到Enum类的构造函数中,具有固定数量的常量值。枚举类型具有…

台球杆,预计到2026年将达到 6.234 亿美元

台球杆市场多年来一直在稳步增长,这得益于台球作为一种全球娱乐活动的日益普及。2021 年全球台球杆市场价值 5.477 亿美元,预计到 2026 年将达到 6.234 亿美元,预测期内复合年增长率为 2.6%。 就中国市场而言,中国是全球最大的台球…

鹅目标检测数据集VOC格式350张

鹅是一种大型的水禽,常见于湖泊、河流和农田周围。它们的体形庞大,长有长颈和宽阔的翅膀,通常呈灰白色或棕褐色。鹅的头部呈黑色,嘴呈橙色,眼睛则是明亮的蓝色。 鹅是非常社交的动物,常以大群的形式生活在…

YOLOv5改进 | 主干篇 | ShuffleNetV1轻量化网络助力FPS提高(附代码+修改教程)

一、本文内容 本文给大家带来的改进内容是ShuffleNetV1,这是一种为移动设备设计的高效CNN架构。它通过使用点群卷积和通道混洗等操作,减少了计算成本,同时保持了准确性,通过这些技术,ShuffleNet在降低计算复杂度的同时…

C/S医院检验LIS系统源码

一、检验科LIS系统概述: LIS系统即实验室信息管理系统。LIS系统能实现临床检验信息化,检验科信息管理自动化。其主要功能是将检验科的实验仪器传出的检验数据经数据分析后,自动生成打印报告,通过网络存储在数据库中&#xff…

Modbus TCP转Profinet协议网关应用

YC-TCP-PN通讯网关:引领工业通讯新篇章 在工业4.0的浪潮下,高效、稳定的通讯技术成为各行业的核心竞争力。作为行业领军者,我们自豪地推出YC-TCP-PN通讯网关,以其卓越性能打破行业技术壁垒,引领工业通讯进入新篇章。 …

使用 Python 和 PyQt 实现路由算法模拟器

项目地址 GitHub - 944613709/Shortest-Path-Simulation: 网络拓扑图最短路径模拟 引言 在现代网络技术中,路由算法扮演着至关重要的角色。它们决定了数据包在网络中的传输路径,从而影响整个网络的效率和性能。为了更好地理解这些算法的工作原理&…

UG模型的显示与隐藏

在UG中,除了通过图层的方式控制模型的显示与隐藏外,还可以直接通过显示与隐藏命令,位置在菜单-编辑-显示与隐藏,需要注意的是这些命令只能对可视图层中的模型进行控制 显示与隐藏:ctrl w 可以通过模型的类别&#xf…

2014年第三届数学建模国际赛小美赛B题全地形伪装解题全过程文档及程序

2014年第三届数学建模国际赛小美赛 B题 全地形伪装 原题再现: 破坏性着色在军事用途中很常见,用于军用车辆、士兵制服和装备。视觉是人类的主要方向感,伪装的主要功能是欺骗人眼。军事服装中存在大量的伪装图案,以适应作战服装与…

概率论中的 50 个具有挑战性的问题 [第 6 部分]:Chuck-a-Luck

一、说明 我最近对与概率有关的问题产生了兴趣。我偶然读到了弗雷德里克莫斯特勒(Frederick Mosteller)的《概率论中的五十个具有挑战性的问题与解决方案》)一书。我认为创建一个系列来讨论这些可能作为面试问题出现的迷人问题会很有趣。每篇…

审视AI Agent:追捧、落地,和2024年的To B破局点

“十个AI应用里面,五个办公Agent,三个AIGC,还有两成是回春的数字人。”那么,Agent到底是不是大模型的AGI终局产品? 作者|斗斗 编辑|皮爷 出品|产业家 今年4月份,斯坦福和谷歌的研究者共同创建了一个…

账号和权限管理

大家无论安装完linux系统和windows系统后,都会要求你去新建一个用户去登录,不会让你们直接使用超级管理员身份去登录自己的系统,这样是为了安全性的考虑。 一、用户账号和组账号概述 1、用户账号类型: linux用户账号类型&#x…

基于openGauss5.0.0全密态数据库等值查询小案例

基于openGauss5.0.0全密态数据库等值查询小案例 一、全密态数据库简介二、环境说明三、测试步骤四、使用约束 一、全密态数据库简介 价值体现: 密态数据库意在解决数据全生命周期的隐私保护问题,使得系统无论在何种业务场景和环境下,数据在传…

跟着LearnOpenGL学习10--基础光照

文章目录 一、前言二、环境光照三、漫反射光照3.1、法向量3.2、计算漫反射光照3.3、全部代码3.4、法线矩阵 四、镜面光照4.1、全部代码 一、前言 现实世界的光照是极其复杂的,而且会受到诸多因素的影响,这是我们有限的计算能力所无法模拟的。 因此Open…

企业微信自建应用获取用户信息

一.前言 开发企业微信自建应用的时候难免会有获取企微个人信息的业务需求,这篇博客将详细说明企微自建应用获取userId的具体流程. 二.基本概念介绍 2.1 corpid 每个企业都拥有唯一的corpid,获取此信息可在管理后台“我的企业”-“企业信息”下查看“企业…

leetcode 1419. 数青蛙(medium)(优质解法)

链接:力扣(LeetCode)官网 - 全球极客挚的技术成长平台 代码: class Solution {public int minNumberOfFrogs(String croakOfFrogs) {String t"croak";int tLengtht.length();// hash 数组用来存放青蛙喊的过程&#xf…

企业网银 相关注意事项合辑 不断更新中...

山西省农村信用社 (shanxinj.com) 企业网上银行 山西省农村信用社 企业网上银行,注意事项: 1、通过安装【网银向导】修复网银安全控件、密码控件等; 2、登录界面无Ukey验证,也就是输入企业号、用户编号、登录密码及验证码即可进…

ARM12.26

整理三个按键中断代码 key_it.h #ifndef __KEY_IT_H__ #define __KEY_IT_H__ #include"stm32mp1xx_gpio.h" #include"stm32mp1xx_gic.h" #include"stm32mp1xx_exti.h" #include"stm32mp1xx_rcc.h" #include"led.h" void k…