Author: 林宁
单体优先的微服务架构

作者:Martin Fowler 译者:林宁 当听说有团队在使用微服务架构时候,我注意到了一些规律: 几乎所有成功应用微服务的系统,都来自于一个过大单体项目拆分而来。 几乎所有我听到过一开始就选择使用微服务架构的系统,并从 0 [阅读更多]
DDD 中的几个困难问题

领域到底是什么? 对领域这个词的理解就是 DDD [阅读更多]
如何进行有效的团队回顾

对于敏捷团队来说,不断成长的关键是反馈,而反馈的最大信息来源是回顾。 回顾,不是敏捷的专利。 我党的 “批评与自我批评”,美国陆军的 AAR,中国航天在每一次发射事故后都会做的”归零行动“,这些都是回顾。 Retro 是敏捷软件开发方法中的回顾,Retro 这个单词的全称是 [阅读更多]
DDD中如何持久化聚合

理解聚合 聚合是一组始终需要保持一致的业务对象。因此,我们作为一个整体保存和更新聚合,以确保业务逻辑的一致性。 聚合是 DDD 中最为重要的概念,即使你不使用 DDD 编写代码也需要理解这一重要的概念 —— [阅读更多]
在分布式系统中使用 DDD

在使用 DDD 的思想时,最让人迷惑的就是如何组织代码,也就是通常所说的系统架构的问题。在前面提到 DDD 可以很好地指导代码组织,其中举了两个例子,单体和微服务架构下 DDD [阅读更多]
几种性能测试工具的总结

我们经常会谈论性能、并发等问题,但是衡量性能不是说写段代码循环几百次这么简单。最近从项目上的同事了解到了代码化的测试性能测试工具 k6,以及结合之前用过的Java 微基准测试 (JMH)、AB (Apache Benchmark) 测试、Jmeter [阅读更多]
如何产出规范、安全、高质量的代码?

对于一个软件开发团队,可以通过哪些代码质量指标和扫描方法让团队产出规范、安全、高质量的代码?让开发团队运行的安全、透明、可靠?本文总结了其中一些实践和工具,包含常见代码质量扫描工具、代码质量指标、第三方依赖管理、安全运维等几个方面,主要适用于 Java/JavaScript [阅读更多]
API设计的几条原则

API 本身的含义指应用程序接口,包括所依赖的库、平台、操作系统提供的能力都可以叫做 API。我们在讨论微服务场景下的 API 设计都是指 WEB API,一般的实现有 RESTful、RPC等。API 代表了一个微服务实例对外提供的能力,因此 API [阅读更多]
为什么需要敏捷的7个问题

在一次敏捷课程上,有一些有意思的问题,例如 “通过敏捷会让项目开发进度更快吗?”。其中一些也是几年前我想问的,并带着这些问题加入 [阅读更多]