springCloud系列之一:什么是微服务。

港控/mmm° 2024-04-18 16:08 125阅读 0赞

开篇之废话知多少-——最近在学习springCloud,关于springCloud的大牛博客有很多很多,而自己学习总结写博客只是对自己所学的 知识的一种总结仅此而已。并且锻炼的自己的书写表达能力。

还是那句话自己学习一门新的技术,第一先了解它是干什么用的,然后才能去学习它怎么用,其次再去了解他的原理是怎样实现的。下面的话就开始了我的表演。

一、微服务概念起源

微服务的概念源于2014年3月Martin Fowler所写的一篇文章“Microservices”(http://martinfowler.com/articles/microservices.html)。

二、什么是微服务。

微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力

微服务架构是一种将单应用程序作为一套小型服务开发的方法,每种应用程序都在其自己的进程中运行,并与轻量级机制(通常是HTTP资源的API)进行通信。这些服务是围绕业务功能构建的,可以通过全自动部署机制进行独立部署。这些服务的集中化管理已经是最少的,它们可以用不同的编程语言编写,并使用不同的数据存储技术。

下面两种架构图就一目了然了传统单体应用和微服务架构的的区别

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MDI2NzQxNQ_size_16_color_FFFFFF_t_70watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MDI2NzQxNQ_size_16_color_FFFFFF_t_70 1

单体应用架构图 微服务架构

三、为什么要使用微服务呢?

讲为什么要用微服务就先说一下单体应用的缺点:

传统的单体应用架构功能集中,代码和数据中心化,一个发布包部署后运行在同一个进程中的应用程序。
1、复杂性高:由于是单个归档文件,所以整个项目文件包含的模块非常多,导致模块的边界模糊、依赖关系不清晰、代码的质 量参差不齐,混乱的堆在一起,使得整个项目非常复杂。以致每次修改代码,都非常小心,可能添加一个简单的功能,或者 修 改一个Bug都会带来隐藏的缺陷。
2、技术债务:随着时间的推移、需求的变更和技术人员的更替,会逐渐形成应用程序的技术债务,并且越积越多。
3、扩展能力受限:单体应用只能作为一个整体进行扩展,无法根据业务模块的需要进行伸缩。

微服务架构呢?

可以把多个模块拆分成多个服务,单独部署与开发只通过服务来调用,如果一个模块出现问题不影响整个项目的运行。这样易于开发和维护。

  1. 不足:分布式系统-》分布式事务的问题 ,需要管理多个服务-》服务治理

当然是否选型哪种架构还要取决于业务的需求,不能盲目跟风、量力而行。

结业!

发现写博客也不是一件轻松的事情。对于一个总结和编写能力不是很强的人来说很吃力。真的很佩服那些坚持博客的大牛。

发表评论

表情:
评论列表 (有 0 条评论,125人围观)

还没有评论,来说两句吧...

相关阅读

    相关 什么服务

    前言 一、微服务介绍 1.什么是微服务 2.微服务由来 3.为什么需要微服务? 3.1 早期的单体架构带来的问题 3.2 微服务与单体架构区别 3.3 微服务与SOA区别...