当前位置:网站首页>不吹不黑,这的确是我看过微服务架构最好的文章!
不吹不黑,这的确是我看过微服务架构最好的文章!
2022-08-05 05:18:00 【乘云科技】
2014年,Martin Fowler 与 James Lewis 共同提出了微服务的概念,定义了微服务是由以单一应用程序构成的小服务,自己拥有自己的行程与轻量化处理,服务依业务功能设计,以全自动的方式部署,与其他服务使用 HTTP API 通信。同时服务会使用最小的规模的集中管理 (例如 Docker) 能力,服务可以用不同的编程语言与数据库等组件实现。
微服务 (Microservices) 就是一些协同工作小而自治的服务。
微服务与SOA
面向服务的体系结构SOA (Service-Oriented Architecture) 听起来和微服务很像,但 SOA早期均使用了总线模式,这种总线模式是与某种技术栈强绑定的,比如:J2EE。这导致很多企业的遗留系统很难对接,切换时间太长,成本太高,新系统稳定性的收敛也需要一些时间,最终 SOA 看起来很美,但却成为了企业级奢侈品,中小公司都望而生畏。
微服务架构
合久必分,鉴于「单体应用程序」有上述的缺点,单个应用程序被划分成各种小的、互相连接的微服务,一个微服务完成一个比较单一的功能,相互之间保持独立和解耦合,这就是微服务架构。
技术异构性
不同服务内部的开发技术可以不一致,你可以用java来开发helloworld服务A,用golang来开发helloworld服务B,大家再也不用为哪种语言是世界上最好的语言而争论不休。
可扩展性
庞大的单体服务如果出现性能瓶颈只能对软件整体进行扩展,可能真正影响性能的只是其中一个很小的模块,我们也不得不付出升级整个应用的代价。这在微服务架构中得到了改善,你可以只对那些影响性能的服务做扩展升级,这样对症下药的效果是很好的。
简化部署
如果你的服务是一个超大的单体服务,有几百万行代码,即使修改了几行代码也要重新编译整个应用,这显然是非常繁琐的,而且软件变更带来的不确定性非常高,软件部署的影响也非常大。在微服务架构中,各个服务的部署是独立的,如果真出了问题也只是影响单个服务,可以快速回滚版本解决。
服务注册与发现
微服务之间相互调用完成整体业务功能,如何在众多微服务中找到正确的目标服务地址,这就是所谓「服务发现」功能。
在IT世界没有什么技术是永不过时的,微服务架构的演进就是一个例子。我们不知下一个技术迭代为何时,但微服务框架在我们努力奋斗的每一天每一秒中从未停下更新的脚步。作为IT行业的一角,我们应该对技术饱含热情、积极面对变化、利用新技术让我们再次站在顶峰处。
边栏推荐
猜你喜欢

你要找的cocos面试答案都在这里了!

Cocos Creator开发中的事件响应
![[Kaggle project actual combat record] Steps and ideas sharing of a picture classification project - taking leaf classification as an example (using Pytorch)](/img/7d/7f1301c30034f1c247d41f04c40244.png)
[Kaggle project actual combat record] Steps and ideas sharing of a picture classification project - taking leaf classification as an example (using Pytorch)

函数在开发环境中的应用(简易实例)

Jupyter notebook选择不同的Anaconda环境作为内核运行

网管日记:故障网络交换机快速替换方法

基于STM32F407的WIFI通信(使用的是ESP8266模块)

【UiPath2022+C#】UiPath数据类型

UiPath简介

网络通信及相关函数介绍
随机推荐
每日一题-单调栈
GIS面试问题
Redis设计与实现(第一部分):数据结构与对象
九、响应处理——内容协商底层原理
【Promise高级用法】实现并行和串行API
Unity物理引擎中的碰撞、角色控制器、Cloth组件(布料)、关节 Joint
D39_欧拉角与四元数
2020年手机上最好的25种免费游戏
对象比较
URP渲染管线实战教程系列 之URP渲染管线实战解密(一)
电子产品量产工具(5)- 页面系统实现
C语言—扫雷的实现
idea 快速日志
基于STM32F407的WIFI通信(使用的是ESP8266模块)
LeetCode刷题之第74题
MySQL主从复制—有手就能学会的MySQL集群搭建教程
C语言入门笔记 —— 分支与循环
常见的 PoE 错误和解决方案
【ts】typescript高阶:条件类型与infer
D45_摄像机组件Camera