领域驱动设计里有好多概念不好理解,本篇主要记录一些自己看到的,自觉有助于自己理解的碎片知识。
聚合根(Aggreagte)
一种更大范围的封装,把一组有相同生命周期、在业务上不可分隔的实体和值对象放在一起考虑,只有根实体可以对外暴露引用,也是一种内聚性的表现。
系统都微服务了,事务怎么办?今天来说说。
在电商系统中,当有用户下单后,除了在订单表插入一条记录外,对应商品表的这个商量数量必须减一,怎么保证?用户参加活动下单记录保存后,也需要在活动系统中增加一个记录,如何保证?在搜索广告系统中,当用户点平台广告后,除了在点击事件表中增加一条记录外,还得去商家账户表中找到这个商家,并扣除平广告费,如何保证都操作成功?等等,很多系统中都会有类似的情景。
这些问题本质上都可以抽象为:当一个表数据更新后,怎么保证另一个表的数据也必须更新成功。
让我们从简单的说起:本地事务
paxos怎么读?p-a-x-o-s 或 [peksəs],后面的更好一点吧。就像设计模式一样,知道一个模式的名称才能更好和与别人沟通,交流。算法也一样,向别个介绍或和别人一起讨论的时候,用[peksəs]更好。
paxso中涉及的一些名词,每个人翻译都不一样,有的用英文表达更直观,有的用中文翻译更好理解。比如,process有人翻译为进程,有人翻译为服务器,有的人就直接说process。再比如”决议“,《Paxos Made Simple》里面就是用”value”表式,是不是想不到,这么正式的名词”议“居然就是”value”.
Android版本一直在更新,当前在市面上还没有Android Q(10)机子的时候,在一些应用市场上都要求要适配最新的版本了。怎么测试呢,有些云测试平台就有相应的机型可以测试。
今天要说的是,明明9以下可以运行的APP,为什么在更新之后,上传到市场会报崩溃呢?当然是有原因的,这个篇日志以后会一直更新下去,遇到问题,我会追加在这里。
从 《How tomcat works》入手,学习一下tomcat8的设计(how tomcat works是基于tomcat4的,有点太老。尽管如些,核心的内容基本上变化不大)。
我学习tomcat的代码的目的很简单,就想更深入去理解Tomcat的运行原理,Tomcat的ClassLoader有什么不同,为什么Servlet能在Tomcat里运行。