2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

Zalando 从一体性架构转变为微服务的历程

  • 2016-02-21
  • 本文字数:883 字

    阅读完需:约 3 分钟

业界最负盛名的微服务大会 Microxchg 2016 上周于德国柏林举办。来自 Zalando Rodrigue Schaefer 为听众进行了一场演讲,Zalando 是一家在欧洲处于领先地位的时尚品牌科技公司,在总共上万名员工之中有一千多名是技术工作者。Rodrigue 在演讲中讲述了该公司如何将他们的系统从一个一体性的架构迁移至微服务的过程。

该系统原先的一体性应用是由 Java、Spring 及 Postgres 等技术所构建的,代码非常臃肿,并且充斥着大量的依赖,由此引起了许多协作方面的问题,最终造成了开发周期的逐渐缓慢。随着团队规模的扩大,bug 的比重也随之上升。为了巩固现有的系统而引入了许多僵化的流程,导致创新工作难以开展。此外,由于使用的技术栈有些“陈旧”,也造成了招聘进度的缓慢,并且增加了招聘工作的困难。

公司终于意识到他们应该给予团队充分的信任,而不是强行控制,这意味着每个团队都能够按照自身的技术、以及能够从其他部门那里所获得的帮助等条件来选择最适合自己的技术栈与工具。微服务的迁移工作目前已经开展了 9 个月,技术上的变化包括使用 AWS 进行设置、用 Docker 进行部署以及用 Appdynamics Zmon 进行监控,整个迁移过程已经完成了 90%。

对于这样一个大型公司来说,一旦将整个系统都构建在微服务架构上,就必须做好这 200 多个微服务随时可能发生故障的准备。开发者对于服务要承担起端到端的职责,从 DevOps 到 QA,直至部署过程。每个团队对于其他团队来说都必须表现为一种交付服务的 SaaS 平台,即使对于内部服务也一样。API 优先的概念则意味着全部 70 多个团队必须对于 API 规则保持一致。实现以上目标离不开制订各种规则的主体文档、充分的同行审查、以及对于业务实体的一致的理解。

至于在合规性与安全性方面,Zalando 遵循了四眼原则,并大量应用了审查记录跟踪的做法,以确保每个变更都可以追溯到具体的代码提交者。

新的系统不允许在不同的微服务之间使用共享的库,因此每个团队都必须实现开源,并遵循公司所建立的规则。最后,跨多个团队的测试服务是由一个跨职能的业务促进单位所实现的。

本次演讲的视频可以在 Youtube 上观看。

查看英文原文: From Monolith to Microservices, Zalando’s Journey

2016-02-21 18:003029
用户头像

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

关注

评论

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

一种基于事件驱动思想的 SAP 系统集成二次开发方法介绍

汪子熙

云计算 SAP 二次开发 5月月更

在线TSV转SQL工具

入门小站

工具

sealer 成为 CNCF Sandbox 项目,旨在构建分布式应用交付新标准

阿里巴巴云原生

阿里云 开源 容器 云原生

【PIMF】手把手教会在OpenHarmony仓库不使git命令提交PR参与社区贡献

离北况归

OpenHarmony Openharmony啃论文俱乐部 PIMF团队

ACK One 构建应用系统的两地三中心容灾方案

阿里巴巴云原生

阿里云 容器 云原生 容灾

keep-alive+导航守卫让缓存更精确

空城机

Vue 5月月更

HTML的iframe使用

恒山其若陋兮

5月月更

PHP基础语法1

乌龟哥哥

5月月更

CMMI3级(低成熟度)与5级(高成熟度)到底有什么不同?

高山

CMMI CMMI高成熟度

八卦信息怎样传到吃瓜群众?这是一条正儿八经的技术科普

融云 RongCloud

Zadig + Gitee:完美实现微服务架构持续交付

Zadig

DevOps 云原生 CI/CD 软件交付

九、高可用之弹性伸缩

穿过生命散发芬芳

5月月更 高可用设计

在线提取Sitemap中的URL工具

入门小站

工具

网站开发进阶(五十)IE浏览器JS调试方法详解

No Silver Bullet

调试 5月月更

测试人面试 常被问到的计算机网络题,高薪回答模板来了!

伤心的辣条

Python 程序人生 测试 自动化测试 测试 单元测试

Go语言入门很简单:如何在 Go 语言中使用 MySQL

宇宙之一粟

Go 语言 MySQL 数据库 5月月更

高效学习C++基础部分&话题挑战赛

安然无虞

5月月更

奉劝想把编程学好的学弟们 · 如何高效学习编程?

安然无虞

5月月更

整理了100个必备的Python函数,建议收藏

伤心的辣条

Python 程序人生 软件测试 软件自动化测试 测试 单元测试

浅谈前端和后端的区别

工程师日月

5月月更

适合喜欢快速wiki和md的 vuepress

kcnf

深入浅出PID算法

劼哥stone

算法 工业互联网 PID

YUV色彩空间

Loken

5月月更

什么是数据资产?

奔向架构师

数据资产 5月月更

云原生×实战派:向业务聚焦,数字创新时代的最佳选择

阿里巴巴云原生

阿里云 云原生 实战 电子书 案例集

kubernetes下的Nginx加Tomcat三部曲之二:细说开发

程序员欣宸

Java Kubernetes 5月月更

计算机二级备考

工程师日月

5月月更

这 BUG,绝了

AlwaysBeta

程序员

针对自动取款机优化需求的用例设计,应该挺全面了吧

伤心的辣条

Python 程序人生 软件测试 软件自动化测试 软件测试工程师

天翼云十年一诺,以普惠算力拥抱万里山河

脑极体

linux之history命令

入门小站

Linux

Zalando从一体性架构转变为微服务的历程_语言 & 开发_Alex Giamas_InfoQ精选文章