• 比特币的区块链机制其实是一种分布式的事件流日志,这个事件流记录着所有的比特币交易事件。 比特币是一种虚拟货币,我们知道我们可以通过自己设立一个机器来专门挖矿,也就是“无偿”获得比特币,但是这个“无偿”并不是真正无偿,你的电脑将以算力和工作量的付出为代价,其
  • 微服务是指一个个单个小型业务功能的服务,由于各个微服务开发部署都是独立的,因此微服务天然是分布式的,因此,分布式系统的设计问题如CAP定理同样适合微服务架构,虽然微服务本身是无状态的,但是微服务是需要管理状态的。这些状态是指领域模型的状态或存储在自己的专有数据库中。
  • 建立微服务的真正道路是事件驱动,这是一个有着DDD, CQRS, Event-sourcing, event streaming, complex-event processing(CEP) 等背景以及丰富JavaEE技术经验的架构师的认识,他经历了从传统整体型monolith到微服务架构之转变,细 icon
  • 这是一个使用Spring Boot和Axon以及Docker构建的Event Sorucing源码项目,技术特点:1.使用Java 和Spring Boot实现微服务;2.使用命令和查询职责分离 (CQRS) 和 Event Sourcing (ES) 的框架Axon Framewo icon
  • 软件编写有时候难以在预算内按时完成的其中一个原因是,缺少对领域专家所说的对商业语言的关注。大多数时候,确认需求意味着将理解的需求映射到某种关系数据模型。然后,构建业务逻辑以在持久性层和表示层之间隧道传输数据,并在此过程中进行必要的调整。虽然并不完美,但该模式仍然使用了很长时间,而日渐增加的复杂性使得 icon
  • 任何试图实现一个完全符合标准的ACID系统的人都知道:你必须顾及很多方面。需要确保数据库实体在事务ACID前提下可以自由创建、修改和删除,而不会有错误风险,在大多数情况下,这种围绕数据库的CRUD总是会有性能方面的损失。这里介绍另外一个方法,设计的基础是基于一系列事件而不是基于数据库这样的可变状态系 icon
  • Eventuate是建立高扩展的事件溯源event sourcing和使用因果一致性建立事件协助的开源服务框架。基于事件驱动和事件溯源的服务能够给予因果顺序的事件流通讯,服务可位于单个服务器本地也可以分布到全球规模,使用因果一致性复制,保持网络分区之间的写操作高可用性。 icon
  • 为什么人们开始谈论“事件流”、“无损数据捕获”、“领域驱动设计”、“CQRS”? 让我们尝试剥离技术,让我们看看下面谎言背后的真相:软件其实是沟通(software is communication)Con icon
  • Twitter的开源DistributedLog是一款高性能复制日志服务,能提供持久的可复制的强一致性(分布式事务机制),可以作为基础构建设施用于创建可靠的分布式系统,例如可复制的状态机(replicated-state-machine)、一般的pub/sub系统、分布式数据库和分布式队列等。是Ka icon
  • 本文比较全面以易懂方式阐述了什么是事件溯源以及优缺点。 什么是Event Sourcing?“传统”保存应用程序变化数据的方式是存储当前状态。例如,您的应用程序可能是一个日历,所以您想存储约会。它可能看起来像这样: icon
  • 本文从流处理、事件溯源Event Sourcing、Reactive和EDA/CEP角度总结Twitter Facebook和LinkedIn的业务模型与架构设计特点。 通常一个网站系统的架构设计取决于其业务特点,Twitter Facebook和Link icon
  • 该文认为实现微服务最难的部分是业务数据,对于复杂业务的微服务系统必须结合领域驱动设计、事件驱动和EventSourcing等。 微服务中数据状态一般是放在数据库中,微服务是根据分离关注然后封装的设计原理,因此,每个微服务应该拥有和控制自己的数据库,并没有两 icon
  • 本文预言将会出现一种非规范化数据库引擎,它的出现类似当初关系数据库或NoSQL出现一样,会导致革命性的前进。 对于一个需求,我们一般有两个实现方向:normalized规范化和 denormalized 非规范化。 icon
  • 这是一篇来自thoughtworks微服务实战经验总结,总结了传统的点对点集成模型的问题,也就是业务流程orchestration风格的问题,展示了基于事件流的choreography风格在微服务架构中高聚合与松耦合的好处。 来自传统的or icon
  • Reactive TraderCloud是一款实时外汇交易平台,应用Reactive编程原理,其架构特点:1.异步和并发2.每件事都是流Everything is a stream, 所有的服务结构都是以流方式响应,不只是返回一个单个响应结果。3.系统健康和容错, 做了很多系 icon
  • CQRS应该是实现分布式状态的一种挑战性实现,挑战点在于:对于站在数据前面的微服务,我们如何能连接到这些数据集?我们如何获得服务的同意达成分布式一致的状态? CAP理论提供分布式状态的模型实现,给定的可用性 一致性和分区性,只能三个之中选择两个,如果你能够 icon
  • 该文介绍了 Segment Challenge 是如何使用命令查询责任分离CQRS和事件溯源模式建立其Web应用。 使用Elixir遵循领域驱动设计使用CQRS非常自然,包括使用Erlang的Actor模型,聚合根非常适合Elixir中的Process,使 icon
  • 我们将看到逻辑编程能做的最令人兴奋的事情之一是实现CQRS模式。Eve语言将CQRS这个理想的设计模式变成了现实。 你知道Eve是一种逻辑编程语言吗?Eve是基于Dedalus ,这是一个Datalog的扩展数据记录 ,Datalog是基于Prolog的逻 icon