分布式
文章平均质量分 76
豆奶快攻
这个作者很懒,什么都没留下…
展开
-
ShardingSphere分库分表相关
垂直分片按照业务拆分的方式称为垂直分片,又称为纵向拆分,它的核心理念是专库专用。在拆分之前,一个数据库由多个数据表构成,每个表对应着不同的业务。而拆分之后,则是按照业务将表进行归类,分布到不同的数据库中,从而将压力分散至不同的数据库。水平分片水平分片又称为横向拆分。相对于垂直分片,它不再将数据根据业务逻辑分类,而是通过某个字段(或某几个字段),根据某种规则将数据分散至多个库或表中,每个分片仅包含数据的一部分。垂直分库在resources目录下新建配置文件,存放数据源、分片规则等配置信息。在。原创 2024-07-25 12:29:39 · 550 阅读 · 0 评论 -
ShardingSphere读写分离相关
考虑到业务场景的复杂性,提供基于SPI接口实现符合自己业务需要的负载均衡算法。提供了读库负载均衡算法接口,用户根据自定的算法返回一个可访问的读库。/*** @param name 读写分离逻辑数据源名称* @param writeDataSourceName 写库数据源名称* @param readDataSourceNames 读库数据源名称集合* @return 命中的读库名称*/实现/*** 配置类中的props属性* # 负载均衡算法* read: # 自定义的算法名称。原创 2024-07-23 14:38:52 · 302 阅读 · 0 评论 -
分布式相关
所有数据都存储在缓存里,读服务在查询时不会再降级到数据库里,所有的请求都完全依赖缓存。主机宕机时,备机接管主机的一切工作,主机恢复正常后,以自动(热备)或手动(冷备)方式将服务切换到主机上运行,master的二进制日志文件的变化,如果发现master二进制日志文件发生变化,则会把变化复制到自己的。中,然后slave的一个SQL线程会把相关的“事件”执行到自己的数据库中,以此实现从数据库和主数据库的。如果同步缓存失败了,被消费的 Binlog 不会被确认,下一次会重复消费,数据最终会写入缓存中;原创 2024-07-05 23:46:51 · 869 阅读 · 0 评论 -
如何保证Kafka不丢失消息
丢失消息有 3 种不同的情况,针对每一种情况有不同的解决方案。原创 2024-01-15 11:43:18 · 1229 阅读 · 1 评论 -
Redis 内存淘汰策略有哪些?过期数据如何删除?
Redis 在面试中出现的概率非常大,毕竟后端项目如果用到分布式缓存的话,一般用的都是 Redis。目前,还没有出现一个能够取代 Redis 的分布式缓存解决方案。这篇文章中,我会分享几道 Redis 内存管理相关的问题,都很常见。不论是面试还是项目中用到 Redis,都能有帮助。原创 2024-01-10 15:23:12 · 1041 阅读 · 2 评论 -
kafka除了作为消息队列还能做什么?
与其之前的竞品不同,Kafka 不仅仅是一个消息队列,它还是一个适用于各种情况的开源事件流平台。Kafka 传输原始点击流数据,Flink 对其进行处理,而模型训练则消耗数据湖中的汇总数据。不同的是,指标是结构化数据,而日志是非结构化文本。例如,在下图中,事务日志被发送到 Kafka,并被 ElasticSearch、Redis 和二级数据库摄取。如上图所示,为了升级订单服务,我们更新了旧订单服务,以便从 Kafka 中消费输入,并将结果写入 ORDER Topic。如果它们完全相同,新服务就会通过测试。原创 2024-01-11 15:12:17 · 745 阅读 · 0 评论 -
数据库的分库分表
数据切分关系型数据库本身比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有限。当单表的数据量达到 1000W 或 100G 以后,由于查询维度较多,即使添加从库、优化索引,做很多操作时性能仍下降严重。此时就要考虑对其进行切分了,切分的目的就在于减少数据库的负担,缩短查询时间。数据库分布式核心内容无非就是数据切分(Sharding),以及切分后对数据的定...原创 2020-02-26 01:36:50 · 533 阅读 · 0 评论 -
系统如何支撑高并发
一道面试题的背景引入大多数同学被问到这个问题压根儿没什么思路去回答,不知道从什么地方说起,其实本质就是没经历过一些真正有高并发系统的锤炼罢了。因为没有过相关的项目经历,所以就没法从真实的自身体会和经验中提炼出一套回答,然后系统的阐述出来自己负责过的系统如何支撑高并发的。所以,这篇文章就从这个角度切入来简单说说这个问题,用一个最简单的思路来回答,大致如何应对。...原创 2020-02-22 22:35:46 · 652 阅读 · 0 评论 -
SnowFlake 分布式 id 生成器
在高并发或者分表分库情况下怎么保证数据id的幂等性呢?经常用到的解决方案有以下几种。微软公司通用唯一识别码(UUID)Twitter公司雪花算法(SnowFlake)基于数据库的id自增对id进行缓存这里我们要谈到snowflake算法了snowflake是Twitter开源的分布式ID生成算法,结果是一个long型的ID。其核心思想是:使用41bit作为毫秒数,10...原创 2020-02-05 20:48:11 · 2219 阅读 · 0 评论 -
理解大型分布式网站你必须知道这些概念
1. I/O优化增加缓存,减少磁盘的访问次数。优化磁盘的管理系统,设计最优的磁盘方式策略,以及磁盘的寻址策略,这是在底层操作系统层面考虑的。设计合理的磁盘存储数据块,以及访问这些数据库的策略,这是在应用层面考虑的。例如,我们可以给存放的数据设计索引,通过寻址索引来加快和减少磁盘的访问量,还可以采用异步和非阻塞的方式加快磁盘的访问速度。应用合理的RAID策略提升磁盘I/O。2. Web前端调优减少网...原创 2018-04-12 10:10:57 · 241 阅读 · 0 评论