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

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

相关文章

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测试

CSS3打造的现代交互式登录界面详细实现过程

《CSS3打造的现代交互式登录界面详细实现过程》本文介绍CSS3和jQuery在登录界面设计中的应用,涵盖动画、选择器、自定义字体及盒模型技术,提升界面美观与交互性,同时优化性能和可访问性,感兴趣的朋... 目录1. css3用户登录界面设计概述1.1 用户界面设计的重要性1.2 CSS3的新特性与优势1.

Python基于微信OCR引擎实现高效图片文字识别

《Python基于微信OCR引擎实现高效图片文字识别》这篇文章主要为大家详细介绍了一款基于微信OCR引擎的图片文字识别桌面应用开发全过程,可以实现从图片拖拽识别到文字提取,感兴趣的小伙伴可以跟随小编一... 目录一、项目概述1.1 开发背景1.2 技术选型1.3 核心优势二、功能详解2.1 核心功能模块2.

Java中的登录技术保姆级详细教程

《Java中的登录技术保姆级详细教程》:本文主要介绍Java中登录技术保姆级详细教程的相关资料,在Java中我们可以使用各种技术和框架来实现这些功能,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录1.登录思路2.登录标记1.会话技术2.会话跟踪1.Cookie技术2.Session技术3.令牌技

如何基于Python开发一个微信自动化工具

《如何基于Python开发一个微信自动化工具》在当今数字化办公场景中,自动化工具已成为提升工作效率的利器,本文将深入剖析一个基于Python的微信自动化工具开发全过程,有需要的小伙伴可以了解下... 目录概述功能全景1. 核心功能模块2. 特色功能效果展示1. 主界面概览2. 定时任务配置3. 操作日志演示

Redis迷你版微信抢红包实战

《Redis迷你版微信抢红包实战》本文主要介绍了Redis迷你版微信抢红包实战... 目录1 思路分析1.1hCckRX 流程1.2 注意点①拆红包:二倍均值算法②发红包:list③抢红包&记录:hset2 代码实现2.1 拆红包splitRedPacket2.2 发红包sendRedPacket2.3 抢