海量用户即时通讯系统需求|学习笔记

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 快速学习海量用户即时通讯系统需求

开发者学堂课程【Go 语言核心编程 - 面向对象、文件、单元测试、反射、TCP 编程:海量用户即时通讯系统需求】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/626/detail/9782


海量用户即时通讯系统需求

 

内容介绍

一、经典项目:海量用户即时通讯系统项目开发流程

二、需求分析

三、界面设计

四、项目开发前技术准备

 

一、经典项目:海量用户即时通讯系统项目开发流程

需求分析à设计阶段à编程实现à测试阶段à实施

 

二、需求分析

1. 用户注册

2. 用户登录

3. 显示在线用户列表

比如说将来可能会有c客户端(client.go),a客户端想和c客户端通讯或者b客户端通讯,就要先拿到b和c在线,然后才可以对接。如果不在线则无法进行通讯。

image.png

4.群聊(广播)

5.点对点聊天

就是说可以实现a客户端可以和c客户端说话也就是私聊。

6.离线留言

这里需要用到数据库,比如说a与c说了一句话,但c不在线,等到c上线后可以从服务器获取消息。

 

三、界面设计

image.png实现功能-显示客户端登录菜单

-------------欢迎登陆多人聊天系统:-------------

1登录聊天系统

2注册用户

3退出系统

请选择(1-3):

--------------------------

1

登录...

请输入用户id:

100

请输入用户密码:

200

你输入的 userid=100 pwd=200

 

四、项目开发前技术准备

项目要保存用户信息和信息数据,因此我们需要学习数据库(Redis 或者 Mysql),这是我们选择 Redis,所以先给同学们讲解如何在Golang中使用 Redis。既然想要实现登录,那必然在服务器端一定会有一个存储数据的地方,比较流行的数据库有Mysql、Oracle、Redis、mem cache,Redis相对来说比较上手,第一个它性能很强,第二个只要学go语言的管道会操作就基本可以操作了。服务器产生的数据就都在数据库里,如图所示。

image.png

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
9月前
|
开发者
提升用户黏性:现成体育直播源码开发设计哪些关键功能
面对激烈的市场竞争,如何通过关键功能设计提升用户黏性,使之成为用户长期依赖的首选平台,是每一个开发者必须深思的问题。如下参考“东莞梦幻网络科技”现成体育直播源码,为了吸引更多用户并提高他们的黏性,开发哪些关键功能,帮助实现这一目标:
|
边缘计算 调度 开发工具
海量用户IM聊天室的架构设计与实践
聊天室是一类非常重要的 IM 业务形态,不同于单聊和群聊,聊天室是一种大规模的实时消息分发系统。聊天室有多种技术实现方案,业界也有一些开源的实现,每种实现都有自己的特点和应用场景。 本文将分享网易云信针对海量用户IM聊天室的架构设计与应用实践,希望能带给你启发。
433 0
体育直播在线观看平台开发搭建,建立常态化的促消费机制
随着体育赛事直播平台的崛起,建立常态化的促消费机制已成为运营者们的首要任务。
|
数据采集 存储 分布式计算
【门户网站】用户行为数据采集技术实现
【门户网站】用户行为数据采集技术实现
374 0
体育直播软件开发和技术数据对接的差别
由于直播技术的不断发展,体育直播软件成为了体育爱好者们观看体育赛事和获取赛事信息及的重要渠道。下面我们就讨论体育直播软件开发和技术数据对接的差别,以及他们怎样相互实现功能和数据的完美结合组成体育直播平台。
|
安全 物联网 分布式数据库
|
安全 数据安全/隐私保护
安全的即时通讯工具有哪些?企业选择时应该考虑哪些因素?
J2L3x 安全即时通讯工具: J2L3x 提供了强大的管理功能,可以对数据进行加密,并具有完整的安全策略。
安全的即时通讯工具有哪些?企业选择时应该考虑哪些因素?
|
JSON 网络协议 测试技术
海量用户通讯系统-项目小结|学习笔记
快速学习海量用户通讯系统-项目小结
海量用户通讯系统-项目小结|学习笔记
|
存储 消息中间件 缓存
直播系统聊天技术(七):直播间海量聊天消息的架构设计难点实践
本文将主要从高可用、弹性扩缩容、用户管理、消息分发、客户端优化等角度,分享直播间海量聊天消息的架构设计技术难点的实践经验。
1101 0
直播系统聊天技术(七):直播间海量聊天消息的架构设计难点实践
|
机器学习/深度学习 数据采集 SQL
基于阿里云平台进行游戏数据分析(一)
在本项目中,我们将基于阿里云平台进行游戏数据分析。本文是这个项目介绍的第一部分,主要介绍项目的背景,数据导入与预处理等环节。
385 0
基于阿里云平台进行游戏数据分析(一)