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

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
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
相关文章
|
6月前
|
开发者
提升用户黏性:现成体育直播源码开发设计哪些关键功能
面对激烈的市场竞争,如何通过关键功能设计提升用户黏性,使之成为用户长期依赖的首选平台,是每一个开发者必须深思的问题。如下参考“东莞梦幻网络科技”现成体育直播源码,为了吸引更多用户并提高他们的黏性,开发哪些关键功能,帮助实现这一目标:
|
6月前
|
弹性计算 监控 NoSQL
扩展至千万级用户:阿里云平台的初学者指南
【1月更文挑战第7天】这几天支原体感染了,每天半夜都咳醒,实在撑不住了才断更几天。
|
边缘计算 调度 开发工具
海量用户IM聊天室的架构设计与实践
聊天室是一类非常重要的 IM 业务形态,不同于单聊和群聊,聊天室是一种大规模的实时消息分发系统。聊天室有多种技术实现方案,业界也有一些开源的实现,每种实现都有自己的特点和应用场景。 本文将分享网易云信针对海量用户IM聊天室的架构设计与应用实践,希望能带给你启发。
389 0
视频交友源码开发搭建平台用户资料功能:小功能有大用处!
视频交友源码平台用户资料功能不仅仅对于视频交友平台是重要的,它对于很多源码搭建的平台都是非常重要的,这样的源码功能还有很多,我会为大家讲解,喜欢的可以留个关注来问我。
视频交友源码开发搭建平台用户资料功能:小功能有大用处!
|
安全 数据安全/隐私保护
安全的即时通讯工具有哪些?企业选择时应该考虑哪些因素?
J2L3x 安全即时通讯工具: J2L3x 提供了强大的管理功能,可以对数据进行加密,并具有完整的安全策略。
安全的即时通讯工具有哪些?企业选择时应该考虑哪些因素?
|
JSON 网络协议 测试技术
海量用户通讯系统-项目小结|学习笔记
快速学习海量用户通讯系统-项目小结
海量用户通讯系统-项目小结|学习笔记
|
NoSQL 网络协议 关系型数据库
海量用户通讯系统-完成界面|学习笔记
快速学习海量用户通讯系统-完成界面
海量用户通讯系统-完成界面|学习笔记
|
开发者
一对一直播系统开发,分析用户痛点确定功能需求
一对一直播系统开发,分析用户痛点确定功能需求
|
存储 消息中间件 缓存
直播系统聊天技术(七):直播间海量聊天消息的架构设计难点实践
本文将主要从高可用、弹性扩缩容、用户管理、消息分发、客户端优化等角度,分享直播间海量聊天消息的架构设计技术难点的实践经验。
1042 0
直播系统聊天技术(七):直播间海量聊天消息的架构设计难点实践
|
数据处理 项目管理 数据中心
ABF平台设计(四):体验黑科技-结构化的体验数据平台
场景1: 新接收了一个项目,想了解一下当前的用户使用习惯和反馈,却没有一个全面、权威的数据支撑来帮助你深入了解,只能从用户口中了解到一些零散的信息;
243 0
ABF平台设计(四):体验黑科技-结构化的体验数据平台
下一篇
无影云桌面