分布式
文章平均质量分 76
个人渣记录仅为自己搜索用
不盈利,只为分享,转载.
找到的原版url的,尽量会贴原版url.
如有版权侵犯,请留言删除.
展开
-
阿里技术专家甘盘:浅谈双十一背后的支付宝LDC架构和其CAP分析(含phil补充)
转自:https://blog.csdn.net/itfly8/article/details/111027014简介:汤波(甘盘),男,1989/02/21,硕士学历。高中开始编程,热爱技术,深信技术让世界更美好。对前沿技术一直保持饥饿感,热衷于创新和革新,让系统体制更为高效和人性化,也深知一个人强走的快,一个团体强才能走的远。在技术团队建设(团队招聘和组建、梯队梯度建设)、技术栈管理(包含技术选型、技术规范建设、软件体系规划)和项目研发管理(软件工程管理、开发效能和质量管理)方面有着较为丰富的实..转载 2021-03-01 15:56:17 · 1869 阅读 · 0 评论 -
经过线上实战的redis 分布式锁与zookeeper分布式锁区别
经过线上实战的redis 分布式锁代码。 能用,但是性能较差。已考虑: 1.只能被拥有锁的线程解锁 2. 设置节点和超时时间用同一个key未考虑:1. 不能重入2. 没有本地锁,并发性能会比较差,不使用用在并发争锁较多的场景下。本地锁非自旋3. 未考虑锁等待排序. 这个是redis很难实现的. 可以通过redis原创 2016-03-18 13:57:46 · 12506 阅读 · 3 评论 -
gRPC服务发现&负载均衡 本身是单机的非分布式,需要简单开发
原文: gRPC服务发现&负载均衡构建高可用、高性能的通信服务,通常采用服务注册与发现、负载均衡和容错处理等机制实现。根据负载均衡实现所在的位置不同,通常可分为以下三种解决方案:1、集中式LB(Proxy Model)在服务消费者和服务提供者之间有一个独立的LB,通常是专门的硬件设备如 F5,或者基于软件如 LVS,HAproxy等实现。LB上有所有服务的地址映射表,通常由转载 2018-01-23 21:42:46 · 762 阅读 · 0 评论 -
从 lvs 角度再来谈tcp 连接状态
lvs 未解之谜-如何知道连接状态tcp 连接: 两个 ip+两个端口.lvs 会自动断开连接. 本质上是不维护 连接 map.dr 模式: client 断开连接, lvs 等待到耗时结束. 但这样的问题是短连接很多的话,map 会非常的多.1. http://www.austintek.com/LVS/LVS-HOWTO/HOWTO/LVS-HOWTO.LVS-N原创 2018-01-19 19:19:58 · 1456 阅读 · 1 评论 -
lvs 未解之谜-如何知道连接状态
lvs dr 模式,三次握手建连,realServer 的 ack 直接返回给 client. lvs 中如何维护这个连接的状态?ipvsadm -Lcn 1. client 建连的第一个 sync 包到达 director, 然后放入到 hashTable, 然后转发给realServer ,server 发送 ack 和 sync. 此时 server 的 tcp 状态是原创 2018-01-19 19:02:00 · 1069 阅读 · 0 评论 -
安全生产 - 稳定性建设的方法论 架构师应该做什么? []
故障原因印象流.1. 代码改动的发布 bug2. 下游依赖 bug.(软件,硬件)3. 稳定性雪崩 3.1下游慢等性能问题导致的雪崩 3.2 mysql 慢查等索引性能问题导致的雪崩.4.本业务机器故障.5. 大促等流量激增导致的雪崩6. 机房迁移.如何避免上述问题? 体感报警,体感监控体系问题定位2/5/15稳定性 问题定位......原创 2018-02-09 18:21:07 · 2135 阅读 · 1 评论 -
Consul etcd zookeeper euerka比较
官方提供web管理界面, etcd 无此功能.综合比较, Consul 作为服务注册和配置管理的新星, 比较值得关注和研究.目前业内有很多这种产品:zookeeper、etcd、consul,三者各有各的特点。这里就不一一说明三者的优缺,仅仅分析consul的优势1.封装了服务发现的api,开发调用非常简单2.提供了健康检查功能3.使用了raft算法保证了一致性,比复杂原创 2018-02-07 11:32:13 · 11805 阅读 · 1 评论 -
从Zipkin到Jaeger,Uber的分布式追踪之道tchannel
uber 的 tchannel 的模式是更优雅的实现模式从Zipkin到Jaeger,Uber的分布式追踪之道 2017-03-10 08:37 操作系统 ...翻译 2018-03-06 02:12:33 · 6132 阅读 · 0 评论 -
一次http core异常排查记录
1.https://stackoverflow.com/questions/35350376/java-lang-illegalstateexception-request-cannot-be-executed-i-o-reactor-status?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_ri...转载 2018-05-02 22:19:51 · 438 阅读 · 0 评论 -
流量回放 测试
1. 调用链路被变更后? 回放失败,如何避免error日志打印. 导致error日志过多? 上下文,哪怕流量录制没有录制下来, 那就从读的时候去mock,设置一个子调用.内部调用和外部调用都可以mock和回放从内存ThreadLocal中调用. 子调用,外部依赖调用的mock.优点: 数据不会脏乱.缺点:调用链路变更....原创 2018-12-28 15:36:03 · 3280 阅读 · 0 评论 -
分布式自增 id 的高阶
1. 雪花算法的致命问题是什么 时间倒退2. docker 中无法配置硬件 id3.同一秒并发太多.解决方案: 2. work 值每次重启的时候增加. %2^xxx 1. 如果时间倒退那么就增加 worker值.[ phil 自创 ] 或者 记录上一次时间,时间倒退直接抛错. 传统解决方案,百度也是. 3原创 2017-09-23 00:06:02 · 1621 阅读 · 1 评论 -
分布式数据一致性算法paxos解析及几个问题,收敛(含参考文献)
paxos分布式算法的几个问题.关键字,选举投票.1.为什么要有两阶段提交?2.怎么证明当咨询者知道半数的人认可某观点后,就可以认为该观点就是最终观点,不会被后面的人改变?答案:1. 为什么要有两阶段提交? 提交提案的人和决定者分开时. 可能有新的提案者会冒出来. 那么他需要先问下决定者是不是已经有观点了. 当超过半数都是同一个观点时他就不需原创 2016-08-22 11:36:08 · 2330 阅读 · 1 评论 -
业务系统上下游数据一致性检测系统(类似对账系统)
DBCC(Database Consistenecy Checker)命令原创 2016-12-01 15:12:16 · 2616 阅读 · 1 评论 -
heartbeat(尽量保持唯一性存储)和keepalived (尽量保持可用)区别
http://www.formilux.org/archives/haproxy/1003/3259.html无论如何,我想说,我对使用心跳获得冗余的haproxy设置的人数感到惊讶。它不是* this *工作的最佳工具,它被设计为构建集群,这与拥有两个冗余无状态网络设备有很大的不同。面向网络的工具(如keepalived或ucarp)是最适合该任务的工具。这两个家庭之间的区别很简单:诸如心跳之类的翻译 2017-05-19 00:29:53 · 1849 阅读 · 0 评论 -
数据中心 FailOver 后避免数据错乱的关键做法
多活: 是否知道对方.HA 备份: 不知道,有双写的可能,导致数据错乱. heart beate ,keep alive更倾向于保多活.ZK 备份: 知道,下线后重新上线时同步数据时阻塞客户端请求.并没有将数据分块,分行.阻塞所有数据写.可改进点.Mysql group replication :原创 2017-05-31 15:05:11 · 334 阅读 · 0 评论 -
cap解释
分布式系统的CAP理论:理论首先把分布式系统中的三个特性进行了如下归纳:● 一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本)● 可用性(A):在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。(对数据更新具备高可用性)● 分区容忍性(P):以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据原创 2016-04-12 16:42:49 · 639 阅读 · 0 评论 -
好的 分布式系统(微服务) result 设计 rpcResult httpResult 设计
好的 分布式系统(微服务) result 设计 rpcResult httpResult 设计private int code = -1;private String msg;private T data;但这个问题有个严重的问题.1. 分布式系统内部系统很多. 你都不知道这个 code 来自于哪个系统.2. 中间层系统可能将下游系统的 code 封装屏蔽掉了原创 2017-07-17 17:28:22 · 2290 阅读 · 0 评论 -
redis 实现 curator 分布式锁
pom 依赖dependency> groupId>org.apache.curatorgroupId> artifactId>curator-examplesartifactId> version>${curator-version}version>dependency>分布式锁: 利用了 1. temp 节点,2.和childNode原创 2017-05-11 21:35:39 · 556 阅读 · 0 评论 -
HA切换问题: 选主+(切换虚拟ip,启动其他服务 或者 开始调用下游) 无法操作另外一个挂掉的主的情况,脑裂问题
cap p 肯定,选择 A 就会导致又一致性问题. 同时,讲究 A,多备份的前提下. 在主备切换的时候就会导致脑裂问题. 主备切换的技术有 两个问题:主是提供别人调用,还是调用别人? 如果调用别人,可能重复掉.如果别人调用,可能调用错. arp 也可能失败,导致脑裂.主是否还需要将后续数据通知从决定? 如果是,即使主脑裂,也不影响数据. DBproxy 的写库如何决定? 1.proxy原创 2017-05-19 00:10:31 · 1139 阅读 · 0 评论 -
mysql cluster ndb 核心参数介绍(理解 ndb,先从使用开始,也透露出了实现) 脑裂相关
详见 mysql 官方用户问题,如何配置数据节点 id: nodegroup: NoOfNodes: HeartbeatIntervalDbDb: 5000 HeartbeatIntervalDbApi: 5000数据分布(摘自 谭俊青 2010 数据库大会 ): 分区问题查询慢的原因(mongdb 也会有类似的问题,分区导致要跨节点查询):: That is because such转载 2017-05-22 21:59:57 · 1445 阅读 · 0 评论 -
分布式系统中的几种数据备份模式. 数据可靠性(基本,),数据一致性(脑裂问题,高可靠性容灾性),数据可用性(数据拆分,读写分离),系统扩展性.
分布式: 两个维度. 同一份数据 N 个备份. CAP 同一份数据拆成 N 块. 提高整体并发极限. 大并发,大数据 读写分离:读 salve 库,改到 master 库,压力还是太大怎么办? 1.半同步? 2.全同步? 3.不要从同步维度思考,使用 master-master 模式.(从master 转移角度思考.将一部分数据的 maste转载 2017-05-22 20:49:37 · 1590 阅读 · 0 评论 -
从btree的角度来说说为什么插入频繁的mysql innodb表必须要自增id 必须自增id
从btree的角度来说说为什么插入频繁的mysql innodb表必须要自增id必须自增id, 外界分布式自增id也不能作为priKey1. innodb 是聚集索引 ,PRY Key和数据作为叶子节点2. btree 的插入拆分中,当发现新增的id 处于 右节点和左节点中间时,或者左节点+无穷节点中间时. 单纯地增加一个页,而不会进行页拆分和数据迁移.原创 2017-11-10 01:30:21 · 857 阅读 · 0 评论 -
在mac的 IntelliJ IDEA 中定制开发 ZooKeeper
1. 找不到 ivy is not available2. /Users/loufei/IdeaProjects/github/zookeeper/build.xml:1260: Execute failed: java.io.IOException: Cannot run program "autoreconf" (in directory "/Users/loufei/Idea原创 2016-10-29 11:52:46 · 3202 阅读 · 0 评论