认识微服务-服务架构演变
单体架构
单体架构:将业务的所有功能集中在一个项目中开发,打成一个包部署。
单体架构的优缺点如下:
优点:
架构简单
部署成本低
缺点:
耦合度高(维护困难、升级困难)
分布式架构
分布式架构:根据业务功能对系统做拆分,每个业务功能模块作为独立项目开发,称为一个服务。
分布式架构的优缺点:
优点:
降低服务耦合
有利于服务升级和拓展
缺点:
服务调用关系错综复杂
分布式架构虽然降低了服务耦合,但是服务拆分时也有很多问题需要思考:
服务拆分的粒度如何界定?
服务之间如何调用?
服务的调用关系如何管理?
人们需要制定一套行之有效的标准来约束分布式架构。
微服务
微服务的架构特征:
单一职责:微服务拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责
自治:团队独立、技术独立、数据独立,独立部署和交付
面向服务:服务提供统一标准的接口,与语言和技术无关
隔离性强:服务调用做好隔离、容错、降级,避免出现级联问题
微服务的上述特性其实是在给分布式架构制定一个标准,进一步降低服务之间的耦合度,提供服务的独立性和灵活性。做到高内聚,低耦合。
因此,可以认为微服务是一种经过良好架构设计的分布式架构方案 。
但方案该怎么落地?选用什么样的技术栈?全球的互联网公司都在积极尝试自己的微服务落地方案。
其中在Java领域最引人注目的就是SpringCloud提供的方案了。
认识微服务-服务架构演变相关推荐
- [知乎] 端游、手游服务端架构演变
本文版权归 知乎 韦易笑 所有,此处为转载+收藏,如有再转,请于作者处获得授权并于文章篇头处标明原创作者及出处,以示尊重! 作者:韦易笑 链接:https://www.zhihu.com/questi ...
- 腾讯内部技术:《轩辕传奇》服务器架构演变
今天给大家分享一下腾讯游戏<轩辕传奇>的服务器架构,讲服务器架构如果只是得一个结果,把架构示意图展示一下,这种没有什么意义,今天我想从一个每个人都会写的最简单的架构模型,如何一步一步的演变 ...
- 基于SpringCloud的微服务架构演变史?
系统架构演变概述 在公司业务初创时期,面对的主要问题是如何将一个想法变成实际的软件实现,在这个时候整个软件系统的架构并没有搞得那么复杂,为了快速迭代,整个软件系统就是由"App+后台服务&q ...
- 系统架构演变:SOA、微服务架构的区别和联系
1.系统架构演变 随着互联网的发展,网站应用的规模不断扩大.需求的激增,带来的是技术上的压力.系统架构也因此也不断的演进.升级.迭代.从单一应用,到垂直拆分,到分布式服务,到SOA,以及现在火热的微服 ...
- 分布式架构演变之路,微服务、限流、熔断....
本文将介绍微服务架构和相关的组件,介绍他们是什么以及为什么要使用微服务架构和这些组件.本文侧重于简明地表达微服务架构的全局图景,因此不会涉及具体如何使用组件等细节. 要理解微服务,首先要先理解不是微服 ...
- Elasticseach:从微服务架构演变到大宽表思维的架构转变
序言 图示:Elasticsearch 在DB-Engine综合排名第8 Elasticsearch 简称"ES", 在DB-Engine 综合排名第8,已经持续了相当长的时间,按 ...
- Spring Cloud Alibaba 微服务1,系统架构演变 + Nginx反向代理与负载均衡
目录 专栏导读 一.系统架构演变 二.什么是Nginx? 三.servername匹配规则 四.正向代理与反向代理 1.正向代理 2.反向代理 3.LVS 五.负载均衡策略 1.轮询 2.权重 3.i ...
- 保姆级教程!Golang微服务简洁架构实战
导语 | 本文从简洁架构的理论出发,依托trpc-go目录规范,简单阐述了整体代码架构如何划分,具体trpc-go服务代码实现细节,和落地步骤,并讨论了和DDD的区别.文章源于我们组内发起的go微服务 ...
- 万字长文解析:分布式架构、SOA、微服务架构、API网关、ESB服务总线架构之间的关联及演进
1架构演进 架构十五年:改变的是形态,不变的是目的 业务驱动架构形态变化 过去十几年,随着互联网发展以及业务的多样化,系统的架构也在不断发生变化,总体上来说大体经历了从单体应用架构-垂直应用架构-分布 ...
最新文章
- mysql useradd_useradd失败
- 东莞厚街工业机器人展会_工业机器人四大家族齐聚!东莞将在12月举办智博会...
- 产生数(Floyd)
- ARM LCD简单绘图API
- 从零搭建分布式文件系统MinIO比FastDFS要更合适
- C#值类型和引用类型的不同
- 华为双系统手机可以刷成单系统_「冯站长之家」今日聚焦:重大突破!华为手机鸿蒙系统2.0,正式面世!骂华为的“喷子”,可以休矣!...
- 在 Microsoft word中插入代码
- Ubuntu和Mac使用gdbserver远程调试android源码
- c++ string取子串_LeetCode第三题 “无重复字符的最长子串” 从低效率到高效率
- 绿联串口线linux驱动下载,绿联usb转串口驱动
- 微信订阅号获取openid
- 博士申请 | 阿尔伯塔大学招收人工智能方向全奖博士生、硕士生
- android 长按保存图片,安卓机上base64图片无法在微信中长按保存?
- 技术、艺术与禅道《禅与计算机程序设计艺术》 / 陈光剑
- 马上就博士毕业了,博士毕业论文外审结果回来了
- (三十六)Delta中性对冲与Delta-Gamma中性对冲
- 基于红外感应的远距离智能跟随小车,自动跟随小车
- linux查看内存命令(查看进程虚拟内存)free命令、vmstat命令、pmap命令(free指令、vmstat指令、pmap指令)
- [ 数通面试 ] 奇安信技术支持工程师 面试分享