Pengchen's Blog
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于

DDD的一些随笔感想V

紧接着上一篇,这篇主要结合事件驱动架构和 Saga 模式进一步探索。 事件驱动架构和Saga模式的结合能够充分利用两者的优点,提供了一种高效、松耦合且具有最终一致性的分布式事务处理方式。结合这些架构,可以在微服务系统中处理复杂的业务逻辑和跨服务事务,确保系统具有弹性、扩展性和可维护性。 1. 事件驱动架构与Saga模式的结合思路事件驱动架构通过发布和订阅事件来实现服务之间的异步通信,而Saga模式
2024-10-15
架构
#架构设计 DDD

DDD的一些随笔感想IV

紧接着上一篇,这篇主要讲解Saga模式。 Saga模式是一种用于处理分布式系统中长事务(Long-Running Transactions)的模式。它通过将一个大事务拆分成一系列小的局部事务(Local Transactions),每个局部事务都是独立提交的。如果某个局部事务失败,系统会通过补偿操作来回滚之前已成功的事务,确保系统达到最终一致性。 Saga模式主要用于解决分布式事务中的一致性问题,
2024-10-15
架构
#架构设计 DDD

DDD的一些随笔感想III

紧接着上一篇,这篇主要讲解事件驱动架构。 事件驱动架构(Event-Driven Architecture, EDA)是一种以事件为中心的系统架构模式,常用于构建松耦合、可扩展且响应迅速的系统。事件驱动架构尤其适合分布式系统和微服务架构,因为它能够在服务之间建立异步通信,避免服务之间的强耦合,同时保证系统的扩展性和可维护性。 1. 事件驱动架构的核心概念在事件驱动架构中,系统内的操作和状态变化都通
2024-10-15
架构
#架构设计 DDD

DDD的一些随笔感想II

紧接着上一篇,这篇主要讲解聚合。 聚合(Aggregate)是领域驱动设计(DDD)中的核心概念之一,它用于组织和管理业务模型中的复杂性。聚合在DDD中起着重要作用,帮助我们以分层的方式处理业务逻辑,同时保证数据的一致性和完整性。聚合的设计和管理对于保证微服务架构中的稳定性至关重要。 1. 聚合的定义聚合是领域中的一组相关对象,它们一起处理某个业务场景中的操作。聚合具有以下特征: 聚合根(Agg
2024-10-15
架构
#架构设计 DDD

DDD的一些随笔感想I

最近经常遇到开发谈起DDD的架构设计思想,我翻阅了一些资料后,自己总结了一下。 领域驱动设计(DDD, Domain-Driven Design)是一种设计复杂软件系统的方法,通过将业务领域的知识和技术紧密结合,来指导微服务架构的设计。DDD尤其适合处理复杂、多变的业务系统,在微服务架构中应用也非常广泛。以下是DDD的核心思想、如何在微服务设计中应用,以及代码示例和实际落地的考虑。 1. DDD的
2024-10-15
架构
#架构设计 DDD

雪花算法及其问题

最近看书的发现一些有意思的问题,记录几篇博客。 时钟回拨问题雪花算法(Snowflake Algorithm)是一种分布式ID生成算法,通常使用时间戳作为ID的一部分来保证唯一性。然而,时钟回拨问题会导致时间戳出现错误,进而产生重复的ID或ID顺序错乱。这通常发生在系统时间被手动修改、网络时钟同步失败等情况下。为了避免时钟回拨导致的问题,有几种常见的解决方案: 抛出异常或阻塞等待 当检测到时钟
2024-10-15
算法
#雪花算法

hexo博客搭建和文件删除备份

hexo博客搭建和文件删除备份痛苦的事件​ 最近有些时间,更新一下荒废的博客,没想到hexo本地的博客源文件之前被误删除了。查了网上很多资料,还写了脚本爬网页转md,都没有办法解决,最后还是乖乖的复制html然后转到md,耗时两三天,终于解决了问题。不过,还是丢失了几篇文章,还有一些文章的格式短时间内,也没办法恢复了。 ​ 最新的博客,更新了主题,没有继续使用next,使用了flu
2024-10-14
Blog
#Blog

RangeSumQueryMutable

RangeSumQueryMutable题目介绍307. 区域和检索 - 数组可修改 给你一个数组 nums ,请你完成两类查询。 其中一类查询要求 更新 数组 nums 下标对应的值 另一类查询要求返回数组 nums 中索引 left 和索引 right 之间( 包含 )的nums元素的 和 ,其中 left <= right 实现 NumArray 类: NumArray(int[
2024-10-14
Leetcode

AdditiveNumber

AdditiveNumber题目介绍306. 累加数 累加数 是一个字符串,组成它的数字可以形成累加序列。 一个有效的 累加序列 必须 至少 包含 3 个数。除了最开始的两个数以外,序列中的每个后续数字必须是它之前两个数字之和。 给你一个只包含数字 '0'-'9' 的字符串,编写一个算法来判断给定输入是否是 累加数 。如果是,返回 true ;否则,返回 false
2024-10-12
Leetcode

局域网互访虚机

局域网互访虚机 宿主机配置 虚机配置 kvm配置 宿主机配置找到/etc/network/interfaces,在后面添加 123456789auto br0 //添加的桥接网卡,新的名字iface br0 inet staticaddress 10.0.1.60 //宿主机IPnetmask 255.255.254.0broadcast 10.0.1
2022-01-08
Linux
12345…19

搜索

Hexo Fluid