Browsed by
分类:微服务

【Chris Richardson 微服务系列】使用微服务重构单体应用

【Chris Richardson 微服务系列】使用微服务重构单体应用

编者的话 本文来自 Nginx 官方博客,是「Chris Richardson 微服务」系列的最后一篇。第一篇介绍了微服务架构模块,并且讨论了使用微服务的优缺点。随后的文章讨论了微服务的不同方面,包括使用 API 网关、进程间通讯、服务发现、事件驱动的数据管理,以及部署微服务。本篇将讨论从单体应用迁移到微服务的策略。
作者介绍Chris Richardson,是世界著名的软件大师,经典技术著作《POJOS IN ACTION》一书的作者,也是 cloudfoundry.com 最初的创始人,Chris Richardson 与 Martin Fowler、Sam Newman、Adrian Cockcroft 等并称为世界十大软件架构师。Chris Richardson 微服务系列全 7 篇
1.微服务架构概念解析2.构建微服务架构:使用 API Gateway3.深入微服务架构的进程间通信4.服务发现的可行方案以及实践案例5.微服务的事件驱动数据管理6.选择微服务部署策略7. 将单体应用改造为微服务(本篇文章

使用微服务重构概述

将单体应用转变为微服务的过程也是将应用现代化的过程,数十年来开发者们一直致力于此。因此,当把应用重构为微服务的时候...阅读全文
【Chris Richardson 微服务系列】选择微服务部署策略

【Chris Richardson 微服务系列】选择微服务部署策略

编者的话 本文来自 Nginx 官方博客,是「Chris Richardson 微服务」系列的第六篇文章。第一篇介绍了微服务架构模式,并且讨论了使用微服务的优缺点。随后的文章讨论了微服务的不同方面,包括使用 API 网关、进程间通讯、服务发现和事件驱动的数据管理。这篇文章将深入讨论部署微服务的策略。
作者介绍Chris Richardson,是世界著名的软件大师,经典技术著作《POJOS IN ACTION》一书的作者,也是 cloudfoundry.com 最初的创始人,Chris Richardson 与 Martin Fowler、Sam Newman、Adrian Cockcroft 等并称为世界十大软件架构师。Chris Richardson 微服务系列全 7 篇
1.微服务架构概念解析2.构建微服务架构:使用 API Gateway3.深入微服务架构的进程间通信4.服务发现的可行方案以及实践案例5.微服务的事件驱动数据管理6. 选择微服务部署策略(本篇文章7.将单体应用改造为微服务

诱因

部署单体应用意味着运行大型应用的多个相同副本,通常提供若干台(N)服务器(物理机或虚拟机),在每台服务器上运行若干个(M)应用实例。部署单体应用并不总...阅读全文
【Chris Richardson 微服务系列】事件驱动的数据管理

【Chris Richardson 微服务系列】事件驱动的数据管理

编者的话 本文来自 Nginx 官方博客,是「Chris Richardson 微服务」系列的第五篇文章。第一篇文章介绍了微服务架构模式,并且讨论了使用微服务的优缺点;第二和第三篇描述了微服务架构模块间通讯的不同方面;第四篇研究了服务发现中的问题。本篇研究微服务架构带来的分布式数据管理问题
作者介绍Chris Richardson,是世界著名的软件大师,经典技术著作《POJOS IN ACTION》一书的作者,也是 cloudfoundry.com 最初的创始人,Chris Richardson 与 Martin Fowler、Sam Newman、Adrian Cockcroft 等并称为世界十大软件架构师。Chris Richardson 微服务系列全 7 篇
1.微服务架构概念解析2.构建微服务架构:使用 API Gateway3.深入微服务架构的进程间通信4.服务发现的可行方案以及实践案例5. 微服务的事件驱动数据管理(本篇文章6.选择微服务部署策略7.将单体应用改造为微服务

微服务以及分布式数据管理中存在的问题

单体应用通常使用单个关系型数据库,由此带来的好处在于应用能够使用 ACID 事务,后者提供了重要的操作特性
  • 原子化:原子粒度的更改...
阅读全文
【Chris Richardson 微服务系列】服务发现的可行方案以及实践案例

【Chris Richardson 微服务系列】服务发现的可行方案以及实践案例

编者的话 本文来自 Nginx 官方博客,是微服务系列的第四篇文章。第一篇介绍了微服务架构的模式,讨论了使用微服务架构的优缺点;第二篇和第三篇描述了微服务架构内部的通讯机制。这篇文章中,我们将会探讨服务发现。
作者介绍Chris Richardson,是世界著名的软件大师,经典技术著作《POJOS IN ACTION》一书的作者,也是 cloudfoundry.com 最初的创始人,Chris Richardson 与 Martin Fowler、Sam Newman、Adrian Cockcroft 等并称为世界十大软件架构师。Chris Richardson 微服务系列全 7 篇
1.微服务架构概念解析2.构建微服务架构:使用 API Gateway3.深入微服务架构的进程间通信4. 服务发现的可行方案以及实践案例(本篇文章5.微服务的事件驱动数据管理6.选择微服务部署策略7.将单体应用改造为微服务

为什么要使用服务发现

假设我们写的代码会调用 REST API 或者 Thrift API 的服务。为了完成一次请求,代码需要知道服务实例的网络位置(IP 地址和端口)。运行在物理硬件上的传统应用中,服务实例的网络位置是相对固定的;代...阅读全文
【Chris Richardson 微服务系列】微服务架构中的进程间通信

【Chris Richardson 微服务系列】微服务架构中的进程间通信

编者的话 本文来自 Nginx 官方博客,是微服务系列文章的第三篇,在第一篇文章中介绍了微服务架构模式,与单体模式进行了比较,并且讨论了使用微服务架构的优缺点。第二篇描述了采用微服务架构的应用客户端之间如何采用 API 网关方式进行通信。在这篇文章中,我们将讨论系统服务之间是如何实现通信的。
作者介绍Chris Richardson,是世界著名的软件大师,经典技术著作《POJOS IN ACTION》一书的作者,也是 cloudfoundry.com 最初的创始人,Chris Richardson 与 Martin Fowler、Sam Newman、Adrian Cockcroft 等并称为世界十大软件架构师。Chris Richardson 微服务系列全 7 篇
1.微服务架构概念解析2.构建微服务架构:使用 API Gateway3. 深入微服务架构的进程间通信(本篇文章4.服务发现的可行方案以及实践案例5.微服务的事件驱动数据管理6.选择微服务部署策略7.将单体应用改造为微服务

简介

在单体应用中,各模块之间的调用是通过编程语言级别的方法或者函数来实现的。而基于微服务的分布式应用是运行在多台机器上的;一般来说,每个服务实例都是一个进...阅读全文
【Chris Richardson 微服务系列】使用 API 网关构建微服务

【Chris Richardson 微服务系列】使用 API 网关构建微服务

编者的话 本文来自 Nginx 官方博客,是微服务系列文章的第二篇,本文将探讨:微服务架构是如何影响客户端到服务端的通信,并提出一种使用 API 网关的方法。
作者介绍Chris Richardson,是世界著名的软件大师,经典技术著作《POJOS IN ACTION》一书的作者,也是 cloudfoundry.com 最初的创始人,Chris Richardson 与 Martin Fowler、Sam Newman、Adrian Cockcroft 等并称为世界十大软件架构师。Chris Richardson 微服务系列全 7 篇
1.微服务架构概念解析2. 构建微服务架构:使用 API Gateway(本篇文章3.深入微服务架构的进程间通信4.服务发现的可行方案以及实践案例5.微服务的事件驱动数据管理6.选择微服务部署策略7.将单体应用改造为微服务

简要概述

让我们想象一下,你要为一个购物应用程序开发一个原生移动客户端。你很可能需要实现一个产品详情页面,展示任何指定商品的信息。下图展示了 Amazon Android 应用在商品详情页显示的内容。即使只是个智能手机应用,产品详情页面也显示了大量的信息。该页面不仅包含基...阅读全文
【Chris Richardson微服务系列】微服务架构的优势与不足

【Chris Richardson微服务系列】微服务架构的优势与不足

编者的话|本文来自 Nginx 官方博客,是微服务系列文章的第一篇,主要探讨了传统的单体式应用的不足,以及微服务架构的优势与挑战。
作者介绍Chris Richardson,是世界著名的软件大师,经典技术著作《POJOS IN ACTION》一书的作者,也是 cloudfoundry.com 最初的创始人,Chris Richardson 与 Martin Fowler、Sam Newman、Adrian Cockcroft 等并称为世界十大软件架构师。微服务在当下引起广泛关注,成为文章、博客、社交媒体讨论和大会演讲的热点;在 Gartner 的 “Hype Cycle” 上排名也非常靠前。与此同时,在软件社区也有人质疑微服务并非新事物。反对者认为微服务只是 SOA (Service Oriented Architecture)的二度包装。然而,无论是追捧还是质疑,微服务架构拥有巨大优势,尤其是它让敏捷开发和复杂的企业应用交付成为可能。本系列包含 7 篇文章,介绍了微服务的设计、构建和部...阅读全文