架构
文章平均质量分 89
东东咚咚咚咚咚丶
饿了么后端工程师,一只不定期产粮的一线研发猿
展开
-
大网站架构
此处我说的HTTP服务主要指如访问京东网站时我们看到的热门搜索、用户登录、实时价格、实时库存、服务支持、广告语等这种非Web页面,而是在Web页面中异步加载的相关数据。这些服务有个特点即访问量巨大、逻辑比较单一;但是如实时库存逻辑其实是非常复杂的。在京东这些服务每天有几亿十几亿的访问量,比如实时库存服务曾经在没有任何IP限流、DDos防御的情况被刷到600多万/分钟的访问量,而且能轻松应对。支撑如...原创 2018-06-22 17:12:51 · 305 阅读 · 0 评论 -
高可用架构(转)
一、可用性度量与考核 首先,不得不说:要保证一个网站永远完全可用几乎是一件不可能完成的任务(Mission Impossible,是不是有点碟中谍的感觉)。 (1)如何度量网站可用性? 一个神奇的数字—9!你有几个9,就代表了你的可用性。例如QQ可用性达到了4个9:99.99% ①2个9=基本可用 ②3个9=较高可用 ③4个9=具有自动恢复能力的高可用 ④5个9=极高可用->...原创 2018-06-22 17:51:49 · 16870 阅读 · 0 评论 -
zookeeper的应用和原理
场景一有这样一个场景:系统中有大约100w的用户,每个用户平 均有3个邮箱账号,每隔5分钟,每个邮箱账需要收取100封邮件,最多3亿份邮件需要下载到服务器中(不含附件和正文)。用20台机器划分计算的压力,从 多个不同的网路出口进行访问外网,计算的压力得到缓解,那么每台机器的计算压力也不会很大了。 通过我们的讨论和以往的经验判断在这场景中可以实现并行计算,但我们还期望能对并行计...原创 2018-08-28 18:56:03 · 288 阅读 · 0 评论 -
如何解决高并发,秒杀问题
相信不少人会被这个问题困扰,分享大家一篇这样的文章,希望能够帮到你! 一、秒杀业务为什么难做?1)im系统,例如qq或者微博,每个人都读自己的数据(好友列表、群列表、个人信息);2)微博系统,每个人读你关注的人的数据,一个人读多个人的数据;3)秒杀系统,库存只有一份,所有人会在集中的时间读和写这些数据,多个人读一个数据。例如:小米手机每周二的秒杀,可能手机只有1万部,但瞬时进入的...原创 2018-08-28 19:16:59 · 12280 阅读 · 0 评论 -
数据库索引,到底是什么做的?
近期写数据库,不少朋友留言问MySQL索引底层的实现,今天简单聊一聊,少讲“是怎么样”,更多说说“为什么设计成这样”。 问题1. 数据库为什么要设计索引? 图书馆存了1000W本图书,要从中找到《架构师之路》,一本本查,要查到什么时候去?于是,图书管理员设计了一套规则:(1)一楼放历史类,二楼放文学类,三楼放IT类…(2)IT类,又分软件类,硬件类…(3)软件类,又...原创 2018-08-29 10:40:13 · 1112 阅读 · 0 评论 -
选redis还是memcache,源码怎么说?
memcache和redis是互联网分层架构中,最常用的KV缓存。不少同学在选型的时候会纠结,到底是选择memcache还是redis。画外音:不鼓励粗暴的实践,例如“memcache提供的功能是redis提供的功能的子集,不用想太多,选redis准没错”。 虽然redis比memcache更晚出来,且功能确实也更丰富,但对于一个技术人,了解“所以然”恐怕比“选择谁”更重要一些。 ...原创 2018-08-29 17:22:12 · 633 阅读 · 0 评论 -
缓存架构,一篇足够?
缓存是互联网系统架构中必不可少的一环,近一个月,写了一些缓存的文字。1.《进程内缓存究竟怎么玩?》缓存,可以分为:进程内缓存,缓存集群。文章介绍了:(1)什么是进程内缓存(2)进程内缓存的优缺点(3)进程内缓存保存一致性的3种方案(4)到底什么时候用进程内缓存文章也说明,大部分情况下,应该用缓存服务。如今最常见的缓存服务是redis和memcache,遂引出了第二篇文章。2.《到底选r...原创 2018-08-29 17:37:23 · 437 阅读 · 0 评论 -
饿了么多活利器:实时双向复制工具(DRC)
DRC介绍饿了么的 Data Replicate Center(DRC)项目用于数据双向复制和数据订阅,使用场景如下图:要点说明: 跨机房的 Mysql 数据复制完全通过 DRC 来完成 还有很多业务团队通过 DRC 来实现数据订阅 目前饿了么100%的跨机房数据复制,90%的数据订阅都通过DRC完成,每天有大量的数据流经DRC。复制延迟保持在1s以下,从来没有发生...原创 2019-01-08 00:32:56 · 1717 阅读 · 0 评论