一、seata是什么 Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事...
一、seata是什么 Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事...
分布式id生成算法的有很多种,Twitter的SnowFlake就是其中经典的一种。 算法原理 SnowFlake算法生成id的结果是一个64bit大小的整数,它的结构如下图...
一、入门 为了更好地了解redis的源码和工作原理,花了两天时间把redis cluster的环境给搭建起来。主要有以下几步: vmware ubuntu redis下载地址...
一、前言 这次我们来讨论下redis cluster依赖的一个核心的算法,一致性哈希算法。我们都知道,redis cluster能够做到动态地扩容,在扩容的过程中如何保证数据...
一、前言 上一篇结尾的时候我提了两个问题,这一次主要针对这两个问题进行思考和讨论。 问题1这里的returnValue为什么不是直接返回nextFreeTicketMicro...
一、前言 在分布式系统中,实现高可用有三大利器: 限流 降级 熔断我们先对限流来进行一个分析。 二、限流的实现 业界常用的限流的实现方式也有多种,我尝试做一个简单的总结: 计...
一、unsafe是什么? 在netty中一个很核心的组件,封装了java底层的socket操作,作为连接netty和java 底层nio的重要桥梁。 二、unsafe初始化 ...
几种 I/O 模型 为什么 Redis 中要使用 I/O 多路复用这种技术呢? 首先,Redis 是跑在单线程中的,所有的操作都是按照顺序线性执行的,但是由于读写操作等待用户...
一、概要 前面简单介绍了channel的总体设计,其中channel里面涉及到一个核心的组件EventLoop。EventLoop的主要作用是处理channel的IO操作。 ...
一、概要 上一篇把netty的基本思路介绍了一下,从这一篇文章开始我们将把netty的每一个组件分别进行拆解分析。针对核心的源码进行剖析。本篇先重点分析下channel,ne...
一、什么是netty? Netty 是一个利用 Java 的高级网络的能力,隐藏其背后的复杂性而提供一个易于使用的 API 的客户端/服务器框架。Netty 是一个广泛使用的...
background netty 是一个异步事件驱动的网络通信层框架,其官方文档的解释为 Netty is a NIO client server framework whi...
什么是Netty? Netty 是一个利用 Java 的高级网络的能力,隐藏其背后的复杂性而提供一个易于使用的 API 的客户端/服务器框架。Netty 是一个广泛使用的 J...
最近在做一些微服务相关的设计,内容包括服务的划分,Restful API的设计等。其中比较棘手的就是Service的职责划分:如何抽象具有统一业务范畴的Model,使其模块化...
一、概要 hystrix的执行隔离策略有两种。一种是线程池的模式,另外一种是信号量的模式。hystrix默认的策略是线程池的模式。 线程池对于每个command的执行会启用一...
一、概要 上一篇文章介绍了Hytrix的熔断判断逻辑。里面涉及到一个很重要的组件就是HystrixCommandMetrics,请求的成功数,失败的数量就是使用这个组件来实现...
一、引子 Hystrix是一个熔断中间件,能够实现fast-fail并走备用方案。Hystrix基于滑动窗口判定服务失败占比选择性熔断。滑动窗口的实现方案有很多种,指标计数也...
一、开篇 hystix相信大家都不陌生。github地址:https://github.com/Netflix/Hystrix。中文名称翻译为刺猬,顾明思议是用来保护我们系统...