微服务入门系列:单体应用的微服务重构

这篇文章我们将讨论单体应用迁移为微服务的一些策略。 相当大的可能性你正在一个巨大的、复杂的单体应用上工作。每天的开发和应用部署体验既慢又痛苦。微服务看起来似乎像是远处的理想图景。幸运的是,从单体应用地狱逃脱还是有一些策略的。在这篇文章里,我将介绍如何从单体应用增量地重构为一组微服务。…

微服务入门系列:微服务的部署策略选择

微服务应用由数十个甚至数百个服务组成。服务由各种不同的语言和框架编写。每个服务都是一个需要自己特定部署方式、资源、扩容机制和监控需求的小型应用程序。例如,你需要根据这个服务的需求来确定它所需部署的实例数量。并且,必须给每个服务实例合适的 CPU、内存以及 I/O 资源。更有挑战的是需要在处理这种复杂性的同时还需要快速、可靠并且低成本的方式部署这些服务。…

微服务入门系列:使用 API 网关

当你选择使用一组微服务构建应用时,你需要决定客户端如何与这些微服务交互。对于单体应用来说,只有一组(通常是多个实例、带有负载均衡的)请求端点。然而在微服务架构中,每个服务都暴露了通常来说粒度更细的一组端点。我们将在本文讨论这种形式将如何影响客户端应用的通信,并提出 API 网关的方式。…

微服务入门系列:微服务介绍

这篇文章是关于设计、构建和部署微服务的七篇系列文章的第一篇。你将了解实践微服务的方法和它和传统的单体架构模式之间的对比。本系列描述微服务架构的各个元素。你将了解微服务架构模式的优缺点、它是否适合你的项目以及如何实践微服务架构模式。…

Martin Fowler: 微服务

在过去几年中,“微服务架构” 这个术语雨后春笋般地涌出来,它描述了一种将软件应用程序设计成一组独立部署的服务的特定方式。虽然当前还没有对这种架构的精确定义,但它们还是有些公共的特征:围绕组织架构和业务能力、自动部署、端点智能化以及语言和数据去中心化控制。…