
分布式
mhHao
Talk less, do more.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
XXL-JOB快速入门
概述XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。官方地址中文版:http://www.xuxueli.com/xxl-job目前已有多家公司接入xxl-job,包括比较知名的大众点评,京东,优信二手车,北京尚德,360金融 (360),联想集团 (联想),易信 (网易)等等…Quartz作为开源作业调度中的佼佼者,是作业调度的首选。集群环境中Quartz采用API的方式对任务进行管理,Quartz转载 2020-06-10 22:08:28 · 1647 阅读 · 0 评论 -
何时进行服务熔断、服务降级、服务限流?
伴随着微服务架构被宣传得如火如荼,一些概念也被推到了我们面前(管你接受不接受),其实大多数概念以前就有,但很少被提的这么频繁(现在好像不提及都不好意思交流了)。想起有人总结的一句话,微服务架构的特点就是:“一解释就懂,一问就不知,一讨论就吵架”。服务熔断在介绍熔断机制之前,我们需要了解微服务的雪崩效应。在微服务架构中,微服务是完成一个单一的业务功能,这样做的好处是可以做到解耦,每个微服务可以独...转载 2020-03-06 20:11:42 · 316 阅读 · 0 评论 -
Nginx+Keepalived高可用集群
1.Keepalived高可用软件Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能。因此,keepalived除了能够管理LVS软件外,还可以作为其他服务的高可用解决方案软件。keepalived软件主要是通过VRRP协议实现高可用功能的。VRRP是Virtual Router Redu...转载 2020-02-23 21:06:43 · 170 阅读 · 0 评论 -
秒杀系统架构分析与实战
#0 系列目录#秒杀系统架构秒杀系统架构分析与实战#1 秒杀业务分析#正常电子商务流程(1)查询商品;(2)创建订单;(3)扣减库存;(4)更新订单;(5)付款;(6)卖家发货秒杀业务的特性(1)低廉价格;(2)大幅推广;(3)瞬时售空;(4)一般是定时上架;(5)时间短、瞬时并发量高;#2 秒杀技术挑战# 假设某网站秒杀活动只推出一件商品,预计会吸引1万人参加活动,也就说最大并发...转载 2020-02-15 16:12:49 · 151 阅读 · 0 评论 -
对一致性Hash算法,Java代码实现的深入研究
对一致性Hash算法,Java代码实现的深入研究一致性Hash算法关于一致性Hash算法,在我之前的博文中已经有多次提到了,MemCache超详细解读一文中"一致性Hash算法"部分,对于为什么要使用一致性Hash算法、一致性Hash算法的算法原理做了详细的解读。算法的具体原理这里再次贴上:先构造一个长度为232的整数环(这个环被称为一致性Hash环),根据节点名称的Hash值(其分布为[...转载 2020-02-06 18:33:54 · 185 阅读 · 0 评论 -
七张图彻底讲清楚ZooKeeper分布式锁的实现原理【石杉的架构笔记】
七张图彻底讲清楚ZooKeeper分布式锁的实现原理【石杉的架构笔记】欢迎关注个人公众号:石杉的架构笔记(ID:shishan100)周一至周五早8点半!精品技术文章准时送上!一、写在前面之前写过一篇文章(《拜托,面试请不要再问我Redis分布式锁的实现原理》),给大家说了一下Redisson这个开源框架是如何实现Redis分布式锁原理的,这篇文章再给大家聊一下ZooKeeper实现分布式...转载 2020-01-29 14:24:43 · 414 阅读 · 0 评论 -
【深入理解RPC】基于Python自建分布式高并发RPC服务
【深入理解RPC】基于Python自建分布式高并发RPC服务系列索引:RPC交互过程RPC消息协议设计Redis文本协议结构Protobuf二进制协议结构Redis 协议的缺陷深入 RPC 客户端设计单线程同步模型多线程同步模型单进程异步模型多进程描述符传递模型深入RPC分布式原理分布式 RPC 知识基础...转载 2019-12-29 18:15:17 · 359 阅读 · 0 评论 -
小型分布式LNMP平台架构搭建
小型分布式LNMP平台架构搭建最近想和几个朋友一起搞一个小网站的项目,作为运维工程师,搭环境的任务自然而然的就落到了我的肩膀上,由于我们的项目还处在幻想阶段,所以就不租服务器了,我们就在电脑上开个五六台虚机来先搭建一个开发环境好了。为了以后和我们的线上环境一致(说的好像真的要上线似得),本屌决定搭建一个分布式的开发环境,由于本屌的笔记本性能有限,所以就使用5台虚机来实现了。总的架构很简单,前端...转载 2019-12-20 18:38:10 · 353 阅读 · 0 评论 -
新浪微博平台架构(转)
前几天因为鹿晗关晓彤事件,导致新浪微博崩溃几分钟。这种情况发生不止一次了,但是新浪显然并没有去处理,不由得想起来双11亿级流量,淘宝也会有预测的加资源来解决高并发问题,但是在正常时期不会有那么多那么流量,所以不可能一直留有那么资源,显然要耗资很多啊。这次新浪的做法也是暂时从阿里云服务器租借1000台,顶住了并发压力,几个小时后就归还了。和淘宝双11做法很像,只不过新浪微博这种并发是不可预测的,谁都...转载 2019-12-19 15:23:38 · 410 阅读 · 0 评论 -
微服务(Microservice)那点事
WHAT - 什么是微服务微服务简介这次参加JavaOne2015最大的困难就是听Microservice相关的session,无论内容多么水,只要题目带microservice,必定报不上名,可见Microservice有多火。最喜欢其中一页。关于这个典故,可以参考this,此图适用于一切高大上的名字——技术有SOA,Agile,CLOUD,DevOps等等,古代有道,气,八卦等等。此类名词...转载 2019-09-21 19:55:46 · 225 阅读 · 0 评论 -
从 Spring Cloud 看一个微服务框架的「五脏六腑」
Spring Cloud 是一个基于 Spring Boot 实现的微服务框架,它包含了实现微服务架构所需的各种组件。注:Spring Boot 简单理解就是简化 Spring 项目的搭建、配置、组合的框架。因为与构建微服务本身没有直接关系,所以本文不对 Spring Boot 进行展开。另外本文有一些例子涉及到 Spring 和 Spring Boot,建议先了解一下 Spring 和 Spr...转载 2019-09-21 19:58:23 · 103 阅读 · 0 评论 -
为什么Kubernetes天然适合微服务?
最近在反思,为什么在支撑容器平台和微服务的竞争中,Kubernetes会取得最终的胜出。因为在很多角度来讲三大容器平台从功能角度来说,最后简直是一摸一样,具体的比较可以参考本人前面的两篇文章。《Docker, Kubernetes, DCOS 不谈信仰谈技术》《容器平台选型的十大模式:Docker、DC/OS、K8S谁与当先?》经过一段时间的思索,并采访了从早期就开始实践Kubernetes...转载 2019-09-21 20:03:27 · 141 阅读 · 0 评论 -
分布式系统实践学习总结
##本文基于之前的分布式系统理论系列文章总结而成,本部分主要是实践内容,详细内容可见我的专栏:分布式系统理论与实践##https://blog.youkuaiyun.com/column/details/24090.html本文主要是按照我自己的理解以及参考之前文章综合而成的,其中可能会有一些错误,还请见谅,也请指出。分布式技术分布式数据和nosql分布式一般是指分布式部署的数据库。比如Hbase...原创 2019-09-21 20:09:54 · 479 阅读 · 0 评论 -
浅谈分布式消息技术 Kafka
Kafka的基本介绍Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务等等,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。主要应用场景是:日志收集系统和消息系统。Kafka主要设计目标如下:以时间复杂度为O(...转载 2019-09-22 10:45:39 · 135 阅读 · 0 评论 -
负载均衡原理的解析
开头先理解一下所谓的“均衡”不能狭义地理解为分配给所有实际服务器一样多的工作量,因为多台服务器的承载能力各不相同,这可能体现在硬件配置、网络带宽的差异,也可能因为某台服务器身兼多职,我们所说的“均衡”,也就是希望所有服务器都不要过载,并且能够最大程序地发挥作用。一、http重定向当http代理(比如浏览器)向web服务器请求某个URL后,web服务器可以通过http响应头信息中的Locati...转载 2019-09-22 19:54:38 · 153 阅读 · 0 评论 -
Nginx负载均衡与反向代理—《亿级流量网站架构核心技术》
本篇摘自《亿级流量网站架构核心技术》第二章 Nginx负载均衡与反向代理 部分内容。当我们的应用单实例不能支撑用户请求时,此时就需要扩容,从一台服务器扩容到两台、几十台、几百台。然而,用户访问时是通过如http://www.jd.com的方式访问,在请求时,浏览器首先会查询DNS服务器获取对应的IP,然后通过此IP访问对应的服务。因此,一种方式是www.jd.com域名映射多个IP,但是,存在...转载 2019-09-22 20:05:11 · 198 阅读 · 0 评论 -
浅析负载均衡及LVS实现
负载均衡(Load Balance,缩写LB)是一种网络技术,它在多个备选资源中做资源分配,以达到选择最优。这里有三个关键字:网络技术,LB要解决的问题本质上是网络的问题,所以它实际上就是通过修改数据包中MAC地址、IP地址字段来实现数据包的“中转”;资源,这里的资源不仅仅是计算机也可以是交换机、存储设备等;最优,它则是针对业务而言最优,所以一般负载均衡有很多算法;轮询、加权轮询、最小负载等...转载 2019-09-22 20:38:14 · 283 阅读 · 0 评论 -
Leaf——美团点评分布式ID生成系统
在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识。如在美团点评的金融、支付、餐饮、酒店、猫眼电影等产品的系统中,数据日渐增长,对数据分库分表后需要有一个唯一ID来标识一条数据或消息,数据库的自增ID显然不能满足需求;特别一点的如订单、骑手、优惠券也都需要有唯一ID做标识。此时一个能够生成全局唯一ID的系统是非常必要的。概括下来,那业务系统对ID号的要求有哪些呢?全局唯一性:不能出现重复...转载 2019-09-26 15:16:04 · 595 阅读 · 0 评论 -
分布式之数据库和缓存双写一致性方案解析
引言为什么写这篇文章?首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。image但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存。又或者是先删除缓存,再更新数据库,其实大家存在很大的争议。目前没有一篇全面的博客,对这几种方案进行解析。于是博主战战兢兢,顶着被大家喷的风险,写了这篇文章。文章结构...转载 2019-10-02 18:36:45 · 115 阅读 · 0 评论 -
详解布隆过滤器的原理、使用场景和注意事项
今天碰到个业务,他的 Redis 集群有个大 Value 用途是作为布隆过滤器,但沟通的时候被小怼了一下,意思大概是 “布隆过滤器原理都不懂,还要我优化?”。技术菜被人怼认了、怪不得别人,自己之前确实只是听说过这个,但是没深入了解过,趁这个机会补充一下知识。在进入正文之前,之前看到的有句话我觉得说得很好:Data structures are nothing different. They a...转载 2019-09-21 19:24:55 · 136 阅读 · 0 评论 -
秒杀架构设计
前言最近在部门内部分享了原来在电商业务做秒杀活动的整体思路,大家对这次分享反馈还不错,所以我就简单整理了一下,分享给大家参考参考业务介绍秒杀架构设计什么是秒杀?通俗一点讲就是网络商家为促销等目的组织的网上限时抢购活动比如说京东秒杀,就是一种定时定量秒杀,在规定的时间内,无论商品是否秒杀完毕,该场次的秒杀活动都会结束。这种秒杀,对时间不是特别严格,只要下手快点,秒中的概率还是比较大的。淘...转载 2019-09-20 12:42:42 · 178 阅读 · 0 评论 -
分布式系统理论进阶 - Paxos变种和优化
引言《分布式系统理论进阶 - Paxos》中我们了解了Basic Paxos、Multi Paxos的基本原理,但如果想把Paxos应用于工程实践,了解基本原理还不够。有很多基于Paxos的优化,在保证一致性协议正确(safety)的前提下,减少Paxos决议通信步骤、避免单点故障、实现节点负载均衡,从而降低时延、增加吞吐量、提升可用性,下面我们就来了解这些Paxos变种。Multi Pax...原创 2019-09-15 18:35:37 · 144 阅读 · 0 评论 -
分布式系统理论进阶 - Raft、Zab
https://www.cnblogs.com/bangerlee/p/5991417.html引言《分布式系统理论进阶 - Paxos》介绍了一致性协议Paxos,今天我们来学习另外两个常见的一致性协议——Raft和Zab。通过与Paxos对比,了解Raft和Zab的核心思想、加深对一致性协议的认识。RaftPaxos偏向于理论、对如何应用到工程实践提及较少。理解的难度加上现实的骨感,在...转载 2019-09-15 18:33:02 · 110 阅读 · 0 评论 -
分布式系统理论进阶 - Paxos
https://www.cnblogs.com/bangerlee/p/5655754.html引言《分布式系统理论基础 - 一致性、2PC和3PC》一文介绍了一致性、达成一致性需要面临的各种问题以及2PC、3PC模型,Paxos协议在节点宕机恢复、消息无序或丢失、网络分化的场景下能保证决议的一致性,是被讨论最广泛的一致性协议。Paxos协议同时又以其“艰深晦涩”著称,下面结合 Paxos ...转载 2019-09-15 18:30:40 · 102 阅读 · 0 评论 -
分布式系统理论基础 - CAP
https://www.cnblogs.com/bangerlee/p/5328888.htmlCAP是分布式系统、特别是分布式存储领域中被讨论最多的理论,“什么是CAP定理?”在Quora 分布式系统分类下排名 FAQ 的 No.1。CAP在程序员中也有较广的普及,它不仅仅是“C、A、P不能同时满足,最多只能3选2”,以下尝试综合各方观点,从发展历史、工程实践等角度讲述CAP理论。希望大家透过...原创 2019-09-15 18:29:58 · 167 阅读 · 0 评论 -
分布式系统理论基础 - 时间、时钟和事件顺序
十六号…… 四月十六号。一九六零年四月十六号下午三点之前的一分钟你和我在一起,因为你我会记住这一分钟。从现在开始我们就是一分钟的朋友,这是事实,你改变不了,因为已经过去了。我明天会再来。—— 《阿飞正传》现实生活中时间是很重要的概念,时间可以记录事情发生的时刻、比较事情发生的先后顺序。分布式系统的一些场景也需要记录和比较不同节点间事件发生的顺序,但不同于日常生活使用物理时钟记录时间,分布式系...转载 2019-09-15 18:27:32 · 187 阅读 · 0 评论 -
分布式系统理论基础 - 选举、多数派和租约
选举(election)是分布式系统实践中常见的问题,通过打破节点间的对等关系,选得的leader(或叫master、coordinator)有助于实现事务原子性、提升决议效率。 多数派(quorum)的思路帮助我们在网络分化的情况下达成决议一致性,在leader选举的场景下帮助我们选出唯一leader。租约(lease)在一定期限内给予节点特定权利,也可以用于实现leader选举。下面我们就来...转载 2019-09-15 18:24:42 · 138 阅读 · 0 评论 -
分布式系统理论基础 - 一致性、2PC和3PC
引言狭义的分布式系统指由网络连接的计算机系统,每个节点独立地承担计算或存储任务,节点间通过网络协同工作。广义的分布式系统是一个相对的概念,正如Leslie Lamport所说[1]:What is a distributed systeme. Distribution is in the eye of the beholder.To the user sitting at the keybo...转载 2019-09-15 18:23:14 · 128 阅读 · 0 评论 -
分布式系统理论 - 从放弃到入门
随承载用户数量的增加和容灾的需要,越来越多互联网后台系统从单机模式切换到分布式集群。回顾自己毕业五年来的工作内容,同样有这样的转变。毕业头两年负责维护运行在刀片机上的业务,在机房里拔插单板的日子是我逝去的青春。设备之间通过VCS组成冷备,但即使有双机软件保护,宕机、网络丢包等问题发生时业务仍会受影响。这样的系统架构下为保证SLA,有时候需要深入Linux系统内核或硬件层面分析机器重启的原因。接...转载 2019-09-15 18:22:19 · 94 阅读 · 0 评论 -
分布式服务协调员zookeeper - 应用场景和监控
https://www.cnblogs.com/bangerlee/p/4427331.htmlzookeeper在分布式系统中作为协调员的角色,可应用于Leader选举、分布式锁、配置管理等服务的实现。以下我们从zookeeper提供的API、应用场景和监控三方面学习和了解zookeeper(以下简称ZK)。ZK APIZK以Unix文件系统树结构的形式管理存储的数据,图示如下:其中每个...转载 2019-09-15 18:42:06 · 127 阅读 · 0 评论 -
分布式锁的几种实现方式
@分布式锁的几种实现方式TOC欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的...转载 2019-08-21 15:44:39 · 94 阅读 · 0 评论 -
松然聊技术-浅谈分布式事务
浅谈分布式事务您目前处于:编程 2017年07月21日分布式松然聊技术一只神秘的程序猿。现今互联网界,分布式系统和微服务架构盛行。一个简单操作,在服务端非常可能是由多个服务和数据库实例协同完成的。在一致性要求较高的场景下,多个独立操作之间的一致性问题显得格外棘手。基于水平扩容能力和成本考虑,传统的强一致的解决方案(e.g.单机事务)纷纷被抛弃。其理论依据就是响当当的CAP原理。往往为了...转载 2019-09-19 10:22:56 · 139 阅读 · 0 评论 -
缓存更新的套路
缓存更新的套路看到好些人在写更新缓存数据代码时,先删除缓存,然后再更新数据库,而后续的操作会把数据再装载的缓存中。然而,这个是逻辑是错误的。试想,两个并发操作,一个是更新操作,另一个是查询操作,更新操作删除缓存后,查询操作没有命中缓存,先把老数据读出来后放到缓存中,然后更新操作更新了数据库。于是,在缓存中的数据还是老的数据,导致缓存中的数据是脏的,而且还一直这样脏下去了。我不知道为什么这么多人...原创 2019-09-18 19:27:23 · 90 阅读 · 0 评论 -
分布式技术——缓存算法
引言我们都听过 cache,当你问他们是什么是缓存的时候,他们会给你一个完美的答案,可是他们不知道缓存是怎么构建的,或者没有告诉你应该采用什么标准去选择缓存框架。在这边文章,我们会去讨论缓存,缓存算法,缓存框架以及哪个缓存框架会更好。面试“缓存就是存贮数据(使用频繁的数据)的临时地方,因为取原始数据的代价太大了,所以我可以取得快一些。”这就是 programmer one (program...原创 2019-09-18 18:32:11 · 244 阅读 · 0 评论 -
分布式ID生成器与CAS在分布式ID生成方案上的应用
分布式ID生成器一、需求缘起几乎所有的业务系统,都有生成一个唯一记录标识的需求,例如:消息标识:message-id订单标识:order-id帖子标识:tiezi-id这个记录标识往往就是数据库中的主键,数据库上会建立聚集索引(cluster index),即在物理存储上以这个字段排序。这个记录标识上的查询,往往又有分页或者排序的业务需求,例如:拉取最新的一页消息select m...原创 2019-09-18 18:25:02 · 364 阅读 · 0 评论 -
分布式session方案与一致性Hash算法
https://mp.weixin.qq.com/s?__biz=MjM5ODYxMDA5OQ==&mid=2651960128&idx=1&sn=8e0e409b10ab9db549432af461385314&chksm=bd2d069c8a5a8f8ab5cdee602d4062bbdbb25da290668515d36682afa854e374d2a5ff0...原创 2019-09-18 18:20:02 · 544 阅读 · 0 评论 -
分布式架构实践——负载均衡
分布式架构实践——负载均衡也许当我老了,也一样写代码;不为别的,只为了爱好。1 什么是负载均衡(Load balancing)在网站创立初期,我们一般都使用单台机器对台提供集中式服务,但是随着业务量越来越大,无论是性能上还是稳定性上都有了更大的挑战。这时候我们就会想到通过扩容的方式来提供更好的服务。我们一般会把多台机器组成一个集群对外提供服务。然而,我们的网站对外提供的访问入口都是一个的,比...转载 2019-09-18 14:33:51 · 403 阅读 · 0 评论 -
码农翻身:负载均衡的原理
这是1998年一个普通的上午。一上班,老板就把张大胖叫进了办公室,一边舒服地喝茶一边发难:“大胖啊,我们公司开发的这个网站,现在怎么越来越慢了? ”还好张大胖也注意到了这个问题,他早有准备,一脸无奈地说: “唉,我昨天检查了一下系统,现在的访问量已经越来越大了,无论是CPU,还是硬盘、内存都不堪重负了,高峰期的响应速度越来越慢。”顿了一下,他试探地问道:“老板,能不能买个好机器? 把现在的‘...转载 2019-09-18 14:28:35 · 295 阅读 · 0 评论 -
浅谈分布式锁
张岩张岩,2016年加入京东,熟悉大型分布式系统设计及开发,有丰富的web开发实战经验,对spring等开源框架有源码级了解,目前主要负责京麦插件市场及交易平台的研发工作。前言随着互联网技术的不断发展,数据量的不断增加,业务逻辑日趋复杂,在这种背景下,传统的集中式系统已经无法满足我们的业务需求,分布式系统被应用在更多的场景,而在分布式系统中访问共享资源就需要一种互斥机制,来防止彼此之间的互相...转载 2019-09-18 09:33:53 · 131 阅读 · 0 评论 -
一次失败的面试,复习一次一致性哈希算法
本文故事绝对真实,如有雷同,绝对不是巧合!话说前几天有一次,某大厂的二面。然后呢,烟哥那天刚好有事,所以去不了。于是就约了一场视频面试了!于是呢,烟哥提前十分钟在公司里头找了一个厕所的坑位,然后进去随手一锁门….(以下省略10000字)…唉…我竟然…我竟然…我竟然又带薪上厕所了,而且上了一小时!我有罪!额,是这样的,大厂的厕所是有雅间的。所以环境还马马虎虎,鼻子还是正常的!OK,交...转载 2019-09-03 18:44:13 · 468 阅读 · 0 评论