HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

QCon 伦敦演讲:Gilt 转向微服务架构的挑战

  • 2015-03-29
  • 本文字数:1240 字

    阅读完需:约 4 分钟

在 Gilt 公司尝试使用微服务技术三年以来,我们可以看到一些明显的优点,体现在团队自主权、由API 定义边界、将复杂的问题分解为较小的问题等方面。不过,在工具的支持、集成环境和监控方面,还存在着诸多挑战。 Yoni Goldberg QCon 伦敦大会上的一场演讲中,为听众介绍了他们在转向微服务架构时所遇到的各种挑战。

Gilt 是一家做限时抢购业务的公司,Goldberg 是该公司的首席软件工程师,他为我们介绍道:Gilt 是一家于2007 年成立的典型的创业公司,刚开始时使用的技术是 Ruby on Rails 。仅两年之后,他们就需要在系统中运行几千个 ruby 进程,并且数据库也开始显得不胜负荷。

从那时起,他们转为使用 JVM 技术,并且开始了一个 Goldberg 称之为宏观 / 微观服务的时代,他的观点是,宏观服务更多地是针对某个特定的领域,例如销售或支付。而微服务是指将宏观服务分解为较小的服务。他们也为这些服务引入了专用的数据存储系统。他们首先为核心业务创建了 10 个宏观服务,这些服务目前还在应用中,同时也是其它所有服务所依赖的核心。使用这些核心宏观服务的是一系列的支持性服务,例如用户偏好服务,这些服务不是必不可少的,也不会由于这些支持性服务的故障使你的整个业务停顿下来。在这些服务之上,还有另一套服务,负责为所有用户创建视图。这套新的架构解决了 99% 的可伸缩性方面的问题,但也带来了一些其它问题。开发者在使用新服务的过程感到系统缺乏整体性,而且在代码方面缺乏清晰的自主权。其它的问题还包括部署、以及过长的整合周期。

为了克服这些问题,他们增加了微服务的数量,并且为团队授予了更大的权力,让他们不仅负责开发服务,同时也负责测试、部署和监控。这也同时澄清了自主权,基本上一个团队会负责一个服务。对于 Goldberg 来说,这套方案的最大优势在于每个微服务的范围减小了,因此变得更易于理解与探究。同时,他们通过将网页分解为较小的片段,生成了许多小型的 web 应用程序。(LOSA)

这些微服务之间产生了大量的内部依赖。在 Goldberg 看来,开发者所面对的最大挑战就是,对于每个变更,都需要确保不会因此造成其它服务的故障。如果某个变更是破坏性的,那就需要在多个小步骤中完成整个过程,在变更完成后,所有的客户端必须转为使用新的终结点,之后才可以删除旧的终结点。他们所经历过的一个问题是,许多 web 应用程序都在进行相同的方法调用,例如创建某个用户档案。为了克服这一点,他们创建了一种 Goldberg 称之为中间微服务的东西,这个服务知道要创建用户档案需要进行什么样的方法调用,web 应用可以根据这一信息进行正确的调用。

Goldberg 所提到的最后一项挑战是数据的归属。由于他们转向了每个微服务一个数据库的方式,因此生产了大量的小型数据库。他们需要找到某种方式,以管理每个数据库的 schema。他们选择了在某个关系型数据库中进行管理,并且使用了版本系统以跟踪它们的变更。

可以在这里下载到Goldberg 的演讲幻灯片,演讲的视频将在今后几个月之内发布到 InfoQ 网站上。

查看英文原文 A Modern Microservices Architecture

2015-03-29 08:462356
用户头像

发布了 428 篇内容, 共 177.5 次阅读, 收获喜欢 38 次。

关注

评论

发布
暂无评论
发现更多内容

BatchPhoto pro for Mac(mac图片编辑工具)v5.0.1激活版

iMac小白

软件测试/人工智能|测试报告很难写,ChatGPT来帮你

霍格沃兹测试开发学社

融云五大场景化能力,全面赋能金融行业数智化转型

融云 RongCloud

金融 IM RTC 数智化 通讯

转变关键财务流程,实现企业数字化升级

智达方通

数字化升级 预算管理 财务流程

最新demo版|如何0-1开发支付宝小程序之前期准备篇(一)

盐焗代码虾

小程序 支付宝小程序 教程分享

AnyGo for Mac(在iPhone / iPad上轻松模拟GPS位置)v6.8.1激活版

iMac小白

Aiseesoft Mac Video Converter Ultimate for Mac(好用的视频转换工具)免激活版

iMac小白

HarmonyOS 实战项目

快乐非自愿限量之名

鸿蒙 HarmonyOS 鸿蒙开发

Pixologic ZBrush 2024中文版 支持m1

彩云

3D数字雕刻软件 Pixologic ZBrush

通过 Canal 将 MySQL 数据实时同步到 Easysearch

极限实验室

MySQL canal easysearch

软件测试/人工智能|教你如何用ChatGPT写一份漂亮的测试计划

霍格沃兹测试开发学社

Farrago for Mac(最佳的音频编辑软件)v2.0.7注册版

iMac小白

鸿蒙千帆起,美团、百度、去哪儿旅行等60余企业参与鸿蒙实训营

最新动态

云原生专栏丨基于服务网格的企业级灰度发布技术

inBuilder低代码平台

云原生

软件测试/人工智能|如何使用ChatGPT写出满意的测试方案

霍格沃兹测试开发学社

链路追踪,助您洞悉数据联动分析的奥秘

观测云

Profile 链路跟踪 应用性能监控

Permute 3 for mac(万能音视频转换器) 3.11.1中文激活版

mac

苹果mac Windows软件 媒体格式转换软件 Permute

低代码是“银弹”,还是“毒弹”?

高端章鱼哥

低代码

用低代码平台开发应用

互联网工科生

软件开发 低代码 JNPF

Acon Digital Acoustica Premium Edition for mac(mac数字音频编辑器)v7.5.5激活版

iMac小白

探索计算机视觉技术的应用前景

EquatorCoco

计算机视觉 视觉开发 计算机科学与技术

大模型驱动DataWorks数据开发治理平台智能化升级

阿里云大数据AI技术

大数据

OmniGraffle Pro for mac(最好用的思维导图工具)v7.22.3中文正式版

iMac小白

Parallels Desktop 19 for Mac虚拟机 19.1.0一键激活版 支持M1

彩云

Parallels Desktop 虚拟机 Parallels Desktop

ChatGPT被曝测试新功能:学习所有历史聊天,还能重置记忆、“阅后即焚”

Openlab_cosmoplat

云端力量:探索亚马逊云服务器,提升您的业务无限可能

熬夜磕代码、

亚马逊

TinkerTool System for Mac(系统维护工具)v8.88免激活版

iMac小白

做开发这么多年,我终于悟了

秃头小帅oi

SRE方法论之监控设计

不思jo

#运维 #监控

探索当代AI人工智能云服务技术的强者

不在线第一只蜗牛

AI 亚马逊云 AWS Lightsail 云服务 微软云

QCon伦敦演讲:Gilt转向微服务架构的挑战_架构_Jan Stenberg_InfoQ精选文章