以日志处理浅谈去中心化
本文通过日志处理的角度来探讨去中心化系统的设计思路和实现方案。
去中心化系统概述
去中心化是分布式系统设计中的重要概念,它通过将控制权分散到多个节点来提高系统的可靠性和容错性。
本文通过日志处理的角度来探讨去中心化系统的设计思路和实现方案。
去中心化是分布式系统设计中的重要概念,它通过将控制权分散到多个节点来提高系统的可靠性和容错性。
叠甲,写这篇文章主要是分享在看 DDD 的项目实践中的一些学习感悟,因为本人懒得看理论,所以都只是猜测 DDD 要这么设计。具体还是要参考 DDD 官方网站: DDD 概念介绍
一般来说在我们的项目中,按照严格分层的结构划分的话,大致是 handler、service(DDD 中细分为 application 和
domain ),dao。
对于 dao 层,如果出现错误,我们的处理方式是直接上抛,选择性的打日志处理错误,比如可能有些接口涉及到在 dao层进行参数校验、手动管理事务等,需要日志记录,但错误仍然是直接上抛。
如何保证缓存和数据库一致性,这是一个老生常谈的话题了。
但很多人对这个问题,依旧有很多疑惑:
我们从最简单的场景开始讲起。
在 MVCC 机制下,Redo Log 和 Bin Log 主要在事务提交时发挥作用 ,它们的作用和触发时机如下:
当执行:
UPDATE users SET age = 26 WHERE id = 1; MySQL 的 事务执行顺序 (结合 MVCC + 日志)如下:
在分布式环境下,各个微服务都会有不同的实例,服务注册和服务发现解决了“有哪些可用实例”的问题,剩下面临的就是,“这么多可用实例,我该把请求发给谁?”。直觉来说,大部分人如果听过一些专业名词,此时会直接想到“负载均衡”。那负载均衡到底是什么呢?