一、分布式ID简介 1、什么是分布式ID? 在我们业务数据量不大的时候,单库单表完全可以支撑现有业务,数据再大一点搞个MySQL主从同步读写分离也能对付。 但随着数据日渐增长,主从同步也扛不住了,就需要对数据库进行分库分表,但分库分表后需要有一个唯一ID来标识一条数据,数据库的自增ID显然不能满足需求;例如我们的订单,需要有一个全局唯一标识的订单号,这个订单号就是分布式ID 2、分布式ID需要满足...

现如今,基本上所有公司都由单体架构转向了微服务等分布式架构,使用分布式系统,分布式事务的问题肯定不可避免。通常比较常见的分布式事务的实现主要有以下几种方案: 2PC(两阶段提交)方案 TCC (Try-Confirm-Cancel)方案 可靠消息最终一致性方案 尽最大努力通知方案 下面对每一种解决方案做一个简要的概述: 【a】2PC两阶段提交方案 两个阶段主要做的工作如下: 第一阶段:为资源上锁,...

因为是在单机环境下模拟集群环境,所以需要用不同端口来模拟不同主机。 搭建集群前,我们先来了解Zookeeper集群的角色; 文章目录 一、集群的角色 二、为什么要有Observer 三、Zookeeper中的CAP 四、集群环境搭建 (一)复制配置文件 (二)创建数据以及日志文件目录 (三)创建myid文件 (四)修改配置文件 (五)启动集群 (六)验证 (七)排坑 五、Zookeeper能做什么...

深入了解分布式 分布式事务 分布式事务概念 分布式事务产生的原因 事务的ACID特性 分布式理论 CAP理论 BASE理论 分布式事务的应用场景 常见的分布式事务解决方案 两阶段提交 TCC编程模式 TCC开源框架-tcc-transaction TCC使用关键技术分析 分布式项目使用tcc-transaction框架 发布服务 调用服务 LCN解决方案 参考链接 分布式事务 分布式事务概念 分布...

本文总结一下在Linux上Zookeeper的安装和配置 安装 在zookeeper官网上推荐的清华镜像地址下载对应版本的zk安装包,以最新版本3.5.6举例,这里记住要下载带-bin的包 如果下载不带-bin的包,启动zk时可能会报错Starting zookeeper … FAILED TO START 查看日志会看到如下错误 配置 解压,进入conf目录拷贝配置文件 默认端口2...

其他网址 4种分布式session解决方案_Java_断橋殘雪的博客-CSDN博客 简介 cookie和session的区别和联系         cookie是本地客户端用来存储少量数据信息的,保存在客户端,用户能够很容易的获取,安全性不高,存储的数据量小。         session是服务器用来存储部分数据信息...

Raft Leader选举实现 设定集群中有5个节点,通过Raft算法实现选主。节点之间的通信使用的是自我实现的Remoting组件,基于Netty开发,可以以同步,异步的方式发起通信。在后续《分布式通信》系列的文章中,会向大家详细分析Remoting组件。   分布式选举的项目名称:justin-distribute-election 整体结构如图:   主要Package说...

ZooKeeper基础

分布式  分布式  zookeeper

  

2020-05-09 02:35:58

ZooKeeper 索引: ZooKeeper基础 安装 zkCli使用 ZooKeeper架构 服务监控 Observer实现跨区域部署 一 、ZooKeeper基础 a. 典型应用场景: 配置管理(configuration management) DNS 服务 组成员管理(group membership) 各种分布式锁 ZooKeeper 适用于存储和协同相关的关键数据,不适合用于大数据量...

SpringCloud-Hystrix

分布式系统  分布式

  

2020-05-19 12:26:34

hystrix hystrix工作原理 1.Hystrix pom 采用的是消费端去调用服务端(注册中心eureka): openfeign pom: 回调类: controller: 服务降级 设置服务提供方的超时兜底方法 配置 超时的兜底方法paymentInfo_TimeOutHandler: 只要是服务不可用了超时或者抛出异常都可以调用兜底方法 主启动类激活熔断功能: 测试: 消费方降级保...

分布式事务解决方案

分布式  分布式

  

2020-05-21 22:32:45

分布式一致性协议 XA接口 XA规范主要定义了(全局)事务管理器(Transaction Manager)和(局部)资源管理器(Resource Manager)之间的接口。事务管理器控制着全局事务,管理事务生命周期,并协调资源。资源管理器负责控制和管理实际资源(如数据库或JMS队列) JTA规范 作为java平台上事务规范JTA(Java Transaction API)也定义了对XA事务的支持...

1)安装 第一步:下载:https://github.com/seata/seata/releases 第二步:解压 seata-server-0.9.0 第三步:运行bin下的seata-server.bat 2)涉及到分布式事务的数据库添加表 seata需要用到额外的一张数据库表,在需要分布式事务的数据库中执行如下sql创建表即可: 核心在于对业务sql进行解析,转换成undolog,所以只要...

何为一致性Hash算法

分布式  分布式  算法

  

2020-05-31 20:09:32

一致性哈希算法(Consistent Hashing)最早在论文《Consistent Hashing and Random Trees: Distributed Caching Protocols for Relieving Hot Spots on the World Wide Web》中被提出。 基本原理 一致性Hash算法是对232取模,什么意思呢?简单来说,一致性Hash算法将整个哈希值...

分布式之Eureka

分布式  分布式  eureka

  

2020-06-10 07:18:19

1、微服务架构的介绍 1.1 微服务的提出 在2014年马丁福勒提出了微服务架构的设计理念 https://martinfowler.com/articles/microservices.html 1.2 微服务的概念 In short, the microservice architectural style [1] is an approach to developing a single a...

对于做开发的同学来说,负载均衡算法已经不陌生了,今天一起来盘点一下分布式系统中都是有哪些负载均衡算法以及它的优缺点; 1.轮询法(Round Robin) 思想: 将请求按顺序轮流地分配到后端服务器上,它均衡地对待后端每一台服务器,而不关心服务实际的连接数和当前系统的负载; 代码实现: 总结: 这种算法简单,依次转发,每个服务器的请求数量平均; 缺点:当集群中的服务器的性能有差别时,无法区别对待的...

fescar的TXC模型 上图为fescar官方针对TXC模型制作的示意图。不得不说大厂的图制作的真的不错,结合示意图我们可以看到TXC实现的全貌。TXC的实现通过三个组件来完成。也就是上图的三个深黄色部分,其作用如下,: TM:全局事务管理器,在标注开启fescar分布式事务的服务端开启,并将全局事务发送到TC事务控制端管理 TC:事务控制中心,控制全局事务的提交或者回滚。这个组件需要独立部署维...