限时领|《AI 百问百答》专栏课+实体书(包邮)! 了解详情
写点什么

微服务实战经验分享

  • 2014-10-15
  • 本文字数:1330 字

    阅读完需:约 4 分钟

在过去的几个月里,我们已经听到很多关于微服务的优缺点了。微服务真的只是SOA 吗? 微服务确实有助于进行复杂系统架构吗?不论大家怎么说,有一些公司已经转向或正准备转向基于微服务的方法了。他们在实践过程中分享自己获得的正面或负面的经验,是很自然的事。最近, Droplet 公司的 Tom Livesey 分享了他们的经验。为了给讨论增添一些背景信息,Tom 首先介绍了 Droplet 的需求:

就像很多初创公司希望快速推出初始产品一样,刚开始我们用一个单片 Rails 应用来处理从支付到推送通知在内的所有功能。尽管当时还不需要扩展规模,但我们想,如果把一些功能分离出来,也许有好处。于是,我们逐渐分离出了一个个的功能,现在我们有 20 个服务,他们大多采用 Sinatra 或 Go。

Tom 的文章谈到了他们在开发过程中获得的七点经验教训。

别做太多:微服务的“微”字是关键。我觉得,在关于代码规模与行数方面,没有硬性规定;你要认真考虑的是,服务做的是什么,功能是否精简且具有良好的定义。

这一点是值得注意的,因为我们已经听到,有些人认为微服务就一定要规定代码量,它们甚至进一步考虑新建一个术语,叫纳米服务。接着,Tom 提到,他们决定把所有能发布的都发布出来:

为了处理异步事件(比如发送电子邮件和推送通知),有必要采用某种消息队列机制,从而允许其他服务来侦听某些事件,并做出相应的响应。[…] 我们的原则是,不论一个功能对系统中的其他部分来说有多么讨厌或多么微不足道,能发布就发布出来。发布(publishing)相当容易,发布者不用关心有多少订阅者对这个事件感兴趣,只需触发,其他都不用管。这一点非常强大,令微服务能够以极快的速度被构建与部署

关于微服务与数据,Tom 这样描述:

在我们构建新版 Droplet 时,我们花费几周时间增添了大约 10 个新服务。[…] 该服务侦听所有的账户更新事件,并对自己的数据做出相应更新。各个服务应该有自己的数据存储,在服务之间分享数据库不是一个好的做法;不过,缓存来自其他服务的数据是没问题的,只要有机制能保证缓存数据是最新的。

在过去的几年里,有关 SOA 与契约的讨论已经很多了。无论是契约成熟度模型契约版本化 SOA 模式,这些年来,契约一直是 SOA 开发(包括 Web 服务,REST 或其他实现方法)中的重要部分。Tom 也谈到了契约的重要性:

更改服务接口,意味着所有使用它的服务都要修改。受影响的可能是 1 个服务,也可能是 1000 个服务。所以,为了能够满足所有未来的客户方,你需要预先考虑,采用好的 API 实践。当然你也可以对 APIs 进行版本化,或采用版本化的数据表示,但预先做好设计更省事。

Tom 在文章的最后表示,Droplet 认为在微服务上的投入是值得的:

不可否认,采用微服务作为基础设施是需要一定投入的。虽然在 Droplet 我们最近才实现“收支平衡”,但我们确实体会到了好处——构建和部署服务简直太快太简单了。无论是简单地采用现有工具来解决问题,还是尝试新技术,都不会对系统中其余部分有大的影响——这点很棒。

就像在过去几年中,我们不断听到有关其他 SOA 与 REST 方法的经验一样,关于微服务的实战经验肯定会越来越多。这些经验可能会影响人们的选择。在必要时,它们也会促进最佳实践和模式的产生,从而推动微服务的发展。

查看英文原文: Lessons Learnt Using Microservices

2014-10-15 09:212548
用户头像

发布了 63 篇内容, 共 28.1 次阅读, 收获喜欢 11 次。

关注

评论

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

【数据库】你听说过矢量数据库吗?

许思王

数据库 矢量数据库

打破质疑!华为云这款轻量应用服务器让小程序降本增效

轶天下事

成长企业建站难度高阻力大?华为云这款轻量应用服务器“药到病除

轶天下事

华为云耀云服务器L实例:为云游戏开发者提供专业的轻量应用产品

平平无奇爱好科技

华为云耀云服务器L实例:保障网站的稳定性和高可用性

平平无奇爱好科技

中小企业搭建网站选择虚拟主机还是云服务器?华为云有话说

平平无奇爱好科技

全景观察 Bitscrunch,AI 驱动的分布式 NFT 数据网络

股市老人

我们是这样用观测云和第三方公司协作的

代码半亩

快照 告警 可观测 异常追踪

华为云这款服务器化身数字化“利器”,全面助力瞪羚企业网站建设高效“奔跑”

平平无奇爱好科技

华为云耀云服务器L实例:轻量应用助力企业简单上云

平平无奇爱好科技

华为云耀云服务器L实例,轻量应用服务器更适合中小企业选择

平平无奇爱好科技

集成 NVDC 电源路径管理的1-4节电池升降压充电IC解决方案

芯动大师

更高更强版本来袭!华为云耀云服务器L实例让小程序开发更高效更安全

轶天下事

搭建小程序快人一步!轻量应用服务器还得是华为云

轶天下事

探索大模型语言(LLM)科技的革新

屿小夏

机器学习 大数据 AI 云服务 大模型

HAG即将完成首期募资,确认采用比特大陆S21矿机

股市老人

极致好用又安全,华为云耀云服务器L实例让中小成长企业永不宕

轶天下事

翻过电商独立网站“三座大山”,华为云助力企业勇攀高峰

轶天下事

微信小程序开发亏大发了?华为云这款轻量应用服务器轻松躺赚

平平无奇爱好科技

年终省钱攻略丨轻量应用服务器买华为云这款不怕遇坑

平平无奇爱好科技

中小企业网站开发“速通神器”,华为云耀云服务器L实例实至名归.

平平无奇爱好科技

10款好用的iPad笔记软件盘点,每一款都有口皆碑!

彭宏豪95

ipad 效率工具 在线白板 办公软件 笔记软件

高阶版本来袭!华为云这款轻量应用服务器“战斗力”更强了

轶天下事

友商“翻车”后安全性遭忧虑,极致可靠还得是这款轻量应用服务器

平平无奇爱好科技

华为云耀云服务器L实例:让初创企业更有精力专注打磨产品

平平无奇爱好科技

华为云耀云服务器L实例,是否是企业简单上云的最佳选择?

平平无奇爱好科技

汽车之家质效流水线——奔向未来软件交付的关键里程碑

之家技术

ci CD 流水线 效能 释产能

性能与成本如何兼顾,企业选择轻量应用云服务器为何推荐华为云?

平平无奇爱好科技

初创企业建站两眼一抹黑?华为云耀云服务器L实例让你不迷茫!

平平无奇爱好科技

不止源自华为云,这款轻量应用服务器是中小成长企业的“非ban必选”存在

平平无奇爱好科技

SQL 中的 NULL 值:定义、测试和处理空数据,以及 SQL UPDATE 语句的使用

小万哥

MySQL sql 程序员 后端 开发

微服务实战经验分享_SOA_Mark Little_InfoQ精选文章