写点什么

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:002953
用户头像

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

关注

评论

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

C语言指针详解

C语言与CPP编程

c c++ 编程语言 指针

CountDownLatch 瞬间炸裂!同基于 AQS,凭什么 CyclicBarrier 可以这么秀?

程序员小航

Java 源码 AQS 源码阅读 CyclicBarrier

极客大学-架构师训练营

9527

Elasticsearch索引容量管理实践

腾讯云大数据

大数据

第五周作业

Vincent

极客时间 极客大学

安全相关总结

纯纯

链表中移除重复节点,保罗·格雷厄姆的传奇博客,Mac三指拖动操作,大数据平台 John 易筋 ARTS 打卡 Week 17

John(易筋)

大数据 ARTS 打卡计划 链表移除相同节点 保罗格雷厄姆 mac三指操作设置

鹰眼 | 分布式日志系统上云的架构和实践

腾讯云大数据

大数据

架构师训练营第十四周总结

张明森

ARTS Week16

时之虫

ARTS 打卡计划

ARTS打卡 第16周

引花眠

微服务 ARTS 打卡计划

图计算黑科技:打开中文词嵌入训练实践新模式

腾讯云大数据

大数据

03 Spring Security 入门实例

哈库拉玛塔塔

Spring Boot kotlin spring security

ARTS 打卡 (20.09.07-20.09.13)

小王同学

数据结构与算法系列之数组

书旅

数据结构 算法 数组 数据结构与算法

ARTS打卡Week 12

teoking

Mysql学习笔记:InnoDB事务和ACID模型

马迪奥

MySQL innodb

PB级大规模Elasticsearch集群运维与调优实践

腾讯云大数据

大数据

ASP.NET Core 性能优化最佳实践

newbe36524

微服务 性能优化 .net core ASP.NET Core

简述C语言宏定义的使用

C语言与CPP编程

c c++ 编程语言

Spring 5 中文解析测试篇-Spring MVC测试框架

青年IT男

单元测试 Spring5

oeasy教您玩转 linux 010213 中文 fcitx

o

你必须要了解的「架构」小历史

小齐本齐

spring Spring Cloud Spring Boot

第五周总结

Vincent

极客时间 极客大学

洗牌算法

C语言与CPP编程

c c++ 算法 编程语言

智能商业时代的思考(二)网络协同抓住用户

刘旭东

微信 商业价值 数据智能 网络协同 商业智能

前端 10 问之 Docker (第一篇)

局外人

Docker

程序的机器级表示-异构的数据结构

引花眠

计算机基础

哦!这该死的 C 语言

苹果看辽宁体育

c 后端

导致系统不可用原因及密码验证

纯纯

为什么互联网巨头们纷纷使用Git而放弃SVN?(内含Git核心命令与原理总结)

冰河

git 冰河 代码管理 代码仓库 分支合并

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