202009-19 深入理解:RabbitMQ的前世今生 HOT 关于RabbitMQ 出身:诞生于金融行业的消息队列 语言:Erlang 协议:AMQP(Advanced Message Queuing Protocol 高级消息队列协议) 关键词:内存队列,高可用,一条消息 继续阅读 >
202009-17 为什么 MySQL 不推荐使用 uuid 或者雪花 id 作为主键? HOT 本篇博客首先从开篇的提出问题,建表到使用jdbcTemplate去测试不同id的生成策略在大数据量的数据插入表现,然后分析了id的机制不同在mysql的索引结构以及优缺点,深入的解释了为何uuid和随机不重复id在数据插入中的性能损耗,详细的解释了这个问题。 在实际的开发中还是根据mysql的官方推荐最好使用自增id,mysql博大精深,内部还有很多值得优化的点需要我们学习。 继续阅读 >
202009-17 拼多多面试真题:如何用Redis统计独立用户访问量 HOT 众所周至,拼多多的待遇也是高的可怕,在挖人方面也是不遗余力,对于一些工作3年的开发,稍微优秀一点的,都给到30K的Offer,当然,拼多多加班也是出名的,一周上6天班是常态,每天工作时间基本都是超过12个小时,也是相当辛苦的。废话不多说,今天我们来聊一聊拼多多的一道后台面试真题,是一道简单的架构类的题目:拼多多有数亿的用户,那么对于某个网页,怎么使用Redis来统计一个网站的用户访问数呢? 继续阅读 >
202009-17 如何设计 QQ、微信等第三方账号登陆 ?(附数据库结构) HOT 希望大家能够通过以上学习,能够对于我们多账户登录有一个比较好的认知,这里设计方案不包含分表分库、没有服务化,就是简单直接的设计,当然用户量和需要的不一样,在这个基础上还要加很多东西,谢谢大家阅读! 继续阅读 >
202009-14 一篇文章让你明白Nginx核心架构是怎么支持高并发的 HOT Nginx 作为业界知名的高性能服务器,被广泛的应用。它的高性能正是由于其优秀的架构设计,其架构主要包括这几点:模块化设计、事件驱动架构、请求的多阶段异步处理、管理进程与多工作进程设计、内存池的设计,以下内容依次进行说明。 继续阅读 >
202009-14 Win10新添实用功能,你发现了吗? HOT 尽管微软更新总是不断翻车,各种bug不断,但用户量依然很大,而很多人还是对新版系统抱有很大的期望。这不,在最新的 Windows 10 预览版中,微软终于带来了 Windows 10X 系统的三个新的闪亮功能,在近期推出的Build 20206 预览版中已经开始测试,有些人已经体验上了,你发现了吗? 继续阅读 >
202009-14 用了这么久Redis,这些开发陷阱及避坑指南你要看一看 HOT 我们在使用 Redis 过程中,可能更多的关注 Redis 本身的一些配置优化,如 AOF、RDB 配置、数据结构配置优化等。但是很少关心 Redis 的载体,服务器的优化。而这往往为我们的项目运行带来灾难性的打击。因此服务器优化也是必不可少的 继续阅读 >
202009-11 你说熟悉MySQL事务,那来谈谈事务的实现原理吧! HOT 相信大家都用过事务以及了解他的特点,如原子性(Atomicity),一致性(Consistency),隔离型(Isolation)以及持久性(Durability)等。今天想跟大家一起研究下事务内部到底是怎么实现的,在讲解前我想先抛出个问题: 继续阅读 >
202009-11 HTTPS的工作原理 HOT 当你打开浏览器,访问某个网站,如果网址旁有个小锁,代表访问的网址是安全的,反之不安全。当我们没有看到那个小锁的小图标的时候,需要提高警惕,不要随意输入个人重要的资料。所有的银行和支付相关的网站都是100%使用HTTPS的。 继续阅读 >
202009-11 为什么Redis要比Memcached更火? HOT 我们都知道,Redis和Memcached都是内存数据库,它们的访问速度非常之快。但我们在开发过程中,这两个内存数据库,我们到底要如何选择呢?它们的优劣都有哪些? 为什么现在看Redis要比Memcached更火一些? 这篇文章,我们就从各个方面来对比这两个内存数据库的差异,方便你在使用时,做出最符合业务需要的选择。 继续阅读 >
202009-11 基于Swoole如何搭建TCP服务 HOT 本节将会讲解以下3个问题: 通过Swoole如何搭建TCP服务? 通过Swoole如何搭建TCP客户端? 通过Swoole搭建的TCP服务,更深入理解Swoole的事件驱动模式 继续阅读 >
202009-08 Redis单例、主从模式、sentinel以及集群的配置方式及优缺点对比 HOT redis作为一种高效的缓存框架,使用是非常广泛的,在数据存储上,在运行时其将数据存储在内存中,以实现数据的高效读写,并且根据定制的持久化规则不同,其会不定期的将数据持久化到硬盘中。 继续阅读 >
202009-08 一行代码如何隐藏 Linux 进程? HOT 总有朋友问隐藏Linux进程的方法,我说你想隐藏到什么程度,是大隐于内核,还是小隐于用户。 网上通篇论述的无外乎 hook 掉 procfs 或者类似的用户态方案,也都难免长篇大论,我说,这些场面都太大了,太复杂了。对于希望马上看到效果的而言,看到这么一堆复杂的东西,大概率望而却步。 本文介绍一种将Linux进程小隐于用户的非常规方法,仅仅一行代码: 修改掉进程的pid即可。 注意是小隐,所以,不值得反制,逗一下高级会议工程师搞个恶作剧玩玩得了。 继续阅读 >
202009-08 高并发场景下的缓存有哪些常见的问题? HOT 当数据时效性要求很高时,需要保证缓存中的数据与数据库中的保持一致,而且需要保证缓存节点和副本中的数据也保持一致,不能出现差异现象。 这就比较依赖缓存的过期和更新策略。一般会在数据发生更改的时,主动更新缓存中的数据或者移除对应的缓存。 继续阅读 >
202009-03 composer 安装、镜像配置及常见问题解决 HOT composer 是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。 继续阅读 >
202009-03 laravel 应用层加载过程源码分析 HOT 这框架只是为让大家一起了解和熟悉 laravel 在应用层的加载过程。当然 laravel 框架本身还有很多核心的架构,比如服务提供者、管道、中间件有时间我再补上。欢迎大家留言一起讨论~ 继续阅读 >
202009-03 软件的Alpha、Beta、GM、OEM、LTS等版本的含义 HOT LTS(Long Term Support):长期演进版,Ubuntu会对这一版本的支持时间更长。 继续阅读 >
202009-03 laravel 管道及中间件源码分析 HOT 管道(包洋葱的概念)在laravel 中是将要执行的控制器的方法做为洋葱心,而多个中间件(中间件提供了一种方便的机制过滤进入应用程序的 HTTP 请求。)做为洋葱皮的概念。 核心知识点:返回闭包函数、开始包洋葱: array_reduce() 继续阅读 >
202009-03 php实现数据结构的单向链表 HOT 链表是以链式存储数据的结构,其不需要连续的存储空间,链表中的数据以节点来表示,每个节点由元素(存储数据)和指针(指向后继节点)组成。 继续阅读 >
202009-02 Redis面试常见问题 HOT 缓存穿透是指查询一个根本不存在的数据, 缓存层和存储层都不会命中, 通常出于容错的考虑, 如果从存储 层查不到数据则不写入缓存层。 缓存穿透将导致不存在的数据每次请求都要到存储层去查询, 失去了缓存保护后端存储的意义。 继续阅读 >
202009-02 Laravel 基于redis队列的解析 HOT 注意, 上述使用 Lua 脚本的目的在于操作的原子性, Redis 是单进程单线程模式, 以Lua脚本形式执行命令时可以确保执行脚本的原子性, 而不会有并发问题。 继续阅读 >