NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

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

关注

评论

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

Golang微服务框架kratos实现SSE服务

喵个咪

golang websocket Kratos openai

Golang微服务框架kratos实现Socket.IO服务

喵个咪

golang socket websocket Kratos

直播程序源码开发建设:洞察全局,数据统计与分析功能-山东布谷科技创作

山东布谷科技

软件开发 直播 源码搭建 程序源码 mac数据分析统计软件

Centos7安装Node.js详细教程。

百度搜索:蓝易云

node.js 云计算 Linux centos 运维

Golang微服务框架Kratos实现GraphQL服务

喵个咪

golang graphql Kratos

拥抱AIGC,他们有话说——百度李双龙:AIGC将赋能多个场域并惠及千行百业

百度Geek说

人工智能 百度 企业号 7 月 PK 榜 AICG

Linux系统Nginx优化与防盗链详细教程

百度搜索:蓝易云

nginx 云计算 Linux 运维 云服务器

fastposter v2.16.0 让海报开发更简单

物有本末

图片处理 海报生成器 海报生成

云服务器挂载硬盘命令

百度搜索:蓝易云

云计算 Linux 运维 云服务器 硬盘

百度智能云连拿四年第一,为什么要深耕AI公有云市场

脑极体

AI 大模型

Spring AOP 中,切点有多少种定义方式?

江南一点雨

Java spring

3D建模和3D渲染是吃CPU还是显卡?以及专业图形显卡和游戏显卡的区别

Finovy Cloud

3D

Java程序员常用的日志框架有哪些?

java易二三

Java 编程 程序员 计算机

分布式事务两阶段提交和三阶段提交有什么区别?

王磊

java面试

Golang微服务框架kratos实现SignalR服务

喵个咪

golang SignalR Kratos

快速玩转 Llama2!阿里云机器学习 PAI 推出最佳实践(二)——全参数微调训练

阿里云大数据AI技术

人工智能

视觉套件专项活动!与飞桨技术专家一起提升技术实力,更多荣誉奖励等你领取

飞桨PaddlePaddle

人工智能 百度 paddle 飞桨 百度飞桨

Java基础 日期和时间

java易二三

程序员 计算机 java 编程

热烈祝贺埃文科技荣获CCF第38届中国计算机应用大会计算机应用科学技术二等奖

郑州埃文科技

密集发布AI应用后,微软2023财报传递了什么信号|TE解读

TE智库

NineData已支持「最受欢迎数据库」PostgreSQL

NineData

postgresql 客户端 数据源 NineData 集成AI

oracle已有表的分表分区优化操作步骤(单表过大)

zhengzai7

oracle 表分区

Dify.AI:简单易用的 LLMOps 平台,可视化创造和运营你的 AI 原生应用

Dify

AI LLMOps

Golang微服框架Kratos与它的小伙伴系列 - ORM框架 - GORM

喵个咪

golang ORM gorm Kratos

Golang微服框架Kratos与它的小伙伴系列 - ORM框架 - Ent

喵个咪

golang ORM Kratos

澜舟科技创始人兼CEO周明受邀出席“基础科学与人工智能论坛”

澜舟孟子开源社区

Cassandra SSTable 合并策略(一):STCS

冰心的小屋

Cassandra STCS Compaction

Golang微服务框架Kratos实现Thrift服务

喵个咪

Kratos 大乱炖 —— 整合其他Web框架:Gin、FastHttp、Hertz

喵个咪

golang gin Kratos

用故事给予企业全面预算管理一个灵魂

智达方通

全面预算管理 企业全面预算管理 预算场景

Linux系统Apache优化与防盗链详细教程

百度搜索:蓝易云

Apache 云计算 Linux 运维 云服务器

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