什么是微服务(通俗易懂)
其实网上有很多关于微服务介绍的博客,虽然多,也全,但是有一些对于新手来说不太友好,所以该篇文章我就本着:简单,通俗,一步到位的介绍一下什么是微服务
就两句话
(1)微服务就是一种架构风格
(2)微服务就是把一个项目拆分成独立的多个服务,并且多个服务是可以独立运行的,而每个服务都会占用线程。
好像有点简单过头了,不过对于刚了解的同学这两句话应该也差不多了
-----------------------------------------帅气的分割线----------------------------
这里就扩展的介绍一下微服务,赶时间的朋友可以溜了,因为下面的内容只是扩展的介绍一下微服务
1、微服务的由来
微服务最早由Martin Fowler与James Lewis于2014年共同提出,微服务架构风格是一种使用一套小服务来开发单个应用的方式途径,每个服务运行在自己的进程中,并使用轻量级机制通信,通常是HTTP API,这些服务基于业务能力构建,并能够通过自动化部署机制来独立部署,这些服务使用不同的编程语言实现,以及不同数据存储技术,并保持最低限度的集中式管理。
2、为什么需要微服务
在传统的IT行业软件大多都是各种独立系统的堆砌,这些系统的问题总结来说就是扩展性差,可靠性不高,维护成本高。到后面引入了SOA服务化,但是,由于 SOA 早期均使用了总线模式,这种总线模式是与某种技术栈强绑定的,比如:J2EE。这导致很多企业的遗留系统很难对接,切换时间太长,成本太高,新系统稳定性的收敛也需要一些时间。
3、微服务与单体架构区别
(1)单体架构所有的模块全都耦合在一块,代码量大,维护困难。
微服务每个模块就相当于一个单独的项目,代码量明显减少,遇到问题也相对来说比较好解决。
(2)单体架构所有的模块都共用一个数据库,存储方式比较单一。
微服务每个模块都可以使用不同的存储方式(比如有的用redis,有的用mysql等),数据库也是单个模块对应自己的数据库。(单体架构也可以实现,但是比较麻烦)
(3)单体架构所有的模块开发所使用的技术一样。
微服务每个模块都可以使用不同的开发技术,开发模式更灵活。
4、微服务本质
- 微服务,关键其实不仅仅是微服务本身,而是系统要提供一套基础的架构,这种架构使得微服务可以独立的部署、运行、升级,不仅如此,这个系统架构还让微服务与微服务之间在结构上“松耦合”,而在功能上则表现为一个统一的整体。这种所谓的“统一的整体”表现出来的是统一风格的界面,统一的权限管理,统一的安全策略,统一的上线过程,统一的日志和审计方法,统一的调度方式,统一的访问入口等等。
- 微服务的目的是有效的拆分应用,实现敏捷开发和部署 。
- 微服务提倡的理念团队间应该是 inter-operate, not integrate 。inter-operate是定义好系统的边界和接口,在一个团队内全栈,让团队自治,原因就是因为如果团队按照这样的方式组建,将沟通的成本维持在系统内部,每个子系统就会更加内聚,彼此的依赖耦合能变弱,跨系统的沟通成本也就能降低。
5、什么样的项目适合微服务
微服务可以按照业务功能本身的独立性来划分,如果系统提供的业务是非常底层的,如:操作系统内核、存储系统、网络系统、数据库系统等等,这类系统都偏底层,功能和功能之间有着紧密的配合关系,如果强制拆分为较小的服务单元,会让集成工作量急剧上升,并且这种人为的切割无法带来业务上的真正的隔离,所以无法做到独立部署和运行,也就不适合做成微服务了。
6、微服务开发框架
目前微服务的开发框架,最常用的有以下四个:
Spring Cloud:http://projects.spring.io/spring-cloud(现在非常流行的微服务架构)
Dubbo:http://dubbo.io
Dropwizard:http://www.dropwizard.io (关注单个微服务的开发)
Consul、etcd&etc.(微服务的模块)
什么是微服务(通俗易懂)相关推荐
- 微服务架构讲解,通俗易懂
一.微服务架构介绍 微服务架构(Microservice Architecture)是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦.你可以将其看作是在架构层次而非获取服务的 ...
- 微服务架构最强讲解,通俗易懂,写得太好了!
作者:老_张 来源:www.cnblogs.com/imyalost/p/6792724.html 一.微服务架构介绍 微服务架构(Microservice Architecture)是一种架构概念, ...
- 可能是全网最通俗易懂的微服务架构改造解读
古霜卡比 DBAplus社群排版 读完需要 10 分钟 速读仅需 4 分钟 作者介绍 古霜卡比,7年开发和架构经验.喜欢探索新事物.造轮子与瞎折腾.认为与其追逐日新月异的技术,不如研究底层的基础理论. ...
- 微服务架构最强讲解,那叫一个通俗易懂!
作者:老_张 cnblogs.com/imyalost/p/6792724.html 目录如下: 一.微服务架构介绍 二.出现和发展 三.传统开发模式和微服务的区别 四.微服务的具体特征 五.SOA和 ...
- 微服务架构讲解:那叫一个通俗易懂
点击上方 Java后端,选择 设为星标 优质文章,及时送达 目录如下: 一.微服务架构介绍 二.出现和发展 三.传统开发模式和微服务的区别 四.微服务的具体特征 五.SOA和微服务的区别 六.如何具体 ...
- 微服务入门级简介(通俗易懂)
微服务架构(Microservice Architecture)是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦.你可以将其看作是在架构层次而非获取服务的 类上应用很多SOL ...
- 公司终于决定放弃微服务传统设计模式,全面拥抱 DDD!
前段时间,参加了一场闭门技术交流会,讨论的热点是微服务,话题集中在微服务架构拆分到底应该拆多细. 有微服务的地方就有 DDD(领域驱动设计),不过即便是专业的技术交流会,也没人能给 DDD 的价值下个 ...
- 从0开始的微服务架构:(一)重识微服务架构
2019独角兽企业重金招聘Python工程师标准>>> 导语 虽然已经红了很久,但是"微服务架构"正变得越来越重要,也将继续火下去. 各个公司与技术人员都在分享微 ...
- 再见了微服务!全面拥抱 DDD 思想真正的价值!
前段时间,参加了一场闭门技术交流会,讨论的热点是微服务,话题集中在微服务架构拆分到底应该拆多细. 有微服务的地方就有 DDD(领域驱动设计),不过即便是专业的技术交流会,也没人能给 DDD 的价值下个 ...
- 利用Traefik+Docker构建可弹性扩展的微服务或服务集群
简介 Traefik是一个与Nginx.HAProxy有些相似的HTTP反向代理服务器,兼有负载均衡的功能.Nginx和HAProxy都有一个相同的问题就是,后端服务(通常称之为upstream或ba ...
最新文章
- LINQ篇:ASP.NET using LINQ(Part One) Scott大师的产物
- java string string_深入理解Java:String
- web前端技术分享:多行文本溢出问题解决方案
- (转)OpenSSL命令---pkcs12
- JavaScript 更新对象属性
- python382怎么用_教你如何使用Python快速生成验证码
- Tableau的简单数据可视化操作
- [Java] 蓝桥杯ADV-213 算法提高 3-2求存款
- html文件form根目录,HTML ,form 和 link 使用根目录 的问题,我已经上图了!
- python菜鸟教程100例-菜鸟教程python
- 4G基站软件产品测试,4G TD-LTE测试解决方案全方位解读 - 全文
- 【Alpha阶段】展示博客发布!
- 气象大数据平台(天擎)数据读取方法(python)(地面资料下载)
- c 语言编程规则,C语言编程之 makfile规则.doc
- Android锁机病毒分析
- Excel批量设置数字转化成“以文本形式存储的数字
- 写代码赚钱的一些门路
- 抖音招商团长怎么做?怎么入驻?
- 渣土车识别检测系统-yolov5
- linux关闭进程命令kill