随笔分类 -  分布式架构

专注于分布式架构系列的文章
摘要:引言 今天下午,烟哥和同事在厕所里排队等坑的时候(人多坑少)。想象一下一个场景,我正在一边排队,一边拿着手机撩妹。前面一个同事,拿着手机短信转过头来和我聊天。 于是,我们就开始讨论下面这种短链接的实现原理(没错,上厕所也不忘学习!)。 点击其中短链接后,我们会跳到如下地址 本文,我们来讨论一下其实现 阅读全文
posted @ 2019-11-09 19:45 孤独烟 阅读(10065) 评论(14) 推荐(36) 编辑
摘要:引言 我在 "《那些年用过的Redis集群架构(含面试解析)》" 一文里提到过,现在redis集群架构,redis cluster用的会比较多。 如下图所示 对于客户端请求的key,根据公式 ,计算出映射到哪个分片上,然后Redis会去相应的节点进行操作! 那大家思考过,为什么有16384个槽么? 阅读全文
posted @ 2019-08-30 09:35 孤独烟 阅读(44676) 评论(4) 推荐(32) 编辑
摘要:引言 所谓的消费语义,指的就是如下三种情况 如何保证消息最多消费一次 如何保证消息至少消费一次 如何保证消息恰好消费一次 其实类似还有一个投递语义 如何保证消息最多投递一次 如何保证消息至少投递一次 如何保证消息恰好投递一次 说句实在话,其实还是老问题,只是换了一种问法! OK,开始我们的正文 正文 阅读全文
posted @ 2019-06-19 13:17 孤独烟 阅读(2786) 评论(3) 推荐(3) 编辑
摘要:引言 (本文改编自生活真实案例,如有类同,绝不是巧合!) 端午节,烟哥正在一边愉快的学习.... 突然,微信一阵抖动。原来是老刘呼唤烟哥!善良的烟哥本以为人家是要约我出去玩!然而,打开微信一看,出现下图聊天记录 于是本文的主题就这么展开了。由于我需要迅速让老刘明白,这种问题的回答套路,所以我回答的时 阅读全文
posted @ 2019-06-08 14:58 孤独烟 阅读(4043) 评论(7) 推荐(4) 编辑
摘要:引言 讲了几天的数据库系列的文章,大家一定看烦了,其实还没讲完。。。(以下省略一万字)。 今天我们换换口味,来写redis方面的内容,谈谈热key问题如何解决。 其实热key问题说来也很简单,就是瞬间有几十万的请求去访问redis上某个固定的key,从而压垮缓存服务的情情况。 其实生活中也是有不少这 阅读全文
posted @ 2019-05-16 11:26 孤独烟 阅读(48420) 评论(11) 推荐(34) 编辑
摘要:(以下故事纯属虚构,如有雷同纯属巧合) 概念 自从微服务的浪潮席卷了烟哥的公司之后,烟哥的领导内心蠢蠢欲动,指派烟哥去将公司的传统服务架构改成微服务架构!于是烟哥就喊上了小刘到了一个僻静的角落探讨如何实施! 烟哥:"小刘啊,去把公司那套 系统整整,接入注册中心,熔断器什么的,整成微服务架构!领导发话 阅读全文
posted @ 2019-02-17 13:37 孤独烟 阅读(10833) 评论(5) 推荐(4) 编辑
摘要:引言 开局两张图,内容全靠编~ ok,如图所示,我在去年曾经写过一篇文章 "《闲侃前后端分离的必要性》" 。嗯,我知道肯定很多人没看过。所以我做一个总结,其实啰里八嗦了一篇文章,就是想说一下现在的大型互联网项目一般是如下两种架构之一 前后端半分离架构 前后端分离架构 区别分离和半分离的标志在于 层由 阅读全文
posted @ 2019-02-13 09:47 孤独烟 阅读(2787) 评论(0) 推荐(9) 编辑
摘要:引言 今天是2019年2月12号,也就是大年初八,我接到了高中同学刘有码面试失利的消息。 他面试的时候,身份是某知名公司的小码农一枚,却因为不懂自己生产上Redis是如何部署的,导致面试失败! 人间惨剧,莫过于此。 接到他面试失利的消息,我差点发出猪一样的笑声,显然是平时太少关注孤独烟这个公众号! 阅读全文
posted @ 2019-02-12 10:42 孤独烟 阅读(19650) 评论(22) 推荐(58) 编辑
摘要:引言 OK,如下图所示 那显而易见,做服务隔离的目的就是避免服务之间相互影响。毕竟谁也不能说自己的微服务百分百可用,如果不做隔离,一旦一个服务出现了问题,整个系统的稳定性都会受到影响! 因此,做服务隔离是很有必要的。那么怎么隔离呢?有如下两种方式 按 种类隔离 按 用户隔离 OK,接下来开始细说这两 阅读全文
posted @ 2019-02-11 08:08 孤独烟 阅读(5920) 评论(10) 推荐(18) 编辑
摘要:引言 首先,之所以谈这个话题呢,是发现现在很多人对微服务的设计缺乏认识,所以写一篇扫盲文。当然,考虑到目前大多微服务的文章都是口水文,烟哥争取将实现方式讲透,点清楚,让大家有所收获! OK,我要先说明一下,我有很长一段时间将 服务降级 和 服务熔断 混在一起,认为是一回事! 为什么我会有这样的误解呢 阅读全文
posted @ 2019-01-30 23:51 孤独烟 阅读(36313) 评论(11) 推荐(72) 编辑
摘要:引言 本来没想写这个题材的,为了某某童鞋能够更好的茁壮成长,临时写一篇负载均衡的。负载均衡,大家可能听过什么3层负载均衡、4层负载均衡、7层负载均衡什么的?那这是怎么分的呢,ok,是根据osi七层网络模型来分的,例如nginx是工作在应用层,应用层刚好是在第7层,因此nginx又可以称为7层负载均衡 阅读全文
posted @ 2019-01-13 19:00 孤独烟 阅读(3167) 评论(1) 推荐(9) 编辑
摘要:引言 在上篇文章 "《老生常谈——利用消息队列处理分布式事务》" 一文中留了一个坑,今天来填坑。如下图所示 如果服务A和服务B之间是同步调用,比如服务C需要按流程调服务A和服务B,服务A和服务B要么一起成功,要么一起失败。 针对这种情况,目前业内普遍推荐使用TCC事务来解决的! 正文 ok,老规矩, 阅读全文
posted @ 2018-12-23 16:35 孤独烟 阅读(12710) 评论(5) 推荐(7) 编辑
摘要:用消息队列解决异步服务之间的事务问题! 阅读全文
posted @ 2018-12-13 19:08 孤独烟 阅读(19130) 评论(17) 推荐(19) 编辑
摘要:引言 早在2013年的时候,docker就已经发行,然而那会还是很少人了解docker。一直到2014年,Martin Fowler提出了微服务的概念,两个不相干的技术终于走在了一起,创造了今天的辉煌! 近几年来,很多互联网关系开始跟风,构建docker+微服务的架构体系。然而,根据笔者观察发现,有 阅读全文
posted @ 2018-12-08 20:06 孤独烟 阅读(19154) 评论(28) 推荐(34) 编辑
摘要:用故事的形式来说cap定理 阅读全文
posted @ 2018-11-30 11:11 孤独烟 阅读(1618) 评论(0) 推荐(2) 编辑
摘要:讲讲java混乱的日志体系! 阅读全文
posted @ 2018-11-30 10:54 孤独烟 阅读(6106) 评论(15) 推荐(21) 编辑
摘要:引言 说起 的数据结构,大家可能对五大基础数据类型比较熟悉: ,`Hash List Set Sorted Set bitmaps hyperloglog geo` 另外,我觉得,这三个数据结构,只能说是锦上添花。真正在项目中,我还真没用过。 下面大家来看看这三大数据结构的 定义 和 用途 bitm 阅读全文
posted @ 2018-10-31 15:22 孤独烟 阅读(1885) 评论(2) 推荐(2) 编辑
摘要:引言 好久没写分布式系列的文章了,最近刚好有个朋友给我留言,想看这方面的知识。其实这方面的知识,网上各种技术峰会的资料一抓一大把。博主也是凑合着写写。感觉自己也写不出什么新意,大家也凑合看看。 日志系统的必要性? 我15年实习的时候那会,给某国企做开发。不怕大家笑话,生产上就两台机器。那会定位生产问 阅读全文
posted @ 2018-10-16 08:53 孤独烟 阅读(4529) 评论(4) 推荐(7) 编辑
摘要:目前为止,最全面的一片分布式锁的文章!只讲场景,不扯代码! 阅读全文
posted @ 2018-07-16 09:10 孤独烟 阅读(11958) 评论(37) 推荐(46) 编辑
摘要:正文 博主本来觉得, "《分布式之数据库和缓存双写一致性方案解析》" ,一文已经十分清晰。然而这一两天,有人在微信上私聊我,觉得应该要采用 这一方案作为缓存更新策略,而不是先更新数据库,再删缓存。并且搬出了两篇大佬的文章, "《Cache Aside Pattern》" , "《缓存与数据库不一致, 阅读全文
posted @ 2018-07-13 08:58 孤独烟 阅读(4729) 评论(22) 推荐(14) 编辑