Skip to content

Latest commit

 

History

History
29 lines (19 loc) · 1.15 KB

5-即时通讯.md

File metadata and controls

29 lines (19 loc) · 1.15 KB

Golang 第五轮考核

目的

  • 掌握Http协议和Web工作原理
  • 掌握 WebSocket 原理与实践
  • 掌握关系型数据库的基本操作

背景

众所周知,FanOne是个家喻户晓的Aquaman,她经常在社交软件上找小哥哥们聊天,以至于被多个平台封杀,请你写一个IM即时通信系统,让FanOne能聊天自由吧!

任务

编写一个 IM 即时通信系统 支持单聊,群聊,并且支持查找一定时间内的聊天记录

对于聊天内容,请使用Redis + Mysql的方式实现,

Bonus

  1. 请考虑你的聊天系统的性能(例如使用Benchmark测试)
  2. 考虑聊天传输的安全性(可以学习一下Telegram是如何保证传输安全性的,但是现阶段是做不到的,可以尝试做一些小的安全性优化)
  3. 使用消息队列(RabbitMQ、RocketMQ、Kafka等)

参考