其实网上有很多关于微服务介绍的博客,虽然多,也全,但是有一些对于新手来说不太友好,所以该篇文章我就本着:简单,通俗,一步到位的介绍一下什么是微服务

就两句话

(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.(微服务的模块)

什么是微服务(通俗易懂)相关推荐

  1. 微服务架构讲解,通俗易懂

    一.微服务架构介绍 微服务架构(Microservice Architecture)是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦.你可以将其看作是在架构层次而非获取服务的 ...

  2. 微服务架构最强讲解,通俗易懂,写得太好了!

    作者:老_张 来源:www.cnblogs.com/imyalost/p/6792724.html 一.微服务架构介绍 微服务架构(Microservice Architecture)是一种架构概念, ...

  3. 可能是全网最通俗易懂的微服务架构改造解读

    古霜卡比 DBAplus社群排版 读完需要 10 分钟 速读仅需 4 分钟 作者介绍 古霜卡比,7年开发和架构经验.喜欢探索新事物.造轮子与瞎折腾.认为与其追逐日新月异的技术,不如研究底层的基础理论. ...

  4. 微服务架构最强讲解,那叫一个通俗易懂!

    作者:老_张 cnblogs.com/imyalost/p/6792724.html 目录如下: 一.微服务架构介绍 二.出现和发展 三.传统开发模式和微服务的区别 四.微服务的具体特征 五.SOA和 ...

  5. 微服务架构讲解:那叫一个通俗易懂

    点击上方 Java后端,选择 设为星标 优质文章,及时送达 目录如下: 一.微服务架构介绍 二.出现和发展 三.传统开发模式和微服务的区别 四.微服务的具体特征 五.SOA和微服务的区别 六.如何具体 ...

  6. 微服务入门级简介(通俗易懂)

    微服务架构(Microservice Architecture)是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦.你可以将其看作是在架构层次而非获取服务的 类上应用很多SOL ...

  7. 公司终于决定放弃微服务传统设计模式,全面拥抱 DDD!

    前段时间,参加了一场闭门技术交流会,讨论的热点是微服务,话题集中在微服务架构拆分到底应该拆多细. 有微服务的地方就有 DDD(领域驱动设计),不过即便是专业的技术交流会,也没人能给 DDD 的价值下个 ...

  8. 从0开始的微服务架构:(一)重识微服务架构

    2019独角兽企业重金招聘Python工程师标准>>> 导语 虽然已经红了很久,但是"微服务架构"正变得越来越重要,也将继续火下去. 各个公司与技术人员都在分享微 ...

  9. 再见了微服务!全面拥抱 DDD 思想真正的价值!

    前段时间,参加了一场闭门技术交流会,讨论的热点是微服务,话题集中在微服务架构拆分到底应该拆多细. 有微服务的地方就有 DDD(领域驱动设计),不过即便是专业的技术交流会,也没人能给 DDD 的价值下个 ...

  10. 利用Traefik+Docker构建可弹性扩展的微服务或服务集群

    简介 Traefik是一个与Nginx.HAProxy有些相似的HTTP反向代理服务器,兼有负载均衡的功能.Nginx和HAProxy都有一个相同的问题就是,后端服务(通常称之为upstream或ba ...

最新文章

  1. LINQ篇:ASP.NET using LINQ(Part One) Scott大师的产物
  2. java string string_深入理解Java:String
  3. web前端技术分享:多行文本溢出问题解决方案
  4. (转)OpenSSL命令---pkcs12
  5. JavaScript 更新对象属性
  6. python382怎么用_教你如何使用Python快速生成验证码
  7. Tableau的简单数据可视化操作
  8. [Java] 蓝桥杯ADV-213 算法提高 3-2求存款
  9. html文件form根目录,HTML ,form 和 link 使用根目录 的问题,我已经上图了!
  10. python菜鸟教程100例-菜鸟教程python
  11. 4G基站软件产品测试,4G TD-LTE测试解决方案全方位解读 - 全文
  12. 【Alpha阶段】展示博客发布!
  13. 气象大数据平台(天擎)数据读取方法(python)(地面资料下载)
  14. c 语言编程规则,C语言编程之 makfile规则.doc
  15. Android锁机病毒分析
  16. Excel批量设置数字转化成“以文本形式存储的数字
  17. 写代码赚钱的一些门路
  18. 抖音招商团长怎么做?怎么入驻?
  19. 渣土车识别检测系统-yolov5
  20. linux关闭进程命令kill

热门文章

  1. C#工厂模式——简单工厂、工厂方法、反射+简单工厂、抽象工厂
  2. Kotlin - 改良工厂模式
  3. 在linux下打开chm文件
  4. Cocos2d摄像机详解
  5. 阔别263天游戏版号回归:巨头无缘,投资机会从何凸显?
  6. 计算机主板知识,电脑主板知识:主板板型、接口、做工与选购详解
  7. 小白怎么入门网络安全?
  8. 计算机硬盘存储器相关概念
  9. 编辑为什么建议转投_论文被退稿建议转投他刊是什么意思?
  10. iOS 一键加入QQ群