微信的大月亮,究竟为啥登录要这么久?

2023-11-30 13:38

本文主要是介绍微信的大月亮,究竟为啥登录要这么久?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

微信登录界面,有个大月亮,最初要卡很长的时间。

QQ登录的进度条,最早甚至要加载几十秒。

画外音:当然,现在都优化了很多了。

很多朋友有疑问:

(1)即时通讯系统,登录操作,不就是验证个用户名和密码么?至于这么久么?

(2)为何原来这么长的时间,现在加快了很多,分别实施了哪些优化?

这次,准备和大家聊聊这几问题。

画外音:已经发布了,见第六章第一节。

自己职业生涯前N年,都在做即时通讯。互联网上讲即时通讯架构的内容,少之又少。计划在工作之余的时间,将自己N年即时通讯架构积累沉淀下来,给大家做一个分享。

这,就是视频专栏《关于即时通讯架构的一切》,10章50个小结,多年苦练的武功,必须留下点什么,也算对自己要有个交代。

《关于即时通讯架构的一切》大纲如何?

见下。

第一章、IM系统为什么难(已发布)

1. 什么是人们眼中的即时通讯

2. 什么是“即时”,什么是“通讯”

3. 即时通讯系统为什么难

    3.1 实时性难点

    3.2 推送性难点

    3.3 逻辑复杂性难点

    3.4 消息可达性难点

    3.5 状态同步难点

第二章、从简单的网络聊天室说起(已发布)

1. 网络聊天室需求

2. 网络聊天室设计与实现

    2.1 接口设计

    2.2 分层架构

    2.3 数据库设计

    2.4 业务逻辑流程

3. 如何保证消息实时性

    3.1 消息轮询模式

    3.2 轮询实时性问题

    3.3 观察者模式

    3.4 comet技术

第三章、匿名访客IM系统

1. 匿名访客即时通讯系统需求

2. 匿名访客即时通讯系统设计与实现

    2.1用户的抽象与设计

    2.2匿名与隐含登陆

    2.3 HTTP1.1与伪长连接

    2.4 客服离线消息

    2.5 状态分发模块

    2.6 通知路由模块

3. 匿名系统如何实现

    3.1匿名子系统需求

    3.2 熟客识别

    3.3 安全会话标识串的设计

    3.4 匿名登录

    3.5 匿名离线消息

第四章、IM系统协议栈设计(已发布)

1. 应用层协议设计

    1.1文本协议

    1.2 二进制协议

    1.3 流式XML

    1.4常用协议比较

2. 安全层协议设计

3. 传输层协议设计

第五章、IM系统分层架构设计(已发布)

1. 架构设计需要考虑的问题

2. 即时通讯系统分层架构设计

    2.1 接入层entry子系统

    2.2 逻辑层logic子系统

    2.3 路由层router子系统

    2.4 存储层data子系统

3. 即时通讯系统分布式架构

    3.1 机房冗余策略

    3.2 水平拆分策略

    3.3 服务冗余策略

    3.4 负载均衡策略

    3.5 系统扩展策略

第六章、IM系统核心业务流程设计与实现(上)

1. 即时通讯系统协议报文设计(已发布)

2. 登录业务:可能远比你想的复杂(已发布)

3. 用户业务:一切的基础

4. 单人在线消息业务:即时通讯的精髓

5. 单人离线消息业务:离线可达性如何保证

第七章、IM系统核心业务流程设计与实现(中)

1. 好友业务:难在哪里

2. 好友状态业务:推还是拉

3. 群在线消息业务:为何限制群人数

4. 群离线消息业务:存一份还是多份

5. 群友状态业务:消息风暴问题

第八章、IM系统核心业务流程设计与实现(下)

1. 文件传输子系统

2. 验证码子系统

3. 反作弊子系统

4. 移动流量优化

5. 断线重连优化

第九章、从IM系统Passport看分布式架构设计

1. Passport系统需求

2. Passport系统分析

3. Passport分布式设计

    3.1 容错与冗余

    3.2 系统扩展性

    3.3 系统负载均衡

    3.4 系统部署

第十章、总结IM系统架构中的设计方法论

《关于即时通讯架构的一切》专栏是什么形式?

视频,平均1-2周放出1章,计划4个月内全放出。

画外音:刚分享完“登录”,相关的技术点很多。

如何订阅?

扫码订阅《关于即时通讯架构的一切》

有什么福利?

种子用户收集中,目前-500优惠券(一周内有效)。

画外音:后续逐步恢复原价。

如何领取优惠券?

扫码领取-500优惠券(一周内有效)

有什么注意事项?

入手后能看到群二维码,务必加群交流,欢迎加群一起玩架构。

调研:

你经历过QQ加载几十秒的年代吗?

阅读原文,了解更多,欢迎加群,希望大家有收获。

这篇关于微信的大月亮,究竟为啥登录要这么久?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/437233

相关文章

90%的人第一步就错了! 顺利登录wifi路由器后台的技巧

《90%的人第一步就错了!顺利登录wifi路由器后台的技巧》登录Wi-Fi路由器,其实就是进入它的后台管理页面,很多朋友不知道该怎么进入路由器后台设置,感兴趣的朋友可以花3分钟了解一下... 你是不是也遇到过这种情况:家里网速突然变慢、想改WiFi密码却不知道从哪进路由器、新装宽带后完全不知道怎么设置?别慌

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

Spring Security重写AuthenticationManager实现账号密码登录或者手机号码登录

《SpringSecurity重写AuthenticationManager实现账号密码登录或者手机号码登录》本文主要介绍了SpringSecurity重写AuthenticationManage... 目录一、创建自定义认证提供者CustomAuthenticationProvider二、创建认证业务Us

Springboot项目登录校验功能实现

《Springboot项目登录校验功能实现》本文介绍了Web登录校验的重要性,对比了Cookie、Session和JWT三种会话技术,分析其优缺点,并讲解了过滤器与拦截器的统一拦截方案,推荐使用JWT... 目录引言一、登录校验的基本概念二、HTTP协议的无状态性三、会话跟android踪技术1. Cook

使用Redis快速实现共享Session登录的详细步骤

《使用Redis快速实现共享Session登录的详细步骤》在Web开发中,Session通常用于存储用户的会话信息,允许用户在多个页面之间保持登录状态,Redis是一个开源的高性能键值数据库,广泛用于... 目录前言实现原理:步骤:使用Redis实现共享Session登录1. 引入Redis依赖2. 配置R

Spring Security 单点登录与自动登录机制的实现原理

《SpringSecurity单点登录与自动登录机制的实现原理》本文探讨SpringSecurity实现单点登录(SSO)与自动登录机制,涵盖JWT跨系统认证、RememberMe持久化Token... 目录一、核心概念解析1.1 单点登录(SSO)1.2 自动登录(Remember Me)二、代码分析三、

Ubuntu 24.04启用root图形登录的操作流程

《Ubuntu24.04启用root图形登录的操作流程》Ubuntu默认禁用root账户的图形与SSH登录,这是为了安全,但在某些场景你可能需要直接用root登录GNOME桌面,本文以Ubuntu2... 目录一、前言二、准备工作三、设置 root 密码四、启用图形界面 root 登录1. 修改 GDM 配

Spring Boot 结合 WxJava 实现文章上传微信公众号草稿箱与群发

《SpringBoot结合WxJava实现文章上传微信公众号草稿箱与群发》本文将详细介绍如何使用SpringBoot框架结合WxJava开发工具包,实现文章上传到微信公众号草稿箱以及群发功能,... 目录一、项目环境准备1.1 开发环境1.2 微信公众号准备二、Spring Boot 项目搭建2.1 创建

nginx 负载均衡配置及如何解决重复登录问题

《nginx负载均衡配置及如何解决重复登录问题》文章详解Nginx源码安装与Docker部署,介绍四层/七层代理区别及负载均衡策略,通过ip_hash解决重复登录问题,对nginx负载均衡配置及如何... 目录一:源码安装:1.配置编译参数2.编译3.编译安装 二,四层代理和七层代理区别1.二者混合使用举例

java向微信服务号发送消息的完整步骤实例

《java向微信服务号发送消息的完整步骤实例》:本文主要介绍java向微信服务号发送消息的相关资料,包括申请测试号获取appID/appsecret、关注公众号获取openID、配置消息模板及代码... 目录步骤1. 申请测试系统2. 公众号账号信息3. 关注测试号二维码4. 消息模板接口5. Java测试