【从零开始学微服务】01.微服务的过去与现在

简介: 大家好,欢迎来到万猫学社,跟我一起学,你也能成为微服务专家。再介绍什么是微服务之前,我们先了解一下微服务架构的历史,也就是微服务是如何提出来的。

大家好,欢迎来到万猫学社,跟我一起学,你也能成为微服务专家

微服务的历史

再介绍什么是微服务之前,我们先了解一下微服务架构的历史,也就是微服务是如何提出来的。

2011年5月

2011年5月,在威尼斯附近举办了一个软件架构师研讨会,在会上就开始讨论了“微服务”这个术语,用来描述一种常见的架构风格,他们中许多人最近都在探索这种风格。

2012年5月

2012年5月,詹姆斯·路易斯(James Lewis)在旧金山的Qcon大会(QCon San Francisco 2012)上,针对微服务概念在发表了演讲https://qconsf.com/sf2012/sf2012/presentations/show_presentation37e1.html),分享了微服务的概念和架构是如何演进到微服务的。

詹姆斯·路易斯(James Lewis)

2014年3月

2014年3月,詹姆斯·路易斯(James Lewis)和 马丁·福勒(Martin Flower)合写了关于微服务的一篇学术性的文章https://martinfowler.com/articles/microservices.html),详细阐述了什么是微服务,还讲解了微服务的九个特点,之后我们会做详细的介绍。

马丁·福勒(Martin Flower)

随后,微服务架构逐渐成为一种非常流行的架构,一大批的技术框架和文章都涌现出来,越来越多的公司借鉴和使用微服务架构相关的技术。

微服务的现状

再看一下微服务架构的现状,这个是InfoQ在今年发布的架构设计的趋势图https://www.infoq.com/articles/architecture-trends-2022/)。

要想看懂这个趋势图首先了解一下什么是鸿沟理论。在鸿沟理论中,基于人口学和心理学特征,把所有使用某项技术的人分成五种:

  • 创新者,由技术爱好者组成,约占所有人的2.5%。
  • 早期采用者,寻求革命性的突破,约占所有人的13.5%。
  • 早期大众,由实用主义者组成,约占所有人的34%。
  • 晚期大众,由保守派组成,约占所有人的34%。
  • 落后者,由怀疑论者组成的,约占所有人的16%。

最后一种的落后者,在这个图里没画出来。

某一个新技术的早期市场和主流市场之间存在着一条巨大的鸿沟,能否顺利跨越鸿沟并进入主流市场,就决定了这个新技术的成败。当这个新技术跨越中间的这个鸿沟以后,就会被大多数人所接收,并且逐渐开始流行起来。

我们可以看到微服务是在晚期大众这个阶段,说明微服务架构的技术已经发展的非常成熟了,已经被80%以上的大部分人所使用了。

总结

2011年5月,在威尼斯附近的架构研讨会上,开始讨论了“微服务”。
2012年5月,在QCon 旧金山演讲上,詹姆斯·路易斯(James Lewis)发表了微服务的演讲。
2014年3月,詹姆斯·路易斯(James Lewis)和 马丁·福勒(Martin Flower)合写了微服务的文章。

目前,微服务已经很成熟,已经被大多数人所使用。

最后,感谢你这么帅,还给我点赞


《从零开始学微服务》总目录

相关文章
|
3月前
|
人工智能 测试技术
NeurlPS 2025!多伦多大学TIRE助力3D/4D 生成精准保留主体身份
TIRE提出“追踪-补全-重投影”三阶段方法,实现主体驱动的3D/4D生成。通过视频跟踪识别缺失区域,定制2D模型补全纹理,并重投影至3D空间,提升生成一致性与质量,推动动态场景生成新进展。
165 8
NeurlPS 2025!多伦多大学TIRE助力3D/4D 生成精准保留主体身份
|
算法 JavaScript 前端开发
彩票中奖率的真相:用 JavaScript 看透彩票背后的随机算法(下)
至于分发?我们可以参考一下市面上已有的一些概念做一下对比,下面是笼统的一个网络服务器的TPS预估值,也就是说彩票服务器在1秒内可以处理的最大请求数:
|
机器学习/深度学习 人工智能 算法
优化搜索算法:遗传算法的应用
随着计算机科学和人工智能领域的迅速发展,优化算法成为了解决各种复杂问题的重要工具之一。在这篇博客中,我们将讨论一种强大的优化算法——遗传算法(Genetic Algorithm)的应用。
406 0
|
Python
ArcGIS中ArcMap通过Python程序脚本新建工具箱与自定义工具的方法
ArcGIS中ArcMap通过Python程序脚本新建工具箱与自定义工具的方法
343 1
|
安全 网络安全 数据安全/隐私保护
防火墙和堡垒服务器有什么区别?
【7月更文挑战第11天】
882 1
防火墙和堡垒服务器有什么区别?
|
存储 JSON Ubuntu
如何使用 Lua 脚本进行更复杂的网络请求,比如 POST 请求?
如何使用 Lua 脚本进行更复杂的网络请求,比如 POST 请求?
|
数据可视化 UED Python
解锁Matplotlib的交互式图表功能
【4月更文挑战第17天】本文介绍了如何使用Matplotlib创建交互式图表,以增强数据探索体验。通过启用交互模式和利用`matplotlib.widgets`模块,可以创建滑动条、按钮等控件来改变图表属性。例如,滑动条可动态调整线宽,按钮用于切换图例显示。此外,还展示了如何使用Dropdown控件动态更新图表数据。掌握这些技巧能提升数据可视化的交互性和用户体验。
|
安全 Java 数据库
Spring Security 权限管理详解与案例
Spring Security 是 Spring 框架中用于提供认证和访问控制的模块。它保护了成千上万的应用程序,使其免受未经授权的访问。本文将详细介绍 Spring Security 的权限管理功能,并通过一个实际案例来展示其用法。
1723 1
|
编解码 并行计算 芯片
[工业相机] 分辨率、精度和公差之间的关系
[工业相机] 分辨率、精度和公差之间的关系
3811 1
|
数据安全/隐私保护 Windows
Windows子系统WSL使用root用户
Windows子系统WSL使用root用户
436 0