分布式
文章平均质量分 83
JavaPub-rodert
技术&自媒体,专注于面试技巧,擅长Java、Go、MySQL、区块链
展开
-
缓存:热点key重建优化。
文章目录互斥锁(mutex key)永远不过 开发人员使用”缓存+过期时间“的策略既可以加速数据读写,又保证数据的定时更新,这种模式基本满足绝大部分需求。但是有两个问题如果同时出现,可能就会对应用造成致命的危害: 当前key是一个热点key(例如一个热门的娱乐新闻),并发量非常大。 重建缓存不能在短时间完成,可能是一个复杂计算,例如复杂的SQL、多次IO、多个依赖等。 在缓存失效的瞬间,有大量线程来重建缓存(如下图所示),造成后端负载加大,甚至可能会让应用奔溃。 要解决这个问题也不是很复杂,但是不能为原创 2021-03-24 21:28:27 · 701 阅读 · 1 评论 -
分布式Session共享解决方案
Session是服务器用来保存用户操作的一系列会话信息,由Web容器进行管理。单机情况下,不存在Session共享的情况,分布式情况下,如果不进行Session共享会出现请求落到不同机器要重复登录的情况,一般来说解决Session共享有以下几种方案。 文章目录1、session复制2、session绑定3、利用cookie记录session4、session服务器 1、session复制 session复制是早期的企业级的使用比较多的一种服务器集群session管理机制。应用服务器开启web容器的sessi原创 2021-03-23 23:02:26 · 309 阅读 · 1 评论 -
分表分库解决思路
随着公司业务快速发展,数据库中的数据量猛增,访问性能也变慢了,优化迫在眉睫。原创 2021-03-23 23:56:32 · 443 阅读 · 1 评论 -
几种主流的定时分布式任务
在很多应用系统中我们常常要定时执行一些任务。比如,订单系统的超时状态判断、缓存数据的定时更新、定式给用户发邮件,甚至是一些定期计算的报表等等。常见的处理方式有线程的while(true) 和sleep组合、使用Timer定时器触发任务又或者是使用quartz框架。貌似这些方法可以完美的解决方案,为什么还需要分布式呢?主要有如下两点原因: 1.高可用:单机版的定式任务调度只能在一台机器上运行,如果程序或者系统出现异常就会导致功能不可用。虽然可以在单机程序实现的足够稳定,但始终有机会遇到非程序引起的故障,而这个原创 2021-03-23 23:40:16 · 456 阅读 · 1 评论 -
分布式唯一ID解决方案-雪花算法
阅读大概需要3分钟 附源码 文章目录前言ID生成器数据库自增分布式ID生成器方案一:UUID方案二:snowflake(雪花算法)算法介绍源码 前言 单体架构的服务的日子已经一去不复返了。 当前系统业务和数据存储的复杂度都在提升,分布式系统是目前使用非常普遍的解决方案。 全局唯一 ID 几乎是所有设计系统时都会遇到的,全局唯一 ID 在存储和检索中有至关重要的作用。 ID生成器 在应用程序中,经常需要全局唯一的ID作为数据库主键。如何生成全局唯一ID? 首先,需要确定全局唯一ID是整型还是字符串?如果是字符原创 2021-01-12 22:37:20 · 835 阅读 · 0 评论 -
9种 分布式ID生成方式
本文来源转载, 一、为什么要用分布式ID? 在说分布式ID的具体实现之前,我们来简单分析一下为什么用分布式ID?分布式ID应该满足哪些特征? 1、什么是分布式ID? 拿MySQL数据库举个栗子: 在我们业务数据量不大的时候,单库单表完全可以支撑现有业务,数据再大一点搞个MySQL主从同步读写分离也能对付。 但随着数据日渐增长,主从同步也扛不住了,就需要对数据库进行分库分表,但分库分表后需要有一个唯一ID来标识一条数据,数据库的自增ID显然不能满足需求;特别一点的如订单、优惠券也都需要有唯一ID做标识。此.原创 2020-09-02 14:28:38 · 338 阅读 · 0 评论 -
【转载】分布式锁简单入门以及三种实现方式介绍
https://blog.csdn.net/xlgen157387/article/details/79036337转载 2018-12-12 21:58:23 · 308 阅读 · 0 评论