| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> 微服务架构演变之路 -> 正文阅读 |
|
[Java知识库]微服务架构演变之路 |
时间:2021年12月11日 作者:小蒋聊技术 大家好,欢迎来到小蒋聊技术。小蒋准备和大家一起聊聊技术的那些事。 今天小蒋准备回顾自己从接触互联网开始,软件行业这十多年里的软件架构演变之路。俗话说“温故而知新”,咱们一起来看看软件架构究竟是如何走到今天“微服务架构”的。 一.单一应用架构小蒋是在2000年左右开始接触互联网的,当时也是因为自己好奇,想看一看究竟什么是Internet。 那个时候上网,主要是通过Web浏览器。当时网站的流量,如果和现在比可以说是非常小的。同一时刻并发人数,最高可能也就是10人左右。 Web应用程序的早期,大部分Web应用是将所有的功能模块打包到一起,放在一个Web容器中运行,所有的功能模块使用同一个数据库。 因为当时网站流量很小,而且所有功能又都打包放在一起,这样就可以减少部署节点和成本。这个时期ORM框架是关键,它的作用是提供“增删改查”能力。 小蒋拿当时电商系统的架构图举例说明: 优点:
缺点:
二.垂直应用架构随着互联网行业的兴起,上网的人数也是逐渐增多。这就意味着网站的访问量,也是逐渐增大的。 这个访问量的增大,通常并不是所有功能的访问量平均增长的,而是跟着业务,单项功能的需求随着时间而几何级增长的。 例如,系统内的“订单”需求不断增长、“用户”需求不断增长、“商品”需求不断增长,等等。 为了适应市场需求的变化,为了解决“单一应用架构”的不足,同时也为了适应逐渐变大的项目开发需求。 许多公司将“单一应用架构”按业务,垂直拆分成为若干系统。系统之间通过网络交互来完成用户的业务交互。 这个时期,主要快速完成前端开发,也就是建站是关键。加速前端开发的Web MVC架构自然也就成为技术的关键了。 优点:
缺点:
三.面向服务的架构当垂直应用越来越多,将核心业务抽取出来,作为独立的服务,这种架构叫做“面向服务的架构”(SOA)。 例如,订单服务、用户服务、商品服务、单点登录,等等。将这些公共的基础服务,提取出来。以接口的方式暴露出来给其他系统调用。 这个时期,分布式服务框架是关键,例如RPC或者Web Service。 优点:
缺点:
四.微服务架构接下来小蒋带大家来看看,现在比较流行的“微服务架构”,“微服务架构”又是什么呢? 微服务架构,其实就是基于“面向服务的架构”(SOA)的思想。为了进一步满足现在移动互联网对多客户端的需求。 对“服务层”再进一步,进行细粒度的拆分。拆分出的服务,只完成某个特定的业务功能。提炼成更细粒度的服务,并以接口的形式对外提供服务,即“微服务”。 究竟,SOA和微服务有什么区别呢? 小蒋是这样认为的:
微服务要做到高内聚、低耦合。方便后续的服务细粒度的复用与伸缩。 优点:
缺点:
总结:单体应用如何拆分为微服务,然后上云,使用Kubernetes管理?等等问题,是需要温故而知新的。 通过小蒋今天的回顾,小蒋意识到“架构也是随着其缺陷不断演变而来的”。 在使用微服务架构设计系统的时候,会涉及到分布式基础知识的方方面面:
这些基础知识,小蒋将会和大家一起来探索的,咱们一起来“温故而知新”。 年龄的增长不可怕,可怕的是从未成长! 感谢大家支持小蒋,小蒋希望和大家共同成长,谢谢。 音频版地址: |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 6:01:47- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |