
分布式
文章平均质量分 87
东境物语
欢迎访问!!!
展开
-
分布式系统的SLA如何定义
SLA(Service-Level Agreement)服务等级协议,是指系统服务提供者(Provider)对客户(Customer)的一个可量化的服务承诺,常见于大型分布式系统中,用于衡量系统服务是否稳定健康的常见方法。原创 2022-10-18 20:15:00 · 2991 阅读 · 1 评论 -
Raft协议是如何实现数据一致性的
Raft协议是一种强一致性、去中心化、高可用的分布式协议,它是用来解决分布式一致性问题的,相对于大名鼎鼎的Paxos协议,Raft协议更容易理解,并且在性能、可靠性、可用性方面是不输于Paxos协议的。许多中间件都是利用Raft协议来保证分布式一致性的,例如Redis的sentinel,CP模式的Nacos的leader选举都是通过Raft协议来实现的。今天就和大家一起探讨一下Raft协议的实现原理。原创 2022-09-29 18:38:06 · 2140 阅读 · 0 评论 -
Seata 分布式事务实践和开源详解
本文整理自蚂蚁金服技术专家、分布式事务 Seata 发起者之一张森(花名:绍辉)在GIAC全球互联网架构大会的分享。详细讲解了在分布式架构演进中,蚂蚁金服面对的跨服务、跨数据库的业务数据一致性问题以及应对措施,并分享了分布式事务 Seata 的 AT、TCC、Saga 和 XA 四种模式。Seata:https://github.com/seata/seata一、自研分布式事务解决数据一致性问题1.1 分布式事务问题产生原因1.1.1 数据库的水平拆分蚂蚁金服的业务数据库起初是单库单..原创 2020-09-02 18:23:20 · 1030 阅读 · 0 评论 -
全链路监控(一):方案概述与比较
0 问题背景随着微服务架构的流行,服务按照不同的维度进行拆分,一次请求往往需要涉及到多个服务。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台服务器,横跨多个不同的数据中心。因此,就需要一些可以帮助理解系统行为、用于分析性能问题的工具,以便发生故障的时候,能够快速定位和解决问题。全链路监控组件就在这样的问题背景下产...原创 2019-12-11 20:08:22 · 1294 阅读 · 0 评论 -
阿里巴巴混沌测试工具ChaosBlade
ChaosBlade 是什么?ChaosBlade 是一款遵循混沌工程实验原理,提供丰富故障场景实现,帮助分布式系统提升容错性和可恢复性的混沌工程工具,可实现底层故障的注入,特点是操作简洁、无侵入、扩展性强。(git地址:https://github.com/chaosblade-io/chaosblade)ChaosBlade 基于 Apache License v2.0 开源协议,目前...转载 2019-09-11 16:55:17 · 8911 阅读 · 0 评论 -
AI时代的全链路监控(阿里)
全链路监控从业务的视角出发,监控整个业务流程的健康状况,无需多个系统切换,直观看到全局和上下游,方便快速发现、定位问题。今天,我们一起来看看阿里基础设施技术团队在这方面的实践经验。背景近年来,随着阿里新业务、新技术的快速发展,传统的业务总量“监控大盘”已经越来越不能满足监控需求,主要表现在以下几个方面:缺乏全局视角:“监控大盘”主要反映的是单个业务或应用的运行状态,缺少全局的业务视角能...原创 2019-09-11 18:01:30 · 1704 阅读 · 1 评论 -
使用Prometheus+Grafana搭建监控系统(一)
1.前言在线上业务中经常遇到服务器负载过高问题,由于没有监控,一直没发现,直到业务方反馈网站打开速度慢,才能发现问题。这样显得开发很被动。因那次考虑研究搭建一套监控系统了。本身对于spring boot应用,可以使用spring boot admin进行监控,但是发现不够全面,调研了一段时间,发现Prometheus+Grafana还是可以监控,如下是系统流程图。image....原创 2019-09-06 17:32:48 · 617 阅读 · 1 评论 -
分布式环境下定时任务单点运行
场景提供接口服务的API负载均衡在了7台机器上,要保证定时任务只在一台机器上跑,因为有些定时任务不能同时进行,并且多台机器同时执行定时任务也浪费资源,下面来讲讲如何实现定时任务单点运行。方案一:根据机器的IP来限制因为部署服务的7台机器ip是已知的,那么就可以通过ip来限制哪台机器上的应用可以跑定时任务,获取本服务器或者客户端ip方法,请移步至: Java获取客户端、本机IP @...原创 2019-08-06 10:02:23 · 963 阅读 · 1 评论 -
ZooKeeper会话超时(dubbo自动剔除坏节点原理)
dubbo的provider结点如果挂了,自动剔除原理:zk的临时节点,会话保持原理。在ZK中,很多数据和状态都是和会话绑定的,一旦会话失效,那么ZK就开始清除和这个会话有关的信息,包括这个会话创建的临时节点和注册的所有Watcher。1、会话概述在ZooKeeper中,客户端和服务端建立连接后,会话随之建立,生成一个全局唯一的会话ID(Session ID)。服务器和客户端之间维持的...原创 2019-06-21 18:17:18 · 6797 阅读 · 1 评论 -
eureka和zookeeper的区别
作为服务注册中心,Eureka比Zookeeper好在哪里著名的CAP理论指出,一个分布式系统不可能同时满足C(一致性)、A(可用性)和P(分区容错性)。由于分区容错性在是分布式系统中必须要保证的,因此我们只能在A和C之间进行权衡。在此Zookeeper保证的是CP, 而Eureka则是AP。4.1 Zookeeper保证CP当向注册中心查询服务列表时,我们可以容忍注册中心返回的是几分...原创 2019-06-21 15:55:21 · 176 阅读 · 0 评论 -
分布式事务的四种解决方案
简述分布式事务指事务的操作位于不同的节点上,需要保证事务的 AICD 特性。例如在下单场景下,库存和订单如果不在同一个节点上,就涉及分布式事务。解决方案在分布式系统中,要实现分布式事务,无外乎那几种解决方案。一、两阶段提交(2PC)两阶段提交(Two-phase Commit,2PC),通过引入协调者(Coordinator)来协调参与者的行为,并最终决定这些参与者是否要真...原创 2019-06-05 16:20:58 · 1684 阅读 · 2 评论 -
分布式事物--本地消息表
本地消息表这种实现方式的思路,其实是源于 ebay,后来通过支付宝等公司的布道,在业内广泛使用。其基本的设计思想是将远程分布式事务拆分成一系列的本地事务。如果不考虑性能及设计优雅,借助关系型数据库中的表即可实现。举个经典的跨行转账的例子来描述。第一步伪代码如下,扣款 1W,通过本地事务保证了凭证消息插入到消息表中。第二步,通知对方银行账户上加 1W 了。那问题来了,如何通知到对...原创 2019-05-27 20:55:06 · 3678 阅读 · 0 评论 -
分布式事务--本地消息表(定时轮询扫描)
场景如下:订单系统收到第三方支付平台支付成功的通知后,需要进行1:更新订单的状态为已支付2:扣减商品库存订单库:订单表order:orderID、userID、status商品库:商品库存表productStock:productStockID、productID、stock出库单outStockBill:outStockBillID、orderID、stock正常...原创 2019-05-27 20:31:04 · 2157 阅读 · 0 评论 -
zookeeper安装教程
zookeeper有单机、伪集群、集群三种部署方式,可根据自己对可靠性的需求选择合适的部署方式。下边对这三种部署方式逐一进行讲解。一、单机安装1.1 下载进入要下载的版本的目录,选择.tar.gz文件下载下载链接:http://mirror.bit.edu.cn/apache/zookeeper/1.2 安装使用tar解压要安装的目录即可,以3.4.5版本为例这里以解压...原创 2019-01-30 17:58:22 · 1022 阅读 · 0 评论