07 2023 档案
【如何延长周末体验感】
摘要:文章目录 个人周末计划分享周末的时间规划分享提升周末体验感的好方法怎样才能获得充分的休息 工作以后常常容易感到疲于奔命,即使在周末也没有得到高质量的休息。打工人/学生党如何过周末?你有哪些延长周末和下班时间的好方法吗? 个人周末计划 安排自己的时间:制定一个周末计划,并安排好自己的时间。安排一些活动
阅读全文
【打造超酷的GitHub主页】
摘要:文章目录 Github状态信息-api账户信息统计最常用语言Repo卡片 社交统计统计访问次数徽标 首先上地址:https://gitee.com/java_wxid/giteeprofile/blob/master/README.md 为了照顾一部分网络较差的的朋友们,这里使用国内的gitee仓库
阅读全文
【代码review、审核开发工程师的设计与研发质量工作经验之谈】
摘要:作为一个开发工程师,代码review与审核是我们日常工作不可或缺的一环。它不仅有助于提高代码质量,还可以避免不必要的错误和漏洞。下面我将分享一下我的经验,重点讨论代码review与审核方面的工作。 一、准备工作 在进行代码review和审核之前,需要对代码的需求和设计进行充分的了解,并与开发工程师进
阅读全文
【结合业务需求给出合理的技术解决方案,改进现有模块功能,提高系统的可扩展性,封装性,稳定性】
摘要:一、技术解决方案 随着企业规模的扩大和业务量的增加,企业信息系统的可扩展性、封装性、稳定性等方面的要求越来越高。针对这些问题,我们可以采用以下技术解决方案: 1.采用云计算技术 云计算技术能够提供高度可扩展和可靠的基础设施,具有快速、弹性、高效的特点,可以大大提高系统的可扩展性和稳定性。通过将系统迁
阅读全文
No application config found or it‘s not a valid config! Please add <dubbo:application name=“...“ />
摘要:首先我的项目结构是这样的: 作为一个简单的Demo项目,启动时报错: No application config found or it’s not a valid config! Please add <dubbo:application name=“…” /> 可是配置添加了 applicati
阅读全文
【什么是Cache Aside机制】
摘要:Cache Aside(旁路缓存)是一种缓存数据更新机制,可以用于优化系统性能,缓解数据库等数据源的压力。在Cache Aside机制中,系统将缓存视为一个辅助的存储介质,当需要访问某个数据时,系统首先尝试从缓存中获取该数据,如果缓存中不存在该数据,则从数据库等数据源中获取数据,并将数据进行缓存。此
阅读全文
【什么是Read Write Through机制】
摘要:文章目录 一、Read-Write Through机制的定义二、Read-Write Through机制的特点三、Read-Write Through机制的实现方式四、Read-Write Through机制的应用场景 Read-Write Through机制是一种缓存一致性协议,用于保证存储子系统
阅读全文
【count(列名)、count(1)和 count(星号)有什么区别】
摘要:文章目录 count(列名)count(1)count(*)count(列名) vs count(1) vs count(*)1. 计算非空行数 vs 计算所有行数2. 计算指定列的行数 vs 计算所有列的行数3. 性能4. 关联查询5. 返回结果 总结 在 SQL 数据库中, count() 函数
阅读全文
【MySQL线上修改大表结构有哪些风险】
摘要:文章目录 1.背景 2.风险 2.1 数据库锁定 2.2 数据丢失 2.3 系统崩溃 2.4 性能下降 3.总结 1.背景 在实际应用中,我们经常会遇到需要修改大表结构的情况,比如增加或删除字段、修改字段类型、添加或删除索引等。但是,这些修改操作都是要对线上数据库进行的,如果处理不当,就容易导致数据
阅读全文
【为什么写缓冲区 仅适用于非唯一普通索引页】
摘要:MySQL的写缓冲区是一种提高写入性能和减少磁盘I/O操作的技术,它可以在内存中缓存待写入磁盘的数据。然而,它只适用于非唯一普通索引页,因为这些页的插入和更新操作比较频繁,并且它们的索引键不是唯一的,会有重复值。 对于非唯一普通索引页,每次插入、更新操作都需要对索引键进行排序和查找,这个过程是非常耗
阅读全文
【线程池使用完毕为何必须shutdown】
摘要:线程池是一种管理线程的机制,可以减少线程创建和销毁的开销,提高程序的性能。在使用线程池时,程序需要调用ThreadPoolExecutor的shutdown()方法来停止线程池。 shutdown()方法的作用是向线程池中的所有线程发出停止指令,让它们停止执行任务并退出。如果不调用shutdown(
阅读全文
【线程池为何要构建空任务的非核心线程】
摘要:线程池为何要构建空任务的非核心线程? 在回答这个问题之前,我们先了解一下线程池的概念和作用。线程池是一种预先创建好一组可重用的线程,用于处理多个任务,提高系统性能和资源利用率。线程池有两种线程类型:核心线程和非核心线程。核心线程是线程池中最基本的线程,它们会一直存在直到线程池关闭。非核心线程是在任务
阅读全文
【并发事务会产生哪些问题】
摘要:文章目录 一、脏读二、不可重复读三、幻读四、丢失修改五、解决方案一、脏读的解决方法二、不可重复读的解决方法三、幻读的解决方法四、丢失修改的解决方法 并发事务是指同时运行的多个事务,在数据库中使用并发控制机制来保证数据一致性和事务隔离性。然而,并发事务也会带来一些问题,如下所述。 一、脏读 脏读指的是
阅读全文
【apache-maven-3.5.4\conf\setting文件配置】
摘要:apache-maven-3.5.4\conf\setting文件配置(老版本配置) <?xml version="1.0" encoding="UTF-8"?> <!-- Licensed to the Apache Software Foundation (ASF) under one or m
阅读全文
【InnoDB引擎如何管理Page页】
摘要:InnoDB是MySQL的一种存储引擎(storage engine)。它是一个事务安全的、多版本的、支持外键的、高性能的引擎。在InnoDB中,数据是按页(page)来存储的,而InnoDB通过管理这些页来实现数据的读写。 InnoDB的页大小默认为16KB。在InnoDB中,有两种类型的页:数据
阅读全文
【什么时候选择Redis,什么时候选择Memcached?】
摘要:Redis和Memcached都是用来做缓存的工具,但是它们有不同的特点,选择使用哪一个工具应该取决于你的应用场景和需求。 当应用需要的是数据的高速读取和写入,同时也需要支持复杂的数据结构和高级数据操作时,选择Redis可能更为合适。Redis支持多种数据类型,比如字符串、哈希、列表、集合和有序集合
阅读全文
【InnoDB 的行锁是怎么实现的】
摘要:InnoDB是MySQL中常用的存储引擎之一,它支持事务和行级锁,被广泛应用在高并发场景中。行级锁是其核心特性之一,可以保证并发的正确性和性能。 InnoDB的行级锁分为共享锁和排他锁两种,其中共享锁用于读取操作,多个事务可以同时持有共享锁,而排他锁用于更新操作,只有一个事务能获得排他锁。这两种锁可
阅读全文
【线程池添加工作线程的流程】
摘要:线程池添加工作线程: 首先,线程池需要有一个存储工作线程的容器,比如可以使用一个 List 或者 Queue。然后,使用一个变量来保存当前线程池中的线程数。 在添加工作线程之前,需要进行两个判断。第一个判断是当前线程池中的线程数是否超过了最大线程数。如果超过了最大线程数,那么直接返回,不进行后续操作
阅读全文
【为什么LIKE以%开头索引会失效】
摘要:在数据库中使用LIKE语句进行模糊匹配时,如果通配符“%”出现在查询条件的开头,可能会导致索引失效,这是因为大多数索引默认是按照从左到右的顺序进行匹配的。 例如,假设我们有一个包含100万行的表,其中有一个名为“name”的列,我们希望查询所有以“abc”开头的行。我们可以使用以下语句: SELEC
阅读全文
【介绍一下Page页的结构】
摘要:MySQL的页(Page)是数据库中的基本存储单位,由于它们在磁盘上的存储方式和内存中的缓存方式不同,因此熟悉页的结构对于优化数据库性能非常重要。 MySQL中的页通常是16KB大小,由于它们通常是一次性读写的,因此它们需要优化和压缩以便在内存中更高效地使用。MySQL中的页包含以下几个部分: 1.
阅读全文
【Redis6.0之前为什么一直不使用多线程?】
摘要:Redis 6.0 之前没有采用多线程的原因是因为 Redis 的数据结构和算法都是单线程最优的,多线程并不会提高性能,反而会引入额外的锁、线程管理和上下文切换的开销,导致性能反而下降。 另外,Redis 作为一个内存数据库,其数据访问都是非常快的,瓶颈一般出现在网络 IO 和持久化操作上,这些都是
阅读全文
【JDK中提供了哪些线程池】
摘要:文章目录 理论代码 理论 在JDK中,提供了四种线程池来管理线程,分别为: FixedThreadPool(固定大小线程池):该线程池的大小固定,不会随着任务数的增加而增加。当池子中的线程都在处理任务时,新的任务会处于等待状态,直到有线程可用。 CachedThreadPool(缓存线程池):该线程
阅读全文
【InnoDB IO线程相关参数优化了解过吗】
摘要:InnoDB是MySQL的一种存储引擎,处理大型数据库时非常常用。IO线程是InnoDB中的一个重要组成部分,负责将数据从磁盘读取到内存中,并在必要时将数据刷回磁盘。以下是关于如何优化InnoDB IO线程的一些参数和技巧。 innodb_read_io_threads innodb_read_io
阅读全文
【InnoDB内存相关的参数优化】
摘要:InnoDB是MySQL中最常用的存储引擎之一,它采用了多版本控制来保证事务的并发性和一致性。在使用InnoDB存储引擎时,合理的内存参数配置可以大幅提高数据库的性能和稳定性。下面就来详细介绍一下InnoDB内存相关的参数优化。 innodb_buffer_pool_size innodb_buff
阅读全文
【在Spring中有哪些通知类型(Advice)】
摘要:在Spring中,有以下通知类型(Advice): Before Advice:在目标方法执行之前执行的通知。通常用于参数校验、权限控制等。 故事环节:小明是一个红灯区的保安,他负责检查进入红灯区的人员是否持有有效身份证件。他会在每个人进入前先检查身份证是否齐全,并酌情判断是否允许其进入。这里的检查
阅读全文
【谈谈Indexed注解的作用】
摘要:在Spring框架中,@Indexed注解用于标记类或者方法,表示它们是可被索引的。一般情况下,这个注解用于实现自定义的扫描器或者处理器。通过使用@Indexed注解标记类或者方法,Spring框架会在应用程序启动时将其自动注册到相关的索引中。 一个常见的例子是使用Spring Data JPA来开
阅读全文
Injection of @DubboReference dependencies is failed;
摘要:启动Dubbo服务的时候报错了Injection of @DubboReference dependencies is failed; nested exception is java.lang.IllegalStateException: zookeeper not connected 依赖: <
阅读全文
【谈谈你对DeferredImportSelector的理解】
摘要:DeferredImportSelector是一个Spring框架提供的接口,用于在运行时动态地选择和加载配置类。DeferredImportSelector允许我们在配置类中根据不同的条件来选择不同的其他配置类,然后根据这些条件来动态地决定哪些类需要被加载。这种方式非常灵活,使得我们可以根据需要动
阅读全文
【ThreadLocal的内存泄露问题】
摘要:ThreadLocal是Java中一个常用的线程封装工具,它可以让每个线程都拥有一份独立的本地变量,使得多个线程之间的数据不会互相干扰。但是,如果ThreadLocal使用不当,会导致内存泄露问题。 ThreadLocal的内部实现是通过一个ThreadLocalMap来存储每个线程的变量值,其中T
阅读全文
【谈谈你对DelegatingFilterProxy的理解】
摘要:DelegatingFilterProxy是Spring MVC框架中的一个关键组件,它是一个代理过滤器,将请求转发给另一个过滤器或Servlet并在处理请求前后进行处理。 在Spring MVC中,使用DelegatingFilterProxy来创建一个可配置的Filter Bean,通过在web
阅读全文
【谈谈你对BeanFactoryPostProcessor的理解】
摘要:BeanFactoryPostProcessor是一个Spring框架中的扩展机制,它允许在Spring IoC容器实例化任何bean之前修改应用程序上下文中的bean定义。BeanFactoryPostProcessor的主要作用是允许我们在Spring容器实例化bean之前动态修改bean的属性
阅读全文
【谈谈你对BeanFactory和ApplicationContext的理解】
摘要:BeanFactory和ApplicationContext是Spring Framework中两个核心的容器,它们都可以用来实例化、配置和管理Spring所创建的对象。 BeanFactory是Spring的最基本容器,它通过读取配置文件或配置类,根据配置信息实例化并管理bean对象。Spring
阅读全文
【MySQL如何进行JOIN优化】
摘要:MySQL是一个开源的关系型数据库管理系统,常用于建立网站和其他应用程序。在MySQL中,JOIN是一个非常重要的操作,它可以将两个或多个表中的数据连接起来。JOIN的效率直接影响整个系统的性能和响应时间。因此,优化JOIN是MySQL优化的一个重要方面。下面将详细介绍MySQL JOIN的优化技巧
阅读全文
【Java中四种引用类型】
摘要:Java中的四种引用类型分别是强引用(Strong Reference)、软引用(Soft Reference)、弱引用(Weak Reference)和虚引用(Phantom Reference)。 强引用(Strong Reference):是使用最普遍的引用类型,它直接指向对象,并且只要存在强
阅读全文
【ReentrantReadWriteLock的实现原理】
摘要:文章目录 内部数据结构读锁实现写锁实现可重入性公平锁 ReentrantReadWriteLock是Java中的一种可重入读写锁,用于控制对共享资源的并发访问。相比于普通的锁,读写锁允许多个线程同时读取共享资源,但只允许一个线程写入共享资源。ReentrantReadWriteLock实现了读写锁的
阅读全文
【Java中锁的分类】
摘要:Java中锁可以分为以下几类: 互斥锁(Mutex Lock):也称为独占锁(Exclusive Lock),只允许一个线程访问共享资源,其他线程必须等待当前线程释放锁才能访问。synchronized关键字就是一种互斥锁。 读写锁(Read-Write Lock):也称为共享-独占锁(Shared
阅读全文
【APP开发的副业】
摘要:开发APP的核心功能: 根据需求和设计的整体架构,确定APP核心功能的开发计划。按照计划,先着手开发用户登录注册功能,确保用户可以顺利注册和登录使用APP。然后开发好友聊天功能,确保用户可以与好友互相发送消息和表情。接着开发发布朋友圈动态功能,确保用户可以发布文字、图片、视频等动态信息。同时,还需开
阅读全文
【云计算和大数据平台】云计算平台和大数据平台(如阿里云、腾讯云、华为云等)的搭建和使用方法
摘要:云计算平台是一种技术,它允许用户通过互联网来访问虚拟的计算资源,包括计算能力、存储资源、网络资源等。而大数据平台是一种技术体系,用来处理和分析大量的数据,以支持企业在商业上做出更好的决策。 阿里云、腾讯云、华为云等云计算和大数据平台都提供了强大的计算、存储和网络能力,可以帮助用户轻松地构建各种云服务
阅读全文
【数据可视化和BI技术】数据可视化和BI技术的原理、方法和工具,如Tableau、Power BI
摘要:文章目录 一、数据可视化和BI技术的原理和方法1、数据集成2、数据分析3、数据可视化4、数据驱动决策 二、数据可视化和BI技术的工具1、Tableau2、Power BI 三、总结 数据可视化和BI技术是当今企业数据分析和业务决策过程中广泛应用的技术。它能够将大量数据转化成可视化的图表和图形,帮助用
阅读全文
【数据仓库和数据湖】
摘要:文章目录 数据仓库数据湖 数据仓库和数据湖是两种不同的数据存储和管理方式。下面分别详细介绍: 数据仓库 数据仓库是一个集中式的数据存储系统,用于集成、存储、管理和分析企业数据。它通常包括多个数据源,如操作性系统、终端设备和其他数据存储系统,并使用ETL(提取、转换和加载)工具将数据从不同的数据源中提
阅读全文
【数据挖掘和机器学习技术】数据挖掘和机器学习相关的算法和模型,如聚类、分类、回归、神经网络
摘要:文章目录 1. 聚类2. 分类3. 回归4. 神经网络 数据挖掘和机器学习是处理大量数据的关键技术,它们被广泛应用于数据分析、预测、智能推荐等领域。下面,我们将详细介绍数据挖掘和机器学习相关的算法和模型。 1. 聚类 为了更好地理解聚类,我们可以先来看一个故事。假设你是一家电商公司的数据分析师,负责
阅读全文
【大数据处理框架】Hadoop大数据处理框架,包括其底层原理、架构、编程模型、生态圈
摘要:文章目录 底层原理架构编程模型生态圈 Hadoop是一个开源的大数据处理框架,它包含了底层的分布式文件系统和分布式计算资源管理系统,以及高级的数据处理编程接口。 底层原理 Hadoop是一个开源的大数据处理框架,它的底层原理是基于分布式计算和存储的。 首先,我们来了解一下HDFS。HDFS是Hado
阅读全文
【如何提高数据采集和分析的性能】如何优化数据查询、数据分区和数据压缩方面的处理
摘要:文章目录 1. 优化数据查询2. 数据分区3. 数据压缩 数据采集和分析的性能有多方面的因素影响,优化数据查询、数据分区和数据压缩是其中的重要方面。以下是一些具体的优化方法: 1. 优化数据查询 数据查询是数据采集和分析的核心部分,因此优化数据查询非常重要。为了更好地理解数据查询优化方法,让我们来看
阅读全文
【大数据分析方面的经验和技能】数据可视化、数据报表和预测分析
摘要:文章目录 1. 数据清洗2. 数据可视化3. 数据报表1. 关键指标的选择2. 趋势分析的展示3. 制作工具的选择 4. 预测分析 1. 数据清洗 数据清洗是指将原始数据进行处理和转化,使其能够满足分析要求的过程。这个过程包括了丢弃无用、无效的数据、修正错误的数据、填补缺失的数据、去除重复的数据等等
阅读全文
【大数据处理框架】Spark大数据处理框架,包括其底层原理、架构、编程模型、生态圈
摘要:文章目录 Spark框架的底层原理Spark框架的架构Spark CoreSpark SQLSpark StreamingSpark MLlibSpark GraphX Spark框架采用的编程模型Spark生态圈 Spark大数据处理框架是一个开源的大数据处理框架,它可提供高效的内存计算,可在弹性
阅读全文
【线上处理经验】系统问题:数据倾斜
摘要:文章目录 一、数据倾斜的原因 1. 数据分布不均匀 2. 数据处理算法不均衡 二、数据倾斜的解决方案 1. 数据预处理 2. 动态调整负载均衡策略 3. 增加节点数量 4. 数据采样 5. 增加冗余度 在大规模数据处理中,数据倾斜是一种常见的问题。所谓数据倾斜,是指在数据处理过程中,某些节点(或进程
阅读全文
【线上处理经验】系统问题:系统假死
摘要:文章目录 原因 解决 预防 系统假死是指系统无响应或停滞的情况,对于线上处理经验系统来说,这种情况对于用户来说是非常严重的,因为用户在使用系统时需要快速响应,否则会影响用户的体验。本文将介绍线上处理经验系统假死的原因、解决方法,以及预防措施。 原因 首先,系统假死的原因可能有很多,其中比较常见的原因
阅读全文
【线上处理经验】中间件问题:拒绝连接
摘要:在处理线上请求时,经常会遇到一种中间件问题即拒绝连接。这种问题常见于网络通信方面,一般是由于目标服务器或中间件的负载过大,无法处理更多的连接请求,从而导致连接被拒绝。 下面是一些可能导致拒绝连接问题的原因: 1.服务器或中间件负载过大,无法处理更多的连接请求。 2.服务器或中间件配置错误,导致无法接
阅读全文
【架构师基本功】贫血/充血模型
摘要:文章目录 1. 贫血模型 1. 贫血模型的概念 2. 数据对象的作用 3. 数据访问和业务逻辑的作用 4. DAO和Service的作用 5. 实现步骤 6. 实现效果 贫血模型的优点 贫血模型的缺点 2. 充血模型 1. 充血模型/领域模型的概念 2. 问题领域的建模 3. 业务逻辑的封装 4.
阅读全文
【架构师基本功】架构设计协议RAFT
摘要:文章目录 一、RAFT简介 二、RAFT基本原理 三、RAFT算法的优点 四、RAFT算法的应用 五、总结 一、RAFT简介 RAFT是一种分布式一致性算法,由Diego Ongaro和John Ousterhout在2014年提出。RAFT的全称是“一致性算法协议”,它被设计用来解决分布式系统中的
阅读全文
【架构师基本功】分布式架构
摘要:文章目录 一、架构设计原则 1. 高内聚低耦合 2. 模块化设计 3. 服务化 4. 弹性设计 5. 高可用性设计 6. 安全设计 二、 技术框架 1. Spring Cloud 2. Dubbo 3. ZooKeeper 4. Kubernetes 三、 数据存储 1. 分布式数据库 2. NoS
阅读全文
【架构师基本功】DDD领域建模
摘要:文章目录 什么是领域建模? 为什么需要领域建模? DDD 领域建模的核心概念 1. 实体(Entities) 2. 值对象(Value Objects) 3. 聚合(Aggregates) 4. 仓库(Repository) 5. 服务(Services) 1.理解业务领域 2.建立统一语言 3.实
阅读全文
【PC市场怎样走出寒冬?】
摘要:文章目录 一、拓展多样化的产品线二、注重创新和技术升级三、加强服务和体验四、开发新兴市场 大众还需要PC吗?22年初起,PC市场进入了漫长的寒冬,大规模裁员、华硕“扩编式”改组、PC厂商618战绩等消息不断传来,受到大众的广泛关注。乍暖还寒时候,PC市场怎样走出寒冬?请来谈谈你的看法。 随着智能手机
阅读全文
【给选志愿的毕业生们一点建议】
摘要:文章目录 一、选专业还是选学校二、你想推荐/避雷的专业三、填报志愿的策略四、影响专业选择的因素五、高校的综合素质和环境六、专业课程设置七、实习和就业机会八、个人兴趣和爱好 各省高考成绩已出,又到一年高考季。张雪峰提到:“普通家庭不要光谈理想,也要谈落地。”志愿怎样填报、选专业还是选学校、什么专业好就
阅读全文
【10万元存款是一个“坎”】
摘要:文章目录 角度一:你的目前的存款在哪一个区间?你觉得存款难吗?角度二:谈谈你为存款做出过哪些努力?角度三:你认为除了个人因素外,有哪些因素影响到了年轻人的存款能力和存款意愿?角度四:你认为年轻人攒够多少存款就可以裸辞/要攒够多少存款才可以体面的养老? * 近日,有调查称“大概五分之一的年轻人存款在一
阅读全文
【我是如何解决甲方无厘头的需求的】
摘要:文章目录 方向一:分享那些你遇到的无理需求方向二:面对这些无理需求时你是怎么做的?方向三:怎么避免遇见这些无理需求 工作过程中难免遇见一些“神奇的甲方”,他们总是会给你提出一些匪夷所思甚至无厘头的需求。你是否也有这样的经历,面对这样“无理的需求”你又是怎么做的呢? 当遇到“神奇的甲方”提出的不合理需
阅读全文
【架构师基本功】架构设计协议Gossip
摘要:文章目录 什么是Gossip协议? Gossip协议的核心思想 Gossip协议的工作流程 传播阶段 合并阶段 Gossip协议的优点和缺点 优点 缺点 Gossip协议在分布式系统中的应用 分布式数据同步 负载均衡 健康检查 总结 架构师基本功之一便是架构设计,而在架构设计中,协议设计便是极为重要
阅读全文
【架构师基本功】DDD高可扩展业务架构
摘要:文章目录 1. 领域模型 2. 分层架构 3. 服务化架构 4. 消息队列 5. 缓存机制 6. 分布式架构 DDD高可扩展业务架构 DDD是指领域驱动设计(Domain Driven Design),是一种面向对象的软件开发方法,它强调软件开发团队与业务专家之间的协作及对业务流程的深入理解,以此来
阅读全文
【架构师基本功】DDD领域驱动原则
摘要:文章目录 1. 领域模型 2. 战略设计 3. 战术设计 4. 领域对象 5. 聚合 6. 工厂 7. 仓储 DDD领域驱动设计是一种软件开发方法,强调软件系统设计应该以问题领域为中心,而不是技术实现为主导。它提出了许多原则,这些原则都是基于理解领域的需求,使得领域概念清晰且易于开发和维护。本文将介
阅读全文
【线上处理经验】中间件问题:时钟回拨
摘要:文章目录 一、背景 二、时钟回拨的问题 1.时钟回拨的定义 2.时钟回拨的原因 3.时钟回拨的影响 三、中间件处理时钟回拨的方法 1.使用NTP保持时钟同步 2.使用本地时钟增量值(Local Clock Drift) 3.使用集群时间戳(Cluster Timestamp) 4.限制系统时钟漂移值
阅读全文
【架构师基本功】领域事件与CQRS
摘要:文章目录 一、什么是领域事件和CQRS 1. 领域事件 2. CQRS 二、为什么要使用领域事件和CQRS 1. 解耦和松散耦合 2. 高并发和扩展性 3. 提高系统的可靠性和可维护性 三、领域事件和CQRS的实现方式 1. 领域事件的实现方式 2. CQRS的实现方式 四、领域事件和CQRS的优缺
阅读全文
【Spring面试全家桶】导读篇
摘要:文章目录 【Spring面试全家桶】@Value注解【Spring面试全家桶】Spring之Bean的生命周期步骤详解【Spring面试全家桶】Spring之推断构造方法底层原理详解【Spring面试全家桶】Spring之依赖注入底层原理详解【Spring面试全家桶】Spring之初始化前、初始化、
阅读全文
【线上处理经验】中间件问题:哈希碰撞
摘要:文章目录 什么是哈希碰撞? 哈希碰撞的原因 哈希碰撞的影响 处理哈希碰撞的步骤和技术手段 1. 选择合适的哈希函数 2. 使用开放地址法解决哈希碰撞 3. 使用链式法解决哈希碰撞 4. 使用高效的哈希表实现 5. 提高哈希表的容量和负载因子 总结 中间件是现代软件开发的必备组成部分,它们提供了许多应
阅读全文
【架构师基本功】架构设计协议ZAB
摘要:文章目录 恢复模式 广播模式 总结 架构设计协议ZAB是Apache ZooKeeper中的一种协议,用于保证分布式系统的一致性和可用性。在分布式系统中,ZAB协议是非常重要的基础协议,可以用于实现分布式锁、分布式队列等应用场景。 ZooKeeper是一种分布式协调服务,它提供了一个高可用、高可靠、
阅读全文