03 2022 档案
摘要:what: 架构就是对结构和组件的描述,可以让大家快速理解整个体系,指导一系列的细节设计。针对不同的视角维度,我们想要表达的结构和组件是不同的,因此存在不同的架构描述。如下图: 常见的一些架构维度: 方案架构,描述我们向客户提供的东西是什么样子的,怎么解决客户对应的问题; 业务架构,描述我们要做一些
阅读全文
摘要:what: 作弊:用欺骗的手段做违法乱纪或者不符合规定的事情。 how: 作弊和“场景、业务规则、意愿”相关。例如:利用“扫村”得到的老人信息注册账户,做人拉人的奖励,在整个过程中,设备、人员信息等都是正常,只是老人并不是意愿参加什么活动。 大体可以按4个体系来看: 按照4要素“设备、用户、行为、意
阅读全文
摘要:why: raft算法中,副本数据是以日志的形式产生的。即leader收到客户端的写请求后,处理写请求的过程就是:日志复制和提交的过程。 what: 日志格式: 日志是由日志项组成的,包括:用户指令(Command),索引值(log index),任期编码(term)。具体如下: 指令:一条由客户端
阅读全文
摘要:why: 栗子:假设一个人要从 A 银行向 B 银行进行跨行转账 100 元。 希望:两个操作( -100 和 + 100),它们是一个事务, 要么同时成功, 要么同时失败 。即:原子性的提交协议(Atomic Commit Protocol) what: 原子性提交协议(有2个特征): 安全性:任
阅读全文
摘要:what: raft是分布式的一致性协议(Consensus),其相对pasox更加简单。用来保障servers上副本一致性的一种算法。 一致性协议是为了确保容错性,也就是即使系统中有一两个服务器当机,也不会影响其处理过程 how: 确保一致性的核心思想: 采用选举机制,参选者需要说服大多数选民(服
阅读全文
摘要:what: 崩溃恢复:即使在数据库宕机的情况下,也不会出现操作一半的情况; bin log :是server层的归档日志,不足以实现崩溃恢复(crash-safe); redo log :是物理日志,具有崩溃恢复的能力; diff: 1、适用对象: bin log: 是 MySQL 的 Server
阅读全文
摘要:领域模型:是对具有某个领域边界的抽象。只反映业务,和任何技术实现无关;其不仅能反映领域中的一些实体概念,如货物,书本,应聘记录,地址,等;还能反映领域中的一些过程概念,如资金转账,等;建立正确的领域模型并不简单,需要领域专家、设计、开发人员积极沟通共同努力。 实体:根据eric evans的定义,”
阅读全文
摘要:DDD领域驱动设计通常会包含战略设计和战术设计两部分: 战略设计:重业务建模,以业务视角,拆分领域,通过事件风暴(从发散到收敛过程),梳理业务并构建领域模型,这块过程会涉及业务人员、产品人员、架构师等多方参与; 战术设计:重落地实现,以构建的领域模型,建立了领域模型的边界与上下文,也就确认了微服务的
阅读全文
摘要:what: DDD:全称领域驱动设计; 核心思想:由领域模型(即结合领域知识和业务需求构建的抽象或模拟)来驱动系统设计,而非数据字典(DB表字段、ES Mapper字段等等)来驱动。 具体文章:https://www.cnblogs.com/sfzlstudy/p/15963309.html MVC
阅读全文
摘要:why 通过对DDD结构的了解,方便在服务化实践中更好的操作。 what 松散4层架构: 结构概图如下: User Interface为用户界面层(或表示层),也可理解为对外接口层。负责向使用者显示信息和解释用户命令; Application为应用层,定义软件要完成的任务,并且指挥领域对象来解决问题
阅读全文
摘要:why: 在MVC走红之前出现过三层架构模式,三层架构模式。而在MVC走红后,大家很多都认为MVC只是三层架构的一个新的叫法。 what: 三层架构: 分别是:UI层,表示用户界面;BLL层,表示业务逻辑;DAL层,表示数据访问; MVC: View层是界面; Model层是业务逻辑; Contro
阅读全文

浙公网安备 33010602011771号