我们为什么停用微服务?

2020 年 5 月 29 日

我们为什么停用微服务?

在 Botify,我们工程团队的核心价值观之一是 ownership。我们赋予工程和产品团队自主权以及灵活性,让它们拥有自己的项目并完成这些项目。然而,随着我们在更大的技术栈上工作,团队规模也越来越大,我们开始遇到一些关于如何共享工作成果的问题。

2016 年年底,我们想赋予工程师和产品经理更多的 local ownership,从而能快速轻松地将他们的产品和技术栈投入使用。为此,我们决定将 Django 应用程序拆分为微服务。

这个故事阐述了我们是怎样失败,以及如今我们为何又将这些服务迁回到单体应用。同时,我们还会花些时间来分享我们的经验教训。

在深入讨论前,我想强调下:本文的目的并非指责微服务。在 Botify,我们的理念是“使用最合适的工具”——我们认为,微服务并非此刻解决我们问题的适当工具。

开启微服务之旅

首先,简单介绍下 Botify 的历史。Botify 于 2012 年在 Python/Django 技术栈上创建。到 2016 年初,整个 Botify 平台都是通过我们 Django 应用程序的负载均衡集群提供服务。当时,我们有一个大约 15 人的产品和工程团队。

为什么选择微服务?

以下两个目标促使我们评估在技术栈中使用微服务的可能性:

原文链接:【 https://www.infoq.cn/article/zpi6lLdKaKB3MCLdPiAB 】。未经作者许可,禁止转载。

登录后可解锁全站优质内容

免费畅享技术公开课、顶尖技术团队访谈、一线互联网大厂技术实践

文章
视频
电子书
研究报告
立即登录
2020 年 5 月 29 日 07:00 17674
用户头像

发布了 295 篇内容, 共 131.2 次阅读, 收获喜欢 573 次。

关注

评论 9 条评论

发布
用户头像
全文看下来,只能说你们技术难以支撑你们推进微服务
2020 年 06 月 27 日 21:53
回复
用户头像
他們缺乏一位有能力的軟體架構師,感覺是個 newbie 在帶 team. 微服務不是只有 DDD 做完就上,數據也得拆分, 通過一些手段像 CQRS 去做橫向數據、timer 等元件的擴展,這還只是基礎,看起來他們對其下的 Infra 結構也沒什麼著墨,多半是只會套framework的 junior engineer, 分散不了就把People/Process/Technology 拿出來數落一遍,再扯個 Culture 就下課了。

他們真的只能走 monolithic program.
2020 年 06 月 07 日 05:04
回复
用户头像
“不管 REST 调用的结果是什么,总是返回 200 响应”,失败也返回200,为什么你们会有这种奇妙的操作……
2020 年 06 月 07 日 00:16
回复
用户头像
技术太烂!微服务应该是分离数据库的
2020 年 06 月 06 日 20:27
回复
用户头像
我觉得更想是没有选对合适的NodeJS微服务框架,建议作者看一下moleculer
2020 年 06 月 06 日 19:29
回复
用户头像
拆分的微服务技术栈不同、而且共享数据库影响到了部署上线,这种场景确实不适合
2020 年 06 月 04 日 10:27
回复
用户头像
没怎么看懂啊, 他为啥不用微服务啊?
2020 年 06 月 01 日 11:01
回复
他沒說的:
就是沒有做數據拆分,不懂使用 CQRS, 沒有搞清楚 Data ownership, 讓每個人都當 owner,結果就是在數據庫打架。
2020 年 06 月 07 日 05:23
回复
因为设计和技术能力太差
2020 年 06 月 08 日 09:03
回复
没有更多评论了
发现更多内容

2020年亚洲南京大数据产业展览会

南京专业智博会

展览会 论坛会 博览会 智博会

分布式锁🔒是个啥❓ 其实就这么点事

山中兰花草

Java redis 后端 分布式锁 开发

使用 PCA 进行降维可视化,了解特征分布

黄大路

数据挖掘 数据分析 可视化

思维模型 - 概念篇

石云升

学习笔记 高效 思维模型 决策

用大数据分析了一线城市1000多份岗位招聘需求,告诉你如何科学找工作

柠檬橙

Python 数据分析

2020亚洲南京第十三届人工智能机器人服务展览会

南京专业智博会

展览会 论坛会 博览会 智博会

ARTS打卡-01

Geek_yansheng25

ARTS 打卡计划

原创 | 使用JUnit、AssertJ和Mockito编写单元测试和实践TDD (十二)编写测试-简单测试

编程道与术

Java 编程 TDD 单元测试 JUnit

ARTS-week-1

saddamwilson

ARTS 打卡计划

推荐几款有意思的小众App(05.30)

静陌

产品 App

github看代码效率提高10倍!因为用了sourcegraph这个工具

柠檬橙

GitHub 程序员 效率工具

2020年南京第十三届智慧停车展会

南京专业智博会

展览会 博览会 智博会 展览会论坛会

面试造飞机系列:说下微服务接口设计原则?

柠檬橙

分布式 微服务 后端 架构设计

k6新崛起的性能测试工具

IT民工仁兄

DevOps 性能 性能测试

原创 面试官:你说对MySQL事务很熟?那我问你10个问题

柠檬橙

MySQL 数据库

Java 底层基础笔记(一)硬件

奈何花开

Java Linux 计算机基础

2020年南京第十三届物联网应用展览会

南京专业智博会

展览会 论坛会 博览会 智博会

2020亚洲智能家居全屋智能展会-南京站

南京专业智博会

展览会 论坛会 博览会 智博会

如何衡量产品需求效果

黄大路

产品经理 产品设计 运营

Wireshark的使用与数据分析(一)

姬翔

游戏夜读 | 记忆里的老游戏

game1night

Jupyter最佳实践

pydata

PageHelper

BitSea

如何优雅地实现泛型类的类型参数化

KAMI

Java 编程 反射 泛型

这可能是 Markdown 写微信公众号的一款神器了!

JackTian

效率工具 markdown markdown编辑器 markdownnice 神器

你真的清楚 Nginx 指令的规则吗?

子杨

nginx 运维

2020南京第十三届智慧工地装备展览会

南京专业智博会

展览会 论坛会 博览会 智博会

10分钟白嫖我的常用的在线工具网站清单

Guide哥

设计 在线工具 工具类网站 PDF

带你学够浪:Go语言基础系列-环境配置和 Hello world

柠檬橙

golang 后台开发

Markdown 几行字符就可以生成思维导图了!

JackTian

markdown 思维导图 markdown语法 markdown编辑器 Markmap

Linux下程序出问题不要慌,资深程序员教你6招搞定!

柠檬橙

Linux 程序员 后台开发

大数据技术发展真的进入瓶颈期了吗?

大数据技术发展真的进入瓶颈期了吗?

我们为什么停用微服务?-InfoQ