分布式
文章平均质量分 95
yin__ren
本人毕业于华中科技大学,现就任于美团,从事Java后台开发,欢迎大家相互交流学习
展开
-
分布式锁学习
一、分布式锁的特点互斥性:分布式锁需要保证在不同节点的不同线程的互斥可重入性:同一个节点上的同一个线程获取锁之后,也可以再次获取这个锁锁超时:支持锁超时,防止死锁高效、高可用:加锁和解锁需要高效,同时也需要保证高可用防止分布式锁失效,可以增加降级支持阻塞和非阻塞(可选):支持 lock 和 trylock 以及 tryLock(long timeOut)支持公平锁和非公平锁(可选):公平锁指按照请求加锁的顺序获得锁,非公平锁则相反是无序获取锁二、实现方式1、基于 mysql 实现基于原创 2021-03-18 14:29:46 · 725 阅读 · 0 评论 -
Leaf 详解
参考博客:Leaf:美团分布式ID生成服务开源Leaf是美团基础研发平台推出的一个分布式ID生成服务一、Leaf 号段生成1、Leaf 特性全局唯一:不会出现重复 ID,且 ID 整体趋势递增高可用:基于分布式架构,即使 MySQL 宕机,也能容忍一段时间的数据库不可用高并发低延时:在 CentOS 4C8G 的虚拟机上,远程调用QPS可达5W+,TP99在1ms内接入简单:可通过 RPC 服务或 HTTP 调用接入2、Leaf 详解Leaf 采用预分发方式生成 ID:即在 .原创 2020-11-11 16:50:46 · 4425 阅读 · 1 评论 -
分布式 ID
推荐阅读:漫画:什么是SnowFlake算法一、自增与UUID自增: ID 生成对数据库依赖严重,而且一旦数据库宕机,服务将变得不可用UUID: 生成的 ID 无序,由于数据库采用 B+ 树,因此入库性能差二、Snowflake1. Twitter-Snowflake1bit 保留41bits 时间戳: 支持69.7年需要的 id10bits work-id: 支持1...原创 2019-08-16 15:37:40 · 856 阅读 · 1 评论 -
一致性哈希
推荐阅读: 一致性哈希算法及其在分布式系统中的应用一、普通哈希方案1. 系统背景通过三台缓存服务器来处理服务器压力:2. 简单策略最简单的策略: 将每一次 Memcached 请求随机发送到一台Memcached服务器该策略的两个问题:一是同一份数据可能被存在不同的机器上而造成数据冗余二是有可能某数据已经被缓存但是访问却没有命中,因为无法保证对相同key的所有访问都被发...原创 2019-08-16 10:34:45 · 120 阅读 · 0 评论 -
分库分表概述
推荐阅读: mysql分库分表那些事一、单一数据库的局限性能: 由于关系型数据库大多采用 B+ 树类型的索引,在数据量超过阈值的情况下,索引深度的增加也将使得磁盘访问的 IO 次数增加,进而导致查询性能的下降同时,高并发访问请求也使得集中式数据库成为系统的最大瓶颈可用性: 服务化的无状态型,能够达到较小成本的随意扩容,这必然导致系统的最终压力都落在数据库之上。而单一的数据节点,或者...原创 2019-08-16 11:52:53 · 300 阅读 · 0 评论 -
分布式事务和提交协议
在分布式系统中,为了保证数据的高可用,通常会将数据保留多个副本,并放置在不同的物理机器上1. 分布式事务分布式事务处理的关键: 知道事务在任何地方所做的所有动作,提交或回滚事务的决定必须产生统一的结果即: 全部提交或全部回滚思路: 引入一个“协调者”的组件来统一调度所有分布式节点的执行全局事务: 分布式事务环境中,多个数据库共同完成一个工作,这个工作就是一个全局事务...原创 2019-11-28 23:29:33 · 224 阅读 · 0 评论