从0到1构建IM系统之技术选型

由于本人是一个以JAVA为主要编程语言的全栈工程师,所以这次的技术选型也是基于JAVA体系为基础来进行构建。

开发框架:

                spring 全家桶

                        功能强大并且覆盖全面,社区活跃,解决方案成熟,学习成本低(本人属于拿来就用的状态)。

                MYSQL

                        用来做持久化层,老牌开源数据库,免费开源稳定高效,社区活跃,各种方案成熟。

                redis

                        用来做缓存层,老牌开源缓存,几乎统一了缓存届,没有不用的理由。

                netty

                        高效的通信工具包,java开源项目中的标杆性的存在。

                flutter

                        Flutter 是 Google 开源的应用开发框架,仅通过一套代码库,就能构建精美的、原生平台编译的多平台应用。作为前端展示。

                vue 

                        做后台管理平台。

架构图待补:

                

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

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

相关文章

JAVA学习-练习试用Java实现“Excel表列名称”

问题: 给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称。 例如: A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ... 示例 1: 输入:columnNumber 1 输出&#…

SpringBoot项目文件上传校验工具类

功能介绍 FileValidationUtils是一个工具类,主要用于验证上传的文件。以下是其主要功能和特点: 1. 文件类型验证:FileValidationUtils类中定义了一个MIME_TYPE_MAP,这个映射表包含了允许上传的文件类型和对应的MIME类型。在vali…

package.json的配置

package.json的配置参考 package.json文件是Node.js项目中的一个重要配置文件,用于存储项目的元数据和各种配置信息。 以下是一些常见的 package.json配置项: { "name": "my-project", // 项目名称,遵循npm的命名规范…

新人学习笔记之(JavaScript运算符)

目录 一、运算符 1.运算符(operator)也被称操作符,最用于实现赋值、比较和算数运算等功能的符号。 2.javascript中常用的有 二、算术运算符 1.算数运算符概述 2.浮点数的精度问题 3.表达式和返回值 三、递增和递减运算符 1.递增和递减运算符…

Python使用MQTT连接新版ONENet

Python MQTT 连接新版ONENet 简介 前几个教程我们使用mqtt.fx连接了新版的ONENet, 只是跑通了MQTT协议,但是在实际操作下还需要实现具体环境、具体设备的MQTT连接,本章教程将以Python MQTT的方式连接 ONENet 参考文档: paho-mqtt PyPI …

数据结构 顺序表

目录 1. 什么是数据结构?2. 顺序表2.1 线性表2.2 顺序表 3. 动态顺序表的实现 正文开始 1. 什么是数据结构? 在学习顺序表前,我们先来了解一下什么是数据结构:数据结构是计算机存储、组织数据的方式,具有一定逻辑关系…

ffprobe 使用文档介绍

ffprobe 摘要 命令格式:ffprobe [options] input_url功能:ffprobe 是一个多媒体分析工具,用于收集多媒体流中的信息,并以易于人类阅读和机器解析的方式打印出来。ffprobe 描述 信息收集:可以检查多媒体流使用的容器格式以及其中每个媒体流的格式和类型。URL 输入:如果输入…

用了那么久的可道云teamOS,居然才发现这个隐藏的功能:一键存图,无需下载

在日常的工作或学习中,我们在遇到喜欢的图片时,总会想要保存下来以备后用。 然而,传统的图片保存方式通常需要我们右键另存为,或者复制链接、打开下载工具,甚至可能需要跳转到其他应用或网页才能完成下载。 存在电脑本…

数据整理的Compact流程 (二)|OceanBase数据转储合并技术解读(二)

上篇文章《数据整理的Compact流程 (一)|OceanBase数据转储合并技术解读(二)》中,有讲解到,在OceanBase数据库中,当MemTable写满时,将其下刷到Mini SSTable的过程包含两个…

ubuntu移动硬盘重命名

因为在ubuntu上移动硬盘的名字是中文的,所以想要改成英文的。 我的方法: 将移动硬盘插到windows上,直接右键重命名。再插到ubuntu上名字就改变了。 别人的方法: ubuntu下如何修改U盘名字-腾讯云开发者社区-腾讯云 在自带的软件…

盘点10大灵动惊艳小演员❗谁是你的心头好?

盘点国内影视那些惊艳观众的小演员们无疑为影视作品注入了新的活力。以下是10个备受赞誉的小演员: 1.韩昊霖:凭借在《我和我的祖国》和《庆余年》中的出色表现 韩昊霖的演技赢得了观众和业界的广泛认可 他能够准确地把握角色的情感和细节,展…

海外大带宽云服务器有哪些优势

海外大带宽云服务器是指位于海外数据中心,提供高速网络连接和大量数据传输能力的云计算服务器。Rak部落小编为您整理发布海外大带宽云服务器的相关信息。 具体分析如下: 1. **全球覆盖与低延迟 - **广泛的地域布局**:在全球范围内建立了多个数…

雷达基数据绘制成雷达图

x波段雷达基数据绘制成雷达图 1.雷达基数据格式Z_RADR_I_ZR001_20240521020002_O_DOR_YLD2-D_CAP_FMT.bin.bz2 2.基数据读取 python f StandardData(i) # 新版本标准数据radarTime f.scantime # 获取雷达时次date_str radarTime.strftime(%Y-%m-%d %H:%M:%S)date_str d…

832. 翻转图像 - 力扣

1. 题目 给定一个 n x n 的二进制矩阵 image ,先 水平 翻转图像,然后 反转 图像并返回 结果 。 水平翻转图片就是将图片的每一行都进行翻转,即逆序。 例如,水平翻转 [1,1,0] 的结果是 [0,1,1]。 反转图片的意思是图片中的 0 全部被…

一.ffmpeg 将内存中的H264跟PCM 数据流合成多媒体文件

在有一些嵌入式平台中,H264数据流一般来自芯片内部的硬编码器, AAC音频数据则是通过采集PCM进行软编码,但是如何对它实时进行封装多媒体文件 ,参考ffmpeg example,花了一些时间终于实现了该功能。 流程图如下&#xf…

【Pandas】深入解析`pd.read_pickle()`函数

【Pandas】深入解析pd.read_pickle()函数 🌈 欢迎莅临我的个人主页👈这里是我深耕Python编程、机器学习和自然语言处理(NLP)领域,并乐于分享知识与经验的小天地!🎇 🎓 博主简介&…

【动态规划-背包模型part4(混合背包问题、背包问题方案数量)】:混合背包问题、机器分配、背包问题求方案数【已更新完成】

题目类型混合背包问题混合背包问题机器分配背包问题方案数量背包问题求方案数背包问题方案数量 1、混合背包问题 有 N 种物品和一个容量是 V 的背包。 物品一共有三类: 第一类物品只能用1次(01背包); 第二类物品可以用无限次&…

Ora-32004错误处理

问题现象 处理方法 观察alert会发现报错的参数在加载spfile的阶段 按照mos的方法对其reset 重新启动无报错 观察日志无报错

六(2)、RTKLIB源码解析 — postpos.c

目录 一、主要流程 二、主体代码 三、主要调用函数解析 3.1 openses() 3.2 closeses() 3.3

Unity学习笔记---资源管理

素材存放 Resources目录 在Assets的任何子目录下创建Resources目录,Unity会自动检索到这些目录并使用。该目录主要用于加载资源,将需要加载的资源放在该目录下。 该目录的内容大小不能超过2G TextAsset类 ScriptableObject类 AssetDatabase类 Pla…