分布式redlock redis core
《Java架构师的第一性原理》35分布式计算之分布式事务(TCC、最终一致性、Seata)
1 常见分布式实现方案介绍 1.1 XA方案 有一个事务管理器的概念,负责协调多个数据库(资源管理器)的事务 不适合高并发场景,严重依赖数据库层面,同步阻塞问题;协调者故障则所有参与者会阻塞 1.2 TCC方案 严重依赖代码补偿和回滚,一般银行用,和钱相关的支付、交易等相关的场景,我们会用TCC T ......
《Java架构师的第一性原理》38分布式计算之微服务SpingCloud
1 微服务简介 1.1 什么是微服务 微服务是最近的一两年的时间里是很火的一个概念。感觉不学习一下都快跟不上时代的步伐了,下边做一下简单的总结和介绍。 何为微服务?简而言之,微服务架构风格这种开发方法,是以开发一组小型服务的方式来开发一个独立的应用系统的。其中每个小型服务都运行在自己的进程中,并经常 ......
《Java架构师的第一性原理》36分布式计算之分布式监控分布式链路跟踪(CAT、SkyWalking、Zipkin)
分布式链路跟踪 99 直接读这些牛人的原文 大众点评CAT开源监控系统剖析 一文带你看懂,SkyWalking分布式追踪系统原理及实践 SkyWalking —— 分布式应用监控与链路追踪 全面解析微服务系统监控分层,啃透服务治理核心! ......
《Java架构师的第一性原理》32分布式计算之分布式锁(Redis、Zookeeper)
1 这才是真正的分布式锁 技术领域,我觉得了解来龙去脉,了解本质原理,比用什么工具实现更重要: (1)进程多线程如何互斥? (2)一个手机上两个APP访问一个文件如何互斥? (3)分布式环境下多个服务访问一个资源如何互斥? 归根结底,是利用一个互斥才能访问的公共资源来实现分布式锁,具体这个公共资源是 ......
《Java架构师的第一性原理》32分布式计算之分布式缓存第1篇如何使用Redis搭建玩家排行榜
今天我们用 Redis 搭建一个玩家的排行榜,假设一个服务器存储了 10 万名玩家的数据,我们想给这个区(这台服务器)上的玩家做个全区的排名,该如何用 Redis 实现呢? 不妨一起来思考下面几个问题: MySQL 是如何实现玩家排行榜的?有哪些难题需要解决? 如何用 Redis 模拟 10 万名玩 ......
《Java架构师的第一性原理》33分布式计算之分布式注册中心、分布式配置中心
待补充 1 分布式注册中心 2 分布式配置中心 2.1 Apollo 2.1.1 Apollo是怎样注入到SpringBean的容器里的 99 直接读这些牛人的原文 apollo不使用 MQ 如何实现 pub/sub 场景? 13张图彻底搞懂分布式系统服务注册与发现原理 为什么 @Value 可以获 ......
《Java架构师的第一性原理》30分布式计算之分布式算法
极客时间 韩健 121.分布式协议与算法实战 00 开篇词 | 想成为分布式高手?那就先把协议和算法烂熟于心吧 为什么要单独讲分布式协议和算法呢? 在我看来,它其实就是决定分布式系统如何运行的核心规则和关键步骤。 如果一个人想真正搞懂分布式技术,开发出一个分布式系统,最先需要掌握的就是这部分知识。 ......
《Java架构师的第一性原理》32分布式计算之分布式缓存第3篇LevelDB
互联网业务,绝大部分场景,会使用缓存服务。 但有时候,确实会使用到进程内存缓存/数据库,这个时候,LevelDB就能派上用场了。啥是LevelDB?LevelDB是Google开发的,一个速度非常块的KV存储库(storage library),它支持字符串的key与字符串的value,并且这种映射 ......
《Java架构师的第一性原理》31分布式计算之微服务RPC(Dubbo)
1 互联网架构,究竟为啥要做服务化 互联网架构,究竟为啥要做服务化? 2 微服务架构,多“微”才合适? 微服务架构,多“微”才合适? 3 离不开的微服务架构,脱不开的RPC细节 离不开的微服务架构,脱不开的RPC细节 3.1 服务化解决的问题 1)服务化需要解决的问题: 一套序列化、反序列化、网络框 ......
linux 安装 redis
一、通用方式 要在Linux上安装Redis,可以按照以下步骤进行操作: 1. 打开终端,使用以下命令下载Redis的压缩包: wget http://download.redis.io/releases/redis-x.x.x.tar.gz 注意将 "x.x.x" 替换为你想要下载的Redis版本 ......
一套分布式IM即时通讯系统的技术选型和架构设计
为了更好的理解分布式IM即时通讯系统的设计,我站在架构师的角度,在充分了解系统需求、业务流程和技术流程后,从全局视角为系统设定方案目标,对技术方案进行选型,对系统进行总体架构设计和分层架构设计,并梳理清楚发送消息的交互链路、单聊和群聊的交互链路。希望对你有帮助。 ......
Linux服务器快速安装Redis-6.0
最近开始体验FastGPT开源知识库问答系统,用他们试着开发调试一些小助手。这中间需要使用到Redis,就在自己服务器上进行了安装,特此记录下。 环境说明:阿里云ECS,2核8G,X86架构,CentOS 7.9操作系统。 选择版本 1.打开Redis官网下载页面,可以选择需要的版本下载。我这里选择 ......
转 Windows下Redis安装及自启动
Redis下载 Redis 官方网站没有提供 Windows 版的安装包,可以通过 GitHub 来下载 Windows 版 Redis 安装包,下载地址:点击前往。 打开上述的下载地址链接,Redis 支持 32 位和 64 位的 Window 系统,根据个人情况自行下载,如图 1 所示: 下载完 ......
从分布式计算的角度看pytorch和TensorFlow哪个更优?
背景: pytorch框架是一个从学术圈出来的框架,因此pytorch并不原生支持分布式计算,而且在大模型火爆的今年以外好像在深度学习领域使用分布式计算的场景确实不多,所以pytorch并不原生支持分布式计算的事情好像也并无大碍,而且pytorch可以通过安装第三方库的方式实现同步形式的分布式计算。 ......
分布式缓存
单点redis的问题 数据丢失问题:Redis是内存存储,服务重启可能会丢失数据。解决:数据持久化 并发能力问题:单节点并发能力不足。解决:主从集群,读写分离。 故障恢复:需要自动的故障恢复手段。解决:Redis哨兵,实现健康检测和自动恢复。 存储能力问题:单节点Redis难以满足海量数据存储。解决 ......
redis锁定商品解决并发售卖问题 RedisUtil工具类
redis锁定商品解决并发售卖问题 RedisUtil工具类 redis数据类型介绍: //伪代码,基本思路 //1.出redis,每次在选定商品之后,先检查redis是否已经锁定该商品,避免超卖。Set<String> cacheList = redisUtilService.getSetValu ......
redis分布锁
1.什么是redis分布式锁 Redis分布式锁是一种利用Redis实现的锁机制,用于在分布式系统中保护共享资源的访问。它利用Redis的原子性操作和过期时间设置来实现互斥访问。 在分布式环境中,多个进程或线程可能同时访问共享资源,如果没有合适的机制来保护共享资源,就会导致数据不一致或竞争条件的发生 ......
Redis缓存
Redis(Remote Dictionary Server)是一个开源的高性能键值对(key-value)存储系统,常被用作数据库、缓存和消息代理。它支持多种数据结构,如字符串、哈希表、列表、集合和有序集合。 为什么要用Redis? 使用Redis有多个原因,包括: 高性能:Redis是基于内存存 ......
Redis异常问题分析黄金一分钟
Redis异常问题分析黄金一分钟 背景 同事发现一个环境redis比较卡顿,导致业务比较难以开展. 问题是下午出现的. 六点左右找到我这边. 想着帮忙看看, 问题其实没有定位完全, 仅是发现了一个可能的点. 所以想记录一下, 备查 步骤 登录redis进行查看 处理的过程: 1. info memo ......
MongoDB、Elasticsearch、Redis、HBase应用场景分析
1. MongoDB 一个基于分布式文件存储的数据库系统,由C++编写,旨在为Web应用提供高速、可扩展、高性能的数据存储解决方案。MongoDB采用了文档型数据库模型,即数据以文档的形式存储,而文档是由键值对组成的。MongoDB的名称来自Hadoop创始人Doug Cutting的宠物狗Mong ......
Seata:打造行业首个分布式事务产品
在 2019 年,我们基于 Dubbo Ecosystem Meetup,收集了 2000 多份关于“在微服务架构,哪些核心问题是开发者最关注的痛点?”的调研问卷。最终分布式事务问题在调研中占比最大,约占 54%。 ......
将Abp默认事件总线改造为分布式事件总线
@目录原理创建分布式事件总线实现自动订阅和事件转发使用启动Redis服务配置传递Abp默认事件传递自定义事件项目地址 原理 本地事件总线是通过Ioc容器来实现的。 IEventBus接口定义了事件总线的基本功能,如注册事件、取消注册事件、触发事件等。 Abp.Events.Bus.EventBus是 ......
Redis全文搜索教程之创建索引并关联源数据
Redis 全文搜索是依赖于 Redis 官方提供的 RediSearch 来实现的。RediSearch 提供了一种简单快速的方法对 hash 或者 json 类型数据的任何字段建立二级索引,然后就可以对被索引的 hash 或者 json 类型数据字段进行搜索和聚合操作。 这里我们把被索引的 ha ......
seata分布式事务不生效
Fegin调用使用了Fallback降级或抛出的异常被全局处理 解决: 1.通过 GlobalTransactionContext.reload(RootContext.getXID()).rollback() 进行手动回滚 服务A @Service public class ServiceAImp ......
DeepSpeed分布式训练
一、DeepSpeed 总纲 官方文档:DeepSpeed 官方英文文档 cpoy下来的原版 DeepSpeed 模型的训练是使用DeeSpeed引擎完成的 DeepSpeed引擎可以包装任何 torch.nn.module 类型的模型 二、训练 1、通过 deepspeed.initialize ......
分布式资源管理和调度
分布式资源管理和调度 分布式资源管理和调度是指在分布式系统中有效地管理和调度系统中的资源,以满足各种任务的需求。在一个分布式系统中,资源可以包括计算资源(如CPU、内存)、存储资源(如磁盘空间)、网络带宽等。 分布式资源管理的目标是实现高效的资源利用和公平的资源分配。它需要考虑以下几个方面: 资源发 ......
【转载】Redis 6.x 学习笔记
参考 http://www.redis.cn/ https://www.runoob.com/redis/redis-data-types.html https://developer.aliyun.com/article/1095427 https://zhuanlan.zhihu.com/p/4 ......
Redis和Mysql如何保证数据一致性?
1、redis作用: 用于读数据库操作的缓存层,可以减少数据库的io,还能提升数据的io性能; 无法保证数据的acid 2、实现一致性方案: 1、先更新数据库,在更新缓存 2、先删除缓存再更新数据库 3、最终一致性方案: (1)基于roketMQ可靠通信 (2)通过canal组件采集mysql bi ......