分布式架构
文章平均质量分 95
ArchManual
ArchManual,分布式技术架构手册
展开
-
Redis Key的过期策略
Redis 的过期策略主要是指管理和删除那些设定了过期时间的键,以确保内存的有效使用和数据的及时清理。具体来说,Redis 有三种主要的过期策略:定期删除(Scheduled Deletion)、惰性删除(Lazy Deletion)和内存淘汰策略(Eviction Policies)。原创 2024-09-12 15:01:28 · 969 阅读 · 0 评论 -
Redis的数据类型以及应用场景
Redis 有序集合(Sorted Set)是一种带有分数的集合,集合中的每个成员都有一个分数,Redis 会按照分数的大小进行排序。以下是 Redis 有序集合的一些常见应用场景及其示例代码。Redis 集合(Set)是一种无序的字符串集合,集合中的元素是唯一的,不允许重复。HyperLogLog 是 Redis 中的一种用于基数(唯一值)统计的数据结构,能够在极小的内存占用下提供高精度的基数估计。位图(Bitmap)在 Redis 中是一种高效的按位存储数据的方式,主要用于处理需要进行按位操作的场景。原创 2024-09-11 17:36:01 · 1116 阅读 · 0 评论 -
缓存类型以及读写策略
静态缓存通常用于缓存静态内容,例如HTML页面、CSS文件、JavaScript文件、图像等。它可以显著减少服务器负载和响应时间。原创 2024-09-03 14:08:31 · 1247 阅读 · 0 评论 -
服务之间调用的几种方式
首先,创建一个名为。原创 2024-09-02 14:19:15 · 1707 阅读 · 0 评论 -
服务降级的架构原理
Target 定义该规则针对什么样的请求,如某个 key(可以类比 Sentinel 中的资源名的概念),或者包含某类参数的 HTTP 请求等等。ystrixCommand 和 HystrixObservableCommand 的实现可以定义一个缓存键,然后在请求中使用该键来去重调用,如果命中缓存健,则直接返回缓存健对应的结果。如果 Hystrix 没有实现请求缓存功能,那么每个命令都需要在 construct 或 run 方法内部自行实现它,缓存结果的查询要放到新线程创建后,所有无法避免新的线程的创建。原创 2024-08-28 14:48:30 · 1843 阅读 · 0 评论 -
限流的的实现方案
限流是一种在软件开发和系统设计中常用的技术,旨在控制访问某一资源或服务的请求数量,以防止系统过载、确保系统稳定性和响应性。限流对于维护高可用和可靠的服务尤为重要,尤其是在面对高并发访问时。原创 2024-08-27 13:24:59 · 1183 阅读 · 0 评论 -
数据库连接池的基本原理
数据库池化技术,也常被称为连接池技术,是一种在数据库应用中广泛使用的技术,旨在减少数据库连接的开销,提高系统的性能和资源利用率。:通过合理配置连接池参数,如合适的最大/最小连接数、适当的空闲连接生存时间等,可以显著提升数据库操作的性能,同时优化资源的使用。:连接池的行为可以通过各种参数进行配置,包括最大连接数、最小空闲连接数、连接超时时间、空闲连接的最大生存时间等。:如果验证失败,连接池会尝试创建一个新的连接以替换无效的连接,保证连接池中的连接总数维持在配置的水平。:连接池定期检查空闲连接的有效性。原创 2024-08-22 13:37:00 · 1109 阅读 · 0 评论 -
不同场景下的负载均衡器
负载均衡主要用于分配来自互联网或局域网的请求或任务负载到多个服务器中。这样做可以避免任何单个服务器的过载,提高响应速度,增加系统的整体处理能力,并确保系统的高可用性和可靠性。负载均衡器大概可以分为 3 类,包括:DNS 方式实现负载均衡、硬件负载均衡、软件负载均衡。原创 2024-08-21 13:55:37 · 1255 阅读 · 0 评论 -
服务注册发现的原理与选型
注册发现(Service Registration and Discovery)是微服务架构中一个非常重要的组成部分,主要用于管理微服务间的地址和状态信息,以便服务间能够相互发现和调用。使用注册发现机制,可以大大提高微服务架构的灵活性和可维护性,是构建动态、可伸缩、高可用系统的关键技术之一。常见的注册发现工具和平台包括Eureka、Consul、Zookeeper和Nacos等。原创 2024-08-20 13:24:27 · 1010 阅读 · 0 评论 -
分布式事务的实现方式和原理
首先将一个复杂的分布式事务拆分为一系列更小、更易于管理的本地事务。每个本地事务都应该有一个对应的补偿事务,用于撤销其所做的操作。原创 2024-08-19 10:03:41 · 1223 阅读 · 0 评论 -
分布式锁的实现方案
分布式锁是分布式系统中用于确保多个进程或服务在访问共享资源时能够保持互斥,以避免发生数据冲突或不一致性问题的一种同步机制。与传统的锁机制相比,分布式锁是为了解决跨多个计算节点的资源同步问题。在分布式环境下,资源可能被分布在不同的服务器上,这就需要一种跨服务器的锁机制来确保在任何时刻只有一个客户端可以访问特定的资源。原创 2024-08-15 16:13:31 · 1010 阅读 · 0 评论 -
分布式ID的实现方案
美团Leaf通过提供segment和snowflake两种模式,能够满足不同场景下对于分布式ID生成的需求。Leaf-segment模式适合对ID趋势递增有要求的场景,而Leaf-snowflake模式则适合对ID生成性能要求更高的场景。通过这两种模式,美团Leaf为分布式系统中的ID生成提供了一种高效、可靠的解决方案。详细技术方案,详见Leaf官方技术文档。原创 2024-08-14 16:27:34 · 1350 阅读 · 0 评论 -
分布式任务调度的架构与选型
子任务执行完成后,执行结果会反馈给调度中心。根据任务配置,调度中心可能需要对结果进行汇总或直接处理。分片的优点。原创 2024-08-13 15:01:12 · 1372 阅读 · 0 评论 -
延迟任务的五种实现方案
(2)TimerWheel中的每一格代表着一个时刻,同时会有一个firstPos指向这个刻度下所有定时消息的首条TimerLog记录的地址,一个lastPos指向这个刻度下所有定时消息最后一条TimerLog的记录的地址。DelayQueue 实现了一个高效的本地延时队列, 但是缺点就是 不支持多节点部署,多节点部署时,不能同步消息,同步消费,也不能持久化。(2)定义一个死信交换机(DLXExchange),绑定BizQueue,接收延时队列的消息,并转发给BizQueue。原创 2024-08-12 13:31:25 · 763 阅读 · 0 评论 -
消息队列的选型以及5个架构点
消息队列的顺序性、高可用、消息积压、防重、防丢失原创 2024-08-08 17:13:21 · 977 阅读 · 0 评论 -
配置中心的基本原理
隔一段时间(比如 10秒)查询一个数据库的版本信息表,看是否有版本更新,有版本更新时将最新的版本信息存到本地内存,同时通知客户端。对象,并设置改对象的超时时间和超时的返回值。查询内存中是否有最新的版本信息,如果有最新的版本信息则设置。应用的客户端本地缓存一份配置,如果配置服务出现故障,无法提供服务,应用还可以继续使用本地的配置。1)后台配置系统修改配置,发布新版本,版本信息写入数据库中,的方式,超时设置为60秒,超时之后,客户端向后端重新查询。对象放到内存列表中,存储起来,等待后续的通知。原创 2024-08-07 15:57:31 · 279 阅读 · 0 评论 -
分布式系统架构手册
ArchManual不是某个技术架构的深度剖析某个技术框架的源码分析某个技术工具的安装运维某个技术类库的代码示例而是常用分布式技术的总体概览常用技术主题的归纳总结常用技术框架的归类罗列常用技术架构的简单分享希望成为速查手册:平时工作中做技术架构、框架选型时的速查手册学习提纲:业余学习或者面试时的一个学习提纲技术地图:对技术框架有一个整体和全面的了解技术社区:每个技术同学都能积极分享和交流知识。原创 2024-08-06 16:29:50 · 1219 阅读 · 0 评论