- 博客(216)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 领域驱动实践具体应用设计分析
领域驱动设计DDD是一种设计思想,它可以同时指导中台业务建模和微服务设计(中台本质是业务模型,微服务是业务模型的系统落地),领域驱动设计强调领域模型和微服务设计的一体性,先有领域模型然后才有微服务,而不是脱离领域模型来谈微服务设计。
2020-03-27 19:04:30
1655257
52
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 领域驱动实践架构分析与代码设计
领域驱动设计DDD是一种设计思想,它可以同时指导中台业务建模和微服务设计(中台本质是业务模型,微服务是业务模型的系统落地),领域驱动设计强调领域模型和微服务设计的一体性,先有领域模型然后才有微服务,而不是脱离领域模型来谈微服务设计。
2020-03-26 18:34:46
1724086
26
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 深入解析Spring Cloud Config:多样配置中心的实现与高可用策略
微服务架构Spring Cloud Config原理与注意事项分享讲解在分布式系统中,配置管理是一项关键任务。随着应用规模和复杂度的增加,传统的配置管理方式已无法满足需求。Spring Cloud Config应运而生,为分布式系统提供了一套集中化的配置管理解决方案。本文将深入探讨配置中心的由来与选择,并详细介绍如何利用Spring Cloud Config结合Git、MySQL和MongoDB等多种数据源实现配置中心。通过实际案例,我们将展示如何扩展其功能,确保高可用性
2019-02-14 14:36:20
1637654
7
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 全面解读Spring Cloud Zuul:从配置到优化的实战指南
在微服务架构中,API网关作为核心组件之一,承担着请求路由、负载均衡、安全认证等重要功能。Spring Cloud Zuul作为一款功能强大的API网关解决方案,得到了广泛应用。本文将深入探讨Spring Cloud Zuul的各项功能,从基础配置到工作原理,再到多层负载和应用优化,全面解析其在实际应用中的最佳实践与实用技巧,为开发者提供一站式指导,助力其打造高性能、高可用的微服务架构。
2019-02-14 14:35:42
1643899
29
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 深入理解Spring Cloud Feign与Ribbon:优雅的微服务调用解决方案
在现代的分布式系统中,微服务架构已经成为了构建大型应用的主流方式。而在微服务架构中,服务间的通信尤为重要,直接影响到系统的稳定性和性能。Spring Cloud作为领先的微服务解决方案,提供了Feign和Ribbon这两个强大的工具,用于简化和优化服务间的调用和负载均衡。本文将探讨Spring Cloud Feign和Ribbon的工作原理及其在实际应用中的最佳实践,帮助开发者更好地理解和利用这些工具来构建可靠的微服务系统。
2019-02-14 14:32:18
1640992
13
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 深入理解服务发现与注册:从单体架构到微服务时代的演进
本文首先回顾了服务发现与注册技术在不同系统架构时代的应用演进,分析了单体架构、SOA架构和现代微服务架构下的实现方式和挑战。随后,文章详细介绍了服务发现与注册的技术选型,并深入探讨了Eureka作为一种基于AP原则的服务注册中心的设计理念,包括其如何解决服务实例注册、剔除和信息一致性问题。接着,本文分析了Eureka的基本架构和细化结构,包括注册中心服务器、服务提供者和消费者的角色和功能。最后,文章讨论了Eureka的高可用方案、区域亲和性以及参数调优与监控策略,帮助读者更好地理解和应用这一关键技术组件来构
2019-02-14 14:28:33
1642371
4
原创 CompletableFuture回调机制的设计与实现
CompletableFuture回调机制的设计与实现:首先分析Future原理总述与局限性,再次分析CompletableFuture原理与回调机制总结,最后从类图分析、整体流程分析和算法实现分析CompletableFuture回调机制设计,结尾给出简单的使用CompletableFuture注意方面
2024-08-22 09:42:02
16919
11
原创 如何在分布式环境中实现高可靠性分布式锁
通过选择合适的分布式锁实现方式,可以有效提升系统的可靠性和一致性,确保业务逻辑的正确执行。在实际应用中,需要根据具体场景选择合适的实现方式,并进行适当的优化和调整,以应对分布式环境下的复杂挑战。
2024-08-22 09:32:37
1965
8
原创 LeetCode 热题 100 回顾
力扣最受刷题发烧友欢迎的 100 道题LeetCode 热题 100 : 题目回顾、解题思路、复杂度分析、代码实现、验证算法
2024-08-22 00:19:30
495
10
原创 深入InnoDB核心:揭秘B+树在数据库索引中的高效应用
本文详细介绍了InnoDB存储引擎中B+树的结构和应用。首先,我们探讨了数据页和目录项记录的存储方式及其紧密关联。接着,解析了在未创建索引情况下的查找过程及其低效性,进而引出B+树索引方案。通过多级目录和高效节点管理,B+树实现了快速的数据查找和管理,通常不超过四层的树结构足以满足大部分应用需求。最后,总结了B+树在InnoDB中的重要性和优势,使得数据库系统在面对复杂查询时依然能够保持高效运作,为数据库性能提供了有力保障。
2024-08-12 07:57:24
6759
531
原创 聚焦IOC容器刷新环节postProcessBeanFactory(BeanFactory后置处理)专项
在很早之前我们单独写过一篇文章《分析SpringBoot启动配置原理》,具体可见:解析SpringBoot启动配置原理其中IOC容器的刷新环节可当重点分析,值得在读源码时进行深入分析,我们会从多个方向上再次进行分析回顾和学习。
2024-08-05 07:32:49
6916
153
原创 全面击破工程级复杂缓存难题
本文详细探讨了缓存技术在现代分布式系统中的应用与优化,涵盖本地缓存与分布式缓存的基本概念和实际应用。分析了旁路缓存模式、读写穿透模式和异步写缓存模式,并从强一致性和最终一致性两个角度提出解决方案。针对缓存穿透、缓存雪崩、缓存击穿和热点key问题,提出了多级缓存、多副本、热点key拆分等策略。最后,介绍了本地缓存+双缓存方案,通过主备缓存切换、数据总线重试机制和自动校对任务,确保系统高可用性和数据一致性。
2024-07-29 00:36:49
11117
370
原创 简单走近ChatGPT
主要涵盖了ChatGPT的背景、NLP学习范式的演进、预训练方法的详细介绍以及OpenAI的GPT系列模型的概述。旨在提供一个全面的认知和理解,以帮助读者更好地了解ChatGPT以及与之相关的NLP领域的发展。
2024-07-22 00:09:27
14294
32
原创 聚焦IOC容器刷新环节prepareBeanFactory专项
在很早之前我们单独写过一篇文章《分析SpringBoot启动配置原理》,其中IOC容器的刷新环节可当重点分析,值得在读源码时进行深入分析,我们会从多个方向上再次进行分析回顾和学习。本次讲聚焦其中的prepareBeanFactory专项展开分析。
2024-07-22 00:05:25
12067
7
原创 解读InnoDB数据库索引页与数据行的紧密关联
首先介绍了索引页结构的重要组成部分,包括文件头部、页面头部、最小和最大记录等。接着详细解释了数据页的双向链表结构和记录行的单向链表结构,揭示了它们在数据库中的作用和关系。特别关注了User Records在页面空间管理中的应用,包括页满前和页满后的处理策略。
2024-07-15 22:56:07
14369
6
原创 互联网数字化商品管理浪潮思考:从信息化到精准运营
从技术角度来看,从运营百万商家到管理数十亿商品,平台必须依靠数据化手段进行商品管理。通过数据化重构人、货、场的关系,优化流量分配和精准营销,使数据成为连接商业环节的最佳语言,最终提升平台的整体流量价值和用户体验。通过这些策略的实施,电商平台能够实现从“商”到“品”的成功转型,更好地满足市场需求,提升竞争力。从过去以“运营商家”为核心的策略,逐步转变为以“运营商品”为导向的模式。这种转变要求我们重新定义运营重点,针对不同品类的特性,制定相应的优化策略。一、商品数字化转型面临的现状分析。
2024-07-08 00:17:52
15579
8
原创 投资策略规划最优决策分析
本文深入探讨了投资策略规划问题,从理论到实践,全面分析了如何在既定规则下最大化投资回报。我们首先通过状态转移方程和初始条件证明了最优投资策略,即每年将所有资金投入到单一投资产品中。接着,证明了规划最优投资策略问题具有最优子结构性质,并设计了最优投资策略规划算法,详细分析了其时间复杂度。最后,我们引入了新的投资限制条件,证明了在这种情况下,最大化10年回报问题不再具有最优子结构性质。通过这些分析,我们展示了理论优化策略与实际约束条件下的投资决策之间的差异,为投资者提供了宝贵的实践参考。
2024-07-08 00:15:45
14097
19
原创 如何在面试中找到最优秀的候选人:雇佣问题的随机化算法探索
本文探讨了雇佣问题及其解决方案中的随机化算法应用。雇佣问题要求在一系列不可回溯的面试中找到最优秀的候选人,传统贪心策略存在局限性。随机化算法通过随机排列和预面试期的引入,有效地提高了找到最佳候选人的概率。通过数学推导和实际模拟,我们验证了随机化算法在这一问题中的有效性,为面试和招聘过程中决策的优化提供了新的思路和方法。
2024-07-01 01:38:33
14931
7
原创 高并发场景下的热点key问题探析与应对策略
当今高并发场景下,热点key问题成为影响系统性能和稳定性的关键挑战。本文探讨了热点key问题的定义及其在分布式系统中的常见表现,如流量集中、缓存分片打垮等。针对这些问题,本文提出了多级缓存策略、多副本策略和热点key拆分与动态分散策略作为有效应对措施。这些策略不仅能显著减轻单点负载压力,还能提升系统的并发处理能力和整体稳定性,从而保障系统在高负载和复杂业务场景下的可靠性。
2024-07-01 00:03:49
16814
99
原创 探究InnoDB Compact行格式背后
本次我们聚焦 InnoDB 行格式,理解它们是如何在幕后悄悄发挥作用的。行格式的设计反映了数据库设计者在权衡性能、存储和兼容性时的决策。到现在为止一共设计了4种不同类型的行格式 ,分别是 Compact 、 Redundant 、Dynamic 和 Compressed 行格式,随着时间的推移,他们可能会设计出更多的行格式,但是不管怎么变,在原理上大体都是相同的。我们本次主要针对Compact InnoDB 行格式进行分析理解。
2024-06-24 00:07:29
16423
7
原创 解放代码:识别与消除循环依赖的实战指南
本文讨论软件开发中常见的循环依赖问题及其解决方法。首先介绍了循环依赖在代码中的形成原因,并提出了避免循环依赖的基本原则。其次,详细介绍了使用工具如JDepend来识别项目中的循环依赖,并通过具体案例分析了三种消除循环依赖的方法:提取中介者、转移业务逻辑和采用回调接口。每种方法都结合了实际的代码改造示例和测试用例,帮助读者理解和应用这些技术以优化自己的软件架构和设计。主要思想的编排思路来自极客时间《如何有效识别和解决代码中存在的循环依赖问题?》,当然也有其他的参考和自身的一些思考和优化。
2024-06-17 23:05:33
16489
21
原创 智能化状态管理:自动状态流转处理模块
自动流转一般都是一个很大的处理系统,其中包含的处理内容是很庞大的,就这样一个大型系统的开发思路,我后面会抽空来分享一篇全局的思路,本次仅针对一般如果我们需要对一些业务流程需要进行自动化处理思维的给出一个样例的自动状态流转处理模块的代码示例。如果有写的不对的地方,请留言指正!
2024-06-15 14:27:39
15857
23
原创 实战指南:理解 ThreadLocal 原理并用于Java 多线程上下文管理
探讨如何基于实现一个高效的上下文管理组件,以解决多线程环境下的数据共享和上下文管理这些问题。通过具体的代码示例和实战展示如何为多线程编程提供一种简洁而高效的上下文管理方案。
2024-06-14 00:11:37
17193
50
原创 聚焦IOC容器刷新环节obtainFreshBeanFactory初始化BeanFactory专项
探讨BeanFactory的刷新机制,从最基本的IOC容器刷新环节出发,逐步分析了其具体实现。主要介绍BeanFactory的刷新过程,然后通过源码分析了在注解驱动和XML配置方式下如何创建和初始化BeanFactory。
2024-06-14 00:09:01
15785
9
原创 从ES的JVM配置起步思考JVM常见参数优化
Java 8目前仍然是许多企业中主要使用的版本之一,尤其是对于比较保守的公司。在过去,CMS (Concurrent Mark-Sweep) 垃圾回收器在Java 8中是一种常见选择,因为它在某些场景下能够提供较好的性能。然而,随着Java版本的不断更新,一些旧的特性和组件被淘汰或替代,比如CMS。Java 14中正式废弃了CMS,而新的垃圾回收器,如ZGC和G1,逐渐成为了主流选择。ZGC和G1在处理大内存堆和低停顿时间方面表现出色,适用于现代应用程序的需求。
2024-06-13 00:07:48
16610
9
原创 Java 同步锁性能的最佳实践:从理论到实践的完整指南
在多线程编程中,锁是保证线程安全的重要手段之一,但如何选择合适的锁并进行优化,一直是我们面临的挑战。本博客探讨Java中同步锁的性能分析与优化之路,从使用同步锁和不使用同步锁的性能对比入手,逐步展开对锁的优化手段和技术原理的解析,帮助读者更好地理解和应用Java中的锁机制。
2024-06-12 00:22:36
16425
13
原创 缓冲区的奥秘:解析数据交错的魔法
本文探讨了缓冲区的重要性及其在不同领域的应用。首先,从直观角度解释了缓冲区的好处,包括保持操作节奏、减少性能损耗和优化用户体验等。其次,通过经典案例分析了文件读写流和日志缓冲的应用,展示了缓冲区的加速效果。进一步探讨了缓冲区优化方向,以及在Kafka中可能引发的数据丢失和对业务高可用性的影响。本文旨在帮助读者深入理解缓冲区的奥秘,以及在实际应用中的优化思路。
2024-06-12 00:09:41
16452
9
原创 聚焦新版综合编程能力面试考查汇总
业务性编程能力指的是开发人员在理解和实现具体业务需求方面的能力。这不仅包括对编程语言、框架和工具的熟练掌握,还涉及对业务逻辑、流程和领域知识的深入理解和灵活运用。在编程结束后或过程中需要扩展分析考查面试者的知识广度。本文总结常考的几类大题分享来说明具体的内容
2024-06-11 00:07:36
16035
8
原创 探寻性能优化:如何衡量?如何决策?
性能优化,看似简单,实则复杂。就像选择一辆汽车一样,你想要的不仅仅是动力强劲,还要兼顾燃油经济性、操控稳定性等一系列指标。而在优化系统性能时,我们也需要综合考虑各种衡量指标,才能做出明智的决策。
2024-06-11 00:04:03
15923
8
原创 探究IOC容器刷新环节初始化前的预处理
本文深入探讨了Spring IOC容器刷新前的关键步骤。我们从快速回顾IOC容器刷新环节开始,引出初始化前的预处理 prepareRefresh 方法的源码分析。随后,我们着重研究了初始化属性源的过程,分别探讨了 GenericWebApplicationContext 和 StaticWebApplicationContext 中的属性源初始化方法。最后,我们深入探讨了初始化早期事件集合的重要性。通过本文的阐述,读者将全面了解IOC容器刷新前的幕后操作,进一步加深对Spring框架核心机制的理解。
2024-06-10 00:08:34
15636
12
原创 核心社群营销和覆盖区域选型
社群营销是一种通过精细化运营和长期用户关系维护,实现企业营销目标的新型营销模式。通过选择合适的平台,建立并管理高价值的社群,企业可以实现拉新、促活和转化等多个目标,为产品的推广和用户关系的维护提供有力支持。在这个过程中,企业微信因其强大的功能和完善的生态系统,成为企业进行社群营销的理想平台。
2024-06-10 00:06:32
15708
11
原创 EMall实践DDD模拟电商系统总结
学习如何利用领域驱动设计(DDD)构建电商系统。从事件风暴开始,团队快速梳理业务流程和事件。系统用例和领域上下文分析系统需求和边界。探讨架构设计,融合六边形架构和系统分层。系统实现包括项目结构、订单功能、领域层实现和Repository层实现。重点介绍聚合、CQRS模式、缓存、Unit Of Work模式等概念。最后,讨论领域事件实现,帮助了解电商系统设计和实现,掌握DDD在电商系统中的应用。
2024-05-03 00:28:05
18099
14
原创 为何数据库推荐将IPv4地址存储为32位整数而非字符串?
探讨在Java开发中存储IPv4地址的最佳方式。通过对比字符串存储和整数存储两种方式的优缺点,我们发现整数存储方式在存储空间效率、查询效率和数学运算方面更具优势。虽然字符串存储方式更直观易读,但在处理大量数据时会浪费存储空间并降低查询效率。通过具体的示例代码演示了如何生成大量的IPv4地址数据,并将其插入到数据库表中。通过查询和索引效率的比较,我们验证了整数存储方式在性能方面的优势。
2024-05-03 00:14:58
18446
13
原创 解救应用启动危机:Spring Boot的FailureAnalyzer机制
探讨Spring Boot中的FailureAnalyzer机制,帮助解决应用启动失败的难题。对FailureAnalyzer的工作原理、生效方式以及自定义的基本步骤进行介绍,包括注册方式说明和实例演示。希望可以帮助更好地理解并利用FailureAnalyzer来诊断和解决应用启动失败的问题。
2024-05-02 22:15:02
18393
14
原创 聚焦Spring后置处理器分析对比
Spring Framework 中的后置处理器允许在容器实例化 Bean 或者在 Bean 的生命周期中进行操作。从源码上来看的话,其实其扩展机制下的后置处理器其实很多。我们重点放到我们常用的几个上BeanPostProcessor、BeanFactoryPostProcessor来聚焦分析一下。
2024-05-02 14:12:28
18310
15
原创 重看Spring聚焦BeanDefinition分析和构造
BeanDefinition是Spring框架中重要的概念之一,它定义了Spring容器中Bean的元信息,是Spring实现依赖注入和控制反转的基础。我们本次来深入探讨BeanDefinition的概念与结构设计,并分析四种构造BeanDefinition的方式及其优缺点。帮助读者选择适合自己项目的构造方式,并为理解和应用BeanDefinition提供指导。
2024-05-02 12:01:24
18078
111
原创 JDK 19 协程新特性:Project Loom 项目的延续
探讨了协程的定义、发展史和 JDK 19 中的实现原理。协程是一种轻量级的并发编程工具,通过 Continuation 控制流、Scheduler 调度和阻塞操作的改造,实现了非阻塞、高效的并发编程。历史回顾包括协程在不同编程语言中的应用和 Java 协程的发展。JDK 19 中的协程原理深入分析了创建协程的方法、非阻塞 IO 改造、Continuation 的作用以及协程的唤醒机制。总结了协程的核心原理和重要组件。
2024-04-25 23:48:15
19874
10
BeanFactory内部解析:Spring框架的心脏如何运作
2024-08-03
解读InnoDB数据库索引页与数据行的紧密关联
2024-08-03
揭秘大模型的世界:初步了解人工智能的核心技术
2024-08-03
自动状态管理革命:优化业务流程的智能解决方案
2024-08-03
赢得签约战:用动态规划优化棒球自由球员选择策略
2024-08-03
文档规范的终极指南:大型项目开发中必备的设计文档标准
2024-08-03
存储选型实战:用真实案例教你如何做出最佳存储决策
2024-08-03
从ES的JVM配置起步思考JVM常见参数优化
2024-08-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人