随笔分类 - Distributed system develop
摘要:前言 当我们需要分布式系统提供更强的性能时,该怎样扩展系统呢?什么时候该加机器?什么时候该重构代码?扩容时,究竟该选择哈希算法还是最小连接数算法,才能有效提升性能?在面对 Scalability 可伸缩性问题时,我们必须有一个系统的方法论,才能应对日益复杂的分布式系统。这一讲我将介绍 AKF 立方体
阅读全文
摘要:前言 分布式系统保障接口级高可用的几种常见方式:限流、熔断、降级。 Hystrix是Netflix开源的一个Java框架,提供了保障接口级高可用相关的各种各样的功能。 Hystrix初览 Hystrix官网对该框架能解决的核心问题已经做了概述,我这里再引用官方的几张图片来讲一讲: 首先,复杂分布式系
阅读全文
摘要:原文链接 参考书籍:《分布式原理》 链接:https://pan.baidu.com/s/1DrSwxnBKZzSqoyiqXu_OJw 密码:rz2t 更多书籍:《Designing Data-Intensive Application》DDIA中文翻译 1 概念 1.1 模型 1.2 副本 1.
阅读全文
摘要:本文来自:Segmentfault 感谢作者:CodeKiller 查看原文:一致性哈希算法 CARP 原理解析, 附 Golang 实现 在后端服务开发的过程中, 遇到了这样一个问题: 需要在 mysql 前面部署 redis 做一层缓存, 要求 redis 是集群部署, 并且每台 redis 节
阅读全文
摘要:目录 1、数据分布 2、哈希方式 3、一致性哈希方式 笔记来自分布式原理一书,供个人学习。 数据分布 单机系统与分布式系统的最大的区别在于问题的规模,即计算、存储的数据量的区别。将一个单机问题使用分布式解决,首先要解决的就是如何将问题拆解为可以使用多机分布式解决,使得分布式系统中的每台机器负责原问题
阅读全文
摘要:在单机系统中,不存在Session共享问题,但是在分布式系统中,我们必须实现session共享机制,使得多台应用服务器之间会话统一,如果不进行Session共享会出现数据不一致,比如:会导致请求落到不同服务器要重复登录的情况。 解决方案 1.session复制原理:任何一个服务器上的session发
阅读全文
摘要:原文链接:MyCAT详解 作者:Rangle 一、MyCAT概述MyCAT是一款由阿里Cobar演变而来的用于支持数据库读写分离、分片的分布式中间件。MyCAT可不但支持Oracle、MSSQL、MYSQL、PG、DB2关系型数据库,同时也支持MongoDB等非关系型数据库。基础架构如下: 1、My
阅读全文
摘要:前言 在互联网的业务系统中,涉及到各种各样的ID,如在支付系统中就会有支付ID、退款ID等。 那一般生成ID都有哪些解决方案呢?特别是在复杂的分布式系统业务场景中,我们应该采用哪种适合自己的解决方案是十分重要的。下面我们一一来列举一下,不一定全部适合,这些解决方案仅供你参考,或许对你有用。 在互联网
阅读全文
摘要:对象存储 基本概念 主流存储类型分为三种:块存储、文件存储以及对象存储 NAS(文件存储):Network Attached storage,提供了存储功能和文件系统的网络服务器,客户端可以访问NAS上的文件系统,还可以上传和下载文件,使用协议:SMB、NFS以及AFS等网络文件系统协议,对于客户端
阅读全文