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

本文涉及的产品
云数据库 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
相关文章
|
4月前
|
数据采集 监控 数据挖掘
打造高效用户旅程:埋点分析系统的实操指南
在数字化时代,了解用户如何与我们的产品或服务互动是至关重要的。用户行为,在广义上,指的是用户在网站、应用程序或其他数字界面上的所有动作和反应。这些行为可能包括点击链接、浏览页面、填写表单,甚至是在社交媒体上分享内容。每一个动作都是用户体验的一部分,并对我们理解他们的需求和偏好提供了宝贵的线索。 在技术层面上,用户行为的跟踪和分析可以让我们深入了解用户的互动模式,从而指导我们的产品改进和市场战略。通过分析这些数据,我们可以发现用户旅程中的关键触点,识别用户体验的痛点,以及揭示潜在的优化机会。这不仅有助于提升用户满意度和忠诚度,还可以增强产品的市场竞争力。
打造高效用户旅程:埋点分析系统的实操指南
|
6月前
|
消息中间件 存储 网络协议
即时通讯需要用到哪些技术手段?
该文探讨了即时通讯技术,涉及网络协议(TCP/IP、UDP、HTTP/HTTPS)在IM中的应用,数据传输与同步(消息队列、长轮询、WebSocket、数据同步)技术,安全性保障(加密、认证授权、防止攻击)措施,以及多媒体处理(音频、视频处理和实时传输)和用户界面交互设计的重要性。文章旨在帮助读者理解并应用相关技术。
499 1
|
边缘计算 调度 开发工具
海量用户IM聊天室的架构设计与实践
聊天室是一类非常重要的 IM 业务形态,不同于单聊和群聊,聊天室是一种大规模的实时消息分发系统。聊天室有多种技术实现方案,业界也有一些开源的实现,每种实现都有自己的特点和应用场景。 本文将分享网易云信针对海量用户IM聊天室的架构设计与应用实践,希望能带给你启发。
416 0
|
安全 数据安全/隐私保护
安全的即时通讯工具有哪些?企业选择时应该考虑哪些因素?
J2L3x 安全即时通讯工具: J2L3x 提供了强大的管理功能,可以对数据进行加密,并具有完整的安全策略。
安全的即时通讯工具有哪些?企业选择时应该考虑哪些因素?
|
JSON 网络协议 测试技术
海量用户通讯系统-项目小结|学习笔记
快速学习海量用户通讯系统-项目小结
海量用户通讯系统-项目小结|学习笔记
|
开发者
一对一直播系统开发,分析用户痛点确定功能需求
一对一直播系统开发,分析用户痛点确定功能需求
|
存储 消息中间件 缓存
直播系统聊天技术(七):直播间海量聊天消息的架构设计难点实践
本文将主要从高可用、弹性扩缩容、用户管理、消息分发、客户端优化等角度,分享直播间海量聊天消息的架构设计技术难点的实践经验。
1074 0
直播系统聊天技术(七):直播间海量聊天消息的架构设计难点实践
|
数据处理 项目管理 数据中心
ABF平台设计(四):体验黑科技-结构化的体验数据平台
场景1: 新接收了一个项目,想了解一下当前的用户使用习惯和反馈,却没有一个全面、权威的数据支撑来帮助你深入了解,只能从用户口中了解到一些零散的信息;
246 0
ABF平台设计(四):体验黑科技-结构化的体验数据平台
|
存储 运维 监控
云上数据统一采集,为用户提供更优质的社交体验
阿里云日志服务方案帮助米连科技解决了数据分散、问题排查效率低、数据分析手段少的问题,实现了IT运维、数据运营、风控等方面的改善。
1195 0
云上数据统一采集,为用户提供更优质的社交体验
简述购物直播系统开发的功能和优势有哪些
2020年的今天,直播已经深入我们生活的点点滴滴,通过直播我们不仅可以抓取我们的碎片化时间,丰富我们的娱乐方式,购物直播系统的兴起还改变了我们的购物方式,那么购物直播系统开发的功能和优势有哪些
简述购物直播系统开发的功能和优势有哪些