这是一份微博后端架构师李尔摩斯的ppt,主要介绍了微博话题服务高性能降级设计。核心内容是通过抛弃非核心业务和模块,减轻服务自身压力,避免故障扩散,保证核心业务稳定运行。技术上利用LUA脚本定时读取配置文件刷新到共享内存,Nginx获取共享内存配置快速应用新的降级规则。 介绍了微博话题服务高性能降级设计的需求和目标 阐述了三种降级方式:抛弃非核心业务、抛弃非核心模块、抛弃高耦 […]
这是一份微博后端架构师李尔摩斯的ppt,主要介绍了微博话题服务高性能降级设计。核心内容是通过抛弃非核心业务和模块,减轻服务自身压力,避免故障扩散,保证核心业务稳定运行。技术上利用LUA脚本定时读取配置文件刷新到共享内存,Nginx获取共享内存配置快速应用新的降级规则。 介绍了微博话题服务高性能降级设计的需求和目标 阐述了三种降级方式:抛弃非核心业务、抛弃非核心模块、抛弃高耦 […]
Tech 导读 分层单体架构风格是分层思想在单体架构中的应用,其关注于技术视角的职责分层。同时,基于不同层变化速率的不同,在一定程度上控制变化在系统内的传播,有助于提升系统的稳定性。但这种技术视角而非业务视角的关注点隔离,导致了问题域与工程实现之间的Gap,这种割裂会导致系统认知复杂度的提升。 01 经典单体分层架构 在今年的敏捷团队建设中,我通过Suite执行器实现了一 […]
这篇文章是软件架构编年史(译)的一部分,这部编年史由一系列关于软件架构的文章组成。在这一系列文章中,我将写下我对软件架构的学习和思考,以及我是如何运用这些知识的。如果你阅读了这个系列中之前的文章,本篇文章的的内容将更有意义。 创建可维护的应用始终是构建应用的真正的长期挑战。 不久以前,我还为一家公司工作过,其核心业务应用是拥有数千家公司客户的 SaaS 平台。 […]
原文:https://herbertograca.com/2017/08/03/layered-architecture/ 这篇文章是软件架构编年史(译)的一部分,这部编年史由一系列关于软件架构的文章组成。在这一系列文章中,我将写下我对软件架构的学习和思考,以及我是如何运用这些知识的。如果你阅读了这个系列中之前的文章,本篇文章的的内容将更有意义。 分层是一种常见的根据系统中 […]
一、传统分层架构 分层架构的一个重要原则是:每层只能与位于其下方的层发生耦合。 分层架构分两种:一种是严格分层架构,规定某层只能与直接位于其下方的层发生耦合;另一种是松散分层架构,允许任意上方层与任意下方层发生耦合。 下图是一个典型的DDD传统分层架构。 以上分层架构中各层都有自己的职责: 用户接口层负责处理用户请求和用户显示; 应用层实现不同业务场景下的用例或业务流程。其 […]
这篇文章是软件架构编年史(译)的一部分,这部编年史由一系列关于软件架构的文章组成。在这一系列文章中,我将写下我对软件架构的学习和思考,以及我是如何运用这些知识的。如果你阅读了这个系列中之前的文章,本篇文章的的内容将更有意义。 混沌初开,单体始现... 默认的架构风格就是构建一个单体。我的意思是,最开始应用程序就只有一个文件,然后应用程序开始由多个文件组成,从 […]
原文:https://herbertograca.com/2017/07/28/architectural-styles-vs-architectural-patterns-vs-design-patterns/ 这篇文章是软件架构编年史(译)的一部分,这部编年史由一系列关于软件架构的文章组成。在这一系列文章中,我将写下我对软件架构的学习和思考,以及我是如何运用这些知识的。 […]
原文:https://herbertograca.com/2017/07/10/programming-language-evolution/ 这篇文章是软件架构编年史(译)的一部分,这部编年史由一系列关于软件架构的文章组成。在这一系列文章中,我将写下我对软件架构的学习和思考,以及我是如何运用这些知识的。如果你阅读了这个系列中之前的文章,本篇文章的的内容将更有意义。 编程语 […]
原文:https://herbertograca.com/2017/07/05/software-architecture-premises/ 这篇文章是软件架构编年史(译)的一部分,这部编年史由一系列关于软件架构的文章组成。在这一系列文章中,我将写下我对软件架构的学习和思考,以及我是如何运用这些知识的。如果你阅读了这个系列中之前的文章,本篇文章的的内容将更有意义。 在这篇 […]
原文:https://herbertograca.com/2017/07/03/the-software-architecture-chronicles/ 译者:最早看到的是作者的这篇文章(译文),其中的那副信息图可谓集软件架构之大成。后来发现这是作者学习和思考软件架构发展史的系列文章之一。“以史为鉴,可以知兴替”,阅读历史就是学习的过程。翻译也不例外,我也是通过阅读和翻译 […]
对于一个架构师来说,在软件开发中如何降低系统复杂度是一个永恒的挑战。 01 为什么需要DDD 复杂系统设计:系统多,业务逻辑复杂,概念不清晰,有什么合适的方法帮助我们理清楚边界,逻辑和概念 多团队协同:边界不清晰,系统依赖复杂,语言不统一导致沟通和理解困难。有没有一种方式把业务和技术概念统一,大家用一种语言沟通。例如:航程是大家所理解的航程吗? 设计与实现一致 […]
One day I watched a YouTube video about a software engineer who worked in FAANG and mentioned how most of his days consisted of meetings, bug fixes, and hardly writing any new code. 有一天,我在 […]
导读 本文将从日常的三层架构出发,精炼推导出自己的应用架构,并且将这个应用架构实现为Maven Archetype,最后使用Archetype创建一个简单的CMS项目作为本文的落地案例。 01 前言 在今年的敏捷团队建设中,我通过Suite执行器实现了一键自动化单元测试。Juint除了Suite执行器还有哪些执行器呢?由此我的Runner探索之旅开始了! 常见 […]
一、前言 随着美团外卖业务的不断迭代与发展,外卖用户数量也在高速地增长。在这个过程中,外卖营销发挥了“中流砥柱”的作用,因为用户的快速增长离不开高效的营销策略。而由于市场环境和业务环境的多变,营销策略往往是复杂多变的,营销技术团队作为营销业务的支持部门,就需要快速高效地响应营销策略变更带来的需求变动。因此,设计并实现易于扩展和维护的营销系统,是美团外卖营销技术团队不懈追求的 […]
Hello there! Have you ever considered how Elasticsearch knows where to store your documents? And how does it know where to look for them, as well as whether to retrieve, update, or delete […]
BeanUtils (1) BigDecimal (1) CDC (1) ETL (1) github (1) heap (1) LLaMa (1) MAT (5) MDM (1) Sora (1) TCP (1) 业务图 (1) 企业应用 (1) 停机迁移 (1) 内存泄露 (4) 协议 (1) 可用性 (1) 基础设施层 (1) 堆内存 (1) 堆外存 (1) 大事记 (1) 实时协作 (1) 对象转换 (1) 应用架构 (1) 异常 (3) 技术规范 (1) 技术选型 (4) 提示工程 (1) 数据交换 (1) 数据共享 (1) 数据双写 (1) 日期 (1) 时间 (1) 时间线 (1) 术语 (1) 架构方案 (14) 流程图 (1) 精度 (1) 线程模型 (1) 经验分享 (1) 网络编程 (2) 解耦 (1) 软件复杂性 (1) 软件工程 (1) 重构 (4) 重试 (1) 隔离级别 (1) 集群扩容 (1) 领域层 (3) 领域模型 (1)
COPYRIGHT © 2014-2024 verysu.com . ALL RIGHTS RESERVED.
Theme Kratos Made By Seaton Jiang