240 发简信
IP属地:云南
  • @弓箭手IN上海 ”有CDC服务处理binlog“ 没错,我这里是理解错了,如果这样不是靠应用程序去做 publish 是作者的本意,你找的证据是没问题的。至于具体在项目中你要不要这样做,我觉得是有待商榷的,但是本项讨论你是正确的。:smile:

    Saga - 微服务中的分布式事务

    问题 当我们在开发单体应用时,其实我们对事务(即 transaction)的印象并不会很深刻,一方面是大多数工程师所开发的后端应用对一致性的要求并不是很高,很多时候只是封装一...

  • 这样理解是不对的,当然主要是我没写清楚哈哈。

    “每一步是原子的,创建订单或者进行扣款都必须是原子操作” 是指在 order service 与 price service 中,他们进行操作都是用本地事务来约束的,通常情况下使用的是 db transaction,Chirs 的意思是,我们的代码大约是这个样子:

    begin transaction
    send event to middleware
    save data to local db
    some other operations
    ...
    end transaction

    在这种情况下,如果你的 save to db 失败了,整个 transcation 都是要回滚的(往往是一个 database rollback 对吧,一般是框架替我们做了),但是你的 event 已经发给中间件了,这就追悔莫及了……当然你可以把 fire event 放到最后,也可以放到事件外,当然也可以像你说的,找某种机会从 binlog 中读取,我是不推荐这样做的,因为没有必要,而且远远增加了新系统的复杂度,因为 binlog、WAL 这些东西,不应该是应用程序所负责的。

    不知道我说的对不对,这也是个人理解,欢迎批评

    Saga - 微服务中的分布式事务

    问题 当我们在开发单体应用时,其实我们对事务(即 transaction)的印象并不会很深刻,一方面是大多数工程师所开发的后端应用对一致性的要求并不是很高,很多时候只是封装一...

  • Details - Clean Architecture 读后感 - Part 3

    Database 我们已经想不起来为什么需要在项目中使用数据库了,基本上做后端开发是无法离开的数据库的,从 RDBMS 到 NoSQL 再到最近火热的 NewSQL,我们一直...

  • 120
    Architecture - Clean Architecture 读后感 - Part 2

    架构与架构师 对于软件产品来说,往往是用两方面的价值体现,行为与结构,行为方面的价值表现为业务上的实现,也就是你可以使用软件来定制、完成业务,获取收益,而结构上的体现则反映在...

  • 120
    Principles - Clean Architecture 读后感 - Part 1

    《Clean Architecture》 是一本什么样的书? 废话之前先写结论,如果你有一个类似于架构师、技术负责人这种头衔,或者你是一个很优秀的工程师,想进行一些架构方面的...

  • @jimson_ma 实现的角度来看 应该是这样的细节逻辑

    ABAC - 复杂场景下访问控制解决之道

    引言 引言 在一个典型的软件开发场景中,你作为一名开发人员加入到某个项目后,假设是“超人组”,你往往需要访问这个项目的代码库然后才能开始工作。当你的 Team Lead 将你...

  • 感谢 comment,更正为
    > PDP 根据 PEP 的数据去获取 policy 与环境条件,再进行计算,最后确定是否有权进行请求。

    ABAC - 复杂场景下访问控制解决之道

    引言 引言 在一个典型的软件开发场景中,你作为一名开发人员加入到某个项目后,假设是“超人组”,你往往需要访问这个项目的代码库然后才能开始工作。当你的 Team Lead 将你...

  • 按照NIST的图,PEP并没有获取规则而是PDP根据PEP给的数据去获取的policy。

个人介绍
Hmm, it's time to write something.