领域驱动设计是一种思维方式,也是一组优先任务,它旨在加速那些必须处理复杂领域的软件项目的开发。
两个前提:
- 大多数软件项目中,主要的焦点应该是领域和领域逻辑;
- 复杂的领域设计应该基于模型。
本系列文章主要是阅读《领域驱动设计–软件核心复杂性应对之道(修订版)》–Eric Evans 书笔记。
领域驱动设计是一种思维方式,也是一组优先任务,它旨在加速那些必须处理复杂领域的软件项目的开发。
两个前提:
本系列文章主要是阅读《领域驱动设计–软件核心复杂性应对之道(修订版)》–Eric Evans 书笔记。
领域驱动设计是一种思维方式,也是一组优先任务,它旨在加速那些必须处理复杂领域的软件项目的开发。
两个前提:
本系列文章主要是阅读《领域驱动设计–软件核心复杂性应对之道(修订版)》–Eric Evans 书笔记。
事件驱动架构(Event Driven Architecture)是一种分布式异步架构模式,用于创建可伸缩的应用程序,可用于小规模或大规模的应用程序,是解耦复杂系统组件的一种处理手段。
事件驱动架构模式主要包含两种实现方式,分别是调停者拓扑(Mediator Topology),代理者拓扑(Broker Topology)。Mediator 拓扑结构需要在一个事件通过 Mediator 时精心安排好具体的步骤,而 Broker 拓扑结构无需 Mediator ,而是由你串联起几个事件。
本文主要参考:Software Architecture Patterns > Chapter 2. Event-Driven Architecture
分表分库的分布式应用通常需要用到 ID 生成器生成流水号(支付流水号,订单号等),又称为发号器,以标识数据的全局唯一,ID 全局不可重复。
需要特别注意的是发号器服务的高可用性和高性能。当业务严重依赖发号器服务时,发号器服务有可能成为整个系统的短板。
所以发号器服务需要高可用集群部署来保障高可用性,需要高性能以满足高并发的场景。
架构师职责、能力,良好架构设计。
Spring Cloud(二十二):服务容错 Hystrix 框架核心原理
Netflix Github 官方文档:https://github.com/Netflix/Hystrix/wiki
在分布式环境中,系统所依赖的服务的稳定性存在不可控因素,不可避免地会存在失败。
Hystrix 通过隔离服务之间的访问点、阻止它们之间的级联故障并提供回退选项来做到这一点,所有这些都可以提高系统的整体弹性。
Spring Boot 2系列(六十):Tomcat 中 NIO 模型与启动流程
以 Spring Boot 2.6.3 版本,spring-boot-starter-web 嵌入的 9.0.56 版本 tomcat-embed-core 为例,分析 Tomcat 中的 NIO 的配置与优化。
注意:Tomcat 8.5 移除了 BIO,默认启用 NIO,Tomcat 的架构和核心组件已与 Tomcat 7.x 版本已略有不同,与网上很多基于 Tomcat 7.x 版本分析的文章是不符的,需要自己走读源码。
衡量系统性能的常用指标:QPS,TPS,RT,吞吐量,UV,PV,并发数,用户数,在线用户数,日活跃用户数,同时在线用户量。
请设想下一个大型企业级系统需要如何设计? 在开始主要软件开发之前,我们必须选择一个合适的架构,以提供所需的功能和质量属性。 因此,在将它们应用到的设计之前,我们应该了解不同的的架构。