Browsed by
标签:布隆过滤器

我是Redis,MySQL大哥被我害惨了

我是Redis,MySQL大哥被我害惨了

閱讀本文約花費: 10 (分鐘)我是Redis 你好,我是Redis,一个叫Antirez的男人把我带到了这个世界上。 说起我的诞生,跟关系数据库MySQL还挺有渊源的。 在我还没来到这个世界上的时候,MySQL过的很辛苦,互联网发展的越来越快,它容纳的数据也越来越多,用户请求也随之暴涨,而每一个用户请求都变成了对它的一个又一个读写操作,MySQL是苦不堪言。尤其是到“双11”、“618“这种全民购物狂欢的日子,都是MySQL受苦受难的日子。 据后来MySQL告诉我说,其实有一大半的用户请求都是读操作,而且经常都是重复查询一个东西,浪费它很多时间去进行磁盘I/O。 后来有人就琢磨,是不是可以学学CPU,给数据库也加一个缓存呢?于是我就诞生了! 出生不久,我就和MySQL成为了好朋友,我们俩常常携手出现在后端服务器中。 应用程序们从MySQL查询到的数据,在我这里登记一下,后面再需要用到的时候,就先找我要,我这里没有再找MySQL要。 为了方便使用,我支持好几种数据结构的存储: String Hash List Set SortedSet Bitmap ······ 因为我把登记的数据都记录在内存中,不用去执行慢如蜗牛的I/O操作,所以找我要比找MySQL要省去了不少的时间呢。 可别小瞧这简单的一个改变,我可为MySQL减轻了不小的负担!随着程序的运行,我缓存的数据越来越多,有相当部…

Read More Read More

Medium开发团队谈架构设计

Medium开发团队谈架构设计

閱讀本文約花費: 16 (分鐘) 背景   说到底,Medium是个社交网络,人们可以在这里分享有意思的故事和想法。据统计,目前累积的用户阅读时间已经超过14亿分钟,合两千六百年。   我们支持着每个月两千五百万的读者以及每周数以万计的文章发布。我们不想Medium的文章以阅读量为成功的依据,而是观点取胜。在Medium,文章的观点比作者的名头更重要。在这里,对话促进想法,并且很看重文字的力量。   我是Medium开发团队的负责人,此前在Google工作,负责开发Google+和Gmail,还创立了Closure项目。业余时间我喜欢滑雪跳伞和丛林冒险。   团队介绍   说起团队我非常自豪,这是一群富有好奇心而且想法丰富的天才,大家凑到一块是想做大事的。   团队以跨功能的任务驱动,这样每个人既可以专攻,又可以毫无压力的对整个架构有所贡献。我们的理念就是接触的方面越多,对团队的锻炼越大。更多关于团队的理念见此。   在工作组织方面,我们有着很大的自由度,当然作为一个公司组成,我们还是有季度目标的,并且鼓励敏捷开发模式。我们使用GitHub进行code review和问题跟踪,用Google Apps作为邮件、文档和表单系统。跟很多团队习惯使用Trello不同,我们是Slack和slack机器人的重度用户。   原始架构   最开始的时候,Medium部署在EC2上,用Node.j…

Read More Read More

阿里巴巴双十一千万级实时监控系统技术揭秘

阿里巴巴双十一千万级实时监控系统技术揭秘

閱讀本文約花費: 13 (分鐘)本次分享主要介绍以下四方面: 时序业务全景 TSDB 介绍 核心技术 总结展望 时序业务全景 从底层的机器监控到直面用户的应用,都离不开时序性的业务场景,而时序性的数据一般都由专业的时序数据库来存储分析,下面主要介绍 TSDB 覆盖的业务场景以及面临的挑战。 1.1 时序数据库覆盖场景 基础设施层:机柜、物理机、操作系统监控日志 基础运维:sunfire(集团统一监控、采集、报警系统)、阿里云监控、GOC(阿里全球应急调度指挥系统) 资源调度:集团内部调度系统、Kubernetes 集群管理:DBPaas(阿里所有数据库实例的监控和调度) 应用层:APM 场景下的各种应用 1.2 时序数据库面临的挑战 由于面临各个层级的不用场景,所以时序数据库也面临不同挑战: 应用层挑战:由于直面客户所以需要提供高频率、低延迟的查询 olap 数据库本身特性:海量数据的聚合 时序数据库特有的:发散时间线 双十一大促:突然流量十倍以上增长 TSDB 介绍 2.1 TSDB 的发展及性能 TSDB 于 2016 年开始服役, 到目前为止参与了三次双十一大促,相比于 2017 年读写吞吐翻倍增长, 写入 TPS4000w,查询 2wQPS 覆盖集团 130+ 业务线及存储百亿的时间线。 2.2 TSDB 架构介绍 如上图,从左到右为数据的采集到展现的过程: 边缘计算:轻量…

Read More Read More

高性能短链设计

高性能短链设计

閱讀本文約花費: 17 (分鐘)前言 今天,我们来谈谈如何设计一个高性能短链系统,短链系统设计看起来很简单,但每个点都能展开很多知识点,也是在面试中非常适合考察侯选人的一道设计题,本文将会结合我们生产上稳定运行两年之久的高性能短链系统给大家简单介绍下设计这套系统所涉及的一些思路,希望对大家能有一些帮助。 本文将会从以下几个方面来讲解,每个点包含的信息量都不少,相信大家看完肯定有收获 短链有啥好处,用长链不香吗 短链跳转的基本原理 短链生成的几种方法 高性能短链的架构设计 注:里面涉及到不少布隆过滤器,snowflake 等技术,由于不是本文重点,所以建议大家看完后再自己去深入了解,不然展开讲篇幅会很长 短链有啥好处,用长链不香吗 来看下以下极客时间发我的营销短信,点击下方蓝色的链接(短链) 浏览器的地址栏上最终会显示一条如下的长链。 那么为啥要用短链表示,直接用长链不行吗,用短链的话有如下好外 1、链接变短,在对内容长度有限制的平台发文,可编辑的文字就变多了 最典型的就是微博,限定了只能发 140 个字,如果一串长链直接怼上去,其他可编辑的内容就所剩无几了,用短链的话,链接长度大大减少,自然可编辑的文字多了不少。 再比如一般短信发文有长度限度,如果用长链,一条短信很可能要拆分成两三条发,本来一条一毛的短信费变成了两三毛,何苦呢。另外用短链在内容排版上也更美观。 2、我们经常需要将链…

Read More Read More

Back-to-Basics Weekend Reading – Bloom Filters

Back-to-Basics Weekend Reading – Bloom Filters

閱讀本文約花費: 1 (分鐘)By Werner Vogels on 03 February 2017 11:00 AM | Permalink | Comments (0) Listening to the “Algorithms to Live By” audio on my commute this morning, once again I was struck by the beauty of Bloom Filters. So, I decided it is time to resurrect the ‘Back-to-Basics Weekend Reading’ series, as I will be re-reading some fundamental CS papers this weekend. In the past, I have done some weekend reading about Counting Bloom Filters, but now I am going even more fundamental, and I invite you to join me. Bloom Filters, conceived by Burton Bl…

Read More Read More

Scroll Up