随笔分类 - 技术场景
摘要:时间轮用来解决什么问题? 如果一个系统中存在着大量的调度任务,而大量的调度任务如果每一个都使用自己的调度器来管理任务的生命周期的话,浪费cpu的资源并且很低效。 时间轮是一种高效来利用线程资源来进行批量化调度的一种调度模型。把大批量的调度任务全部都绑定到同一个的调度器上面,使用这一个调度器来进行所有
阅读全文
摘要:情形一:一个客户端连接服务器以后,如果长期没有和服务器有数据来往,可能会被防火墙程序关闭连接,有时候我们并不想要被关闭连接。例如,对于一个即时通讯软件,如果服务器没有消息时,我们确实不会和服务器有任何数据交换,但是如果连接被关闭了,有新消息来时,我们再也没法收到了,这就违背了“即时通讯”的设计要求。
阅读全文
摘要:券商作为证券市场的中介机构,承担了为广大投资者提供证券交易通道的市场责任。你知道交易指令是如何传递到交易所并最终成交的吗? 上图是一个典型的券商交易系统逻辑架构,手机App、网上交易等系统称为渠道系统,职责是为投资者提供交易渠道,并对指令做初步的要素检查,最终所有合法交易指令都会发送到集中交易系统进
阅读全文
摘要:风起 2009 年微博刚刚上线的时候,微博关系服务使用的是最传统的 Memcache+Mysql 的方案。Mysql 按 uid hash 进行了分库分表,表结构非常简单: tid fromuid touid addTime 自增 id 关系主体 关系客体 加关注时间业务方存在两种查询: 查询用户的
阅读全文
摘要:什么是实时协同编辑 这里所说的实时协同编辑,是指多人同时编辑一个文档,最典型的例子是 Google Docs,你可以实时看到别人做出的修改,不用手动刷新页面。 要实现实时编辑,我们需要解决两个技术点:实时通信问题、编辑冲突问题,其中实时通信问题比较好解决,可以使用 long pull 或 WebSo
阅读全文
摘要:四种常用的解决方案 方案一:Cache Aside Pattern 读请求 先读缓存再读库 如果缓存命中,返回数据 如果缓存未命中,读库并把数据写入缓存,然后再返回 写请求 数据写库 删除缓存 这里很重要的一点在写请求中,要删除缓存而不是更新缓存。缓存的更新会发生在下一次读请求时。这里为什么会选择删
阅读全文
摘要:雪崩效应 由于服务提供者A不可用,导致服务调用者B对A的请求阻塞,没有相关的机制通知或解决请求阻塞,导致在服务调用者B对A请求的阻塞越来越多,阻塞请求变多并且不断对A进行请求重试导致服务调用者B所在的系统的资源会被耗尽,而服务调用者B所在的系统可能并不会只有对A的调用,还有存在对其他服务提供者的调用
阅读全文
摘要:对于共享资源,有一个很著名的设计模式:资源池(Resource Pool)。该模式正是为了解决资源的频繁分配﹑释放所造成的问题。为解决我们的问题,可以采用数据库连接池技术。 数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓
阅读全文
摘要:1.背景 在我们的业务需求中通常有需要一些唯一的ID,来记录我们某个数据的标识: 某个用户的ID 某个订单的单号 某个信息的ID 通常我们会调研各种各样的生成策略,根据不同的业务,采取最合适的策略,下面我会讨论一下各种策略/算法,以及他们的一些优劣点。 2.UUID UUID是通用唯一识别码(Uni
阅读全文
摘要:背景 提供一个短址服务你有没有发现,我们的任务中出现长 URL 就会比较麻烦?如果有一个短址生成器就好了。虽然市面上有很多,但是我们可以重复发明一个轮子,利用这个机会尝试一下简单的 Web 全栈开发。 任务 做一个短链接生成器,可以将一个长链接缩短成一个短链接。 预览 由 Gigalixir 提供免
阅读全文
摘要:https://yq.aliyun.com/articles/698301?spm=a2c4e.11155435.0.0.7fbf830cIdSvS7 https://yq.aliyun.com/articles/701593?spm=a2c4e.11153940.0.0.6fd7609aNPhQr
阅读全文
摘要:如何理解“图”? 我们前面讲过了树这种非线性表数据结构,今天我们要讲另一种非线性表数据结构,图(Graph)。和树比起来,这是一种更加复杂的非线性表结构。 我们知道,树中的元素我们称为节点,图中的元素我们就叫作顶点(vertex)。从我画的图中可以看出来,图中的一个顶点可以与任意其他顶点建立连接关系
阅读全文
摘要:转自:51CTO博客作者曹林华,https://blog.51cto.com/13527416/2085258 业务介绍 什么是秒杀?通俗一点讲就是网络商家为促销等目的组织的网上限时抢购活动 业务特点 瞬时并发量大 秒杀时会有大量用户在同一时间进行抢购,瞬时并发访问量突增 10 倍,甚至 100 倍
阅读全文
摘要:一、微博核心业务图 二、微博的架构设计图 三、简述 先来看看Feed流中的一些概念: Feed:Feed流中的每一条状态或者消息都是Feed,比如微博中的一条微博就是一个Feed。 Feed流:持续更新并呈现给用户内容的信息流。每个人微博关注页等等都是一个Feed流。 Timeline:Timeli
阅读全文
摘要:微信朋友圈的架构概述 整个微信是微服务的架构,每一个请求后面可能会涉及到几百个服务,每一个服务都有一个QoS,目的是对一些重要的服务进行保证。比如除夕晚上流量达到平时的5倍,这时整个系统的性能肯定不够,所以要优先保证什么呢?优先保证支付,优先保证红包的体验。红包体验保证了,再保证消息,比如点对点两人
阅读全文