【SpringCloud】初步认识微服务

这篇具有很好参考价值的文章主要介绍了【SpringCloud】初步认识微服务。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.认识微服务

随着互联网行业的发展,对服务的要求也越来越高,服务架构也从单体架构逐渐演变为现在流行的微服务架构。那么什么是微服务呢?

1.1微服务由来

微服务最早由Martin Fowler与James Lewis于2014年共同提出,微服务架构风格是一种使用一套小服务来开发单个应用的方式途径,每个服务运行在自己的进程中,并使用轻量级机制通信,通常是HTTP API,这些服务基于业务能力构建,并能够通过自动化部署机制来独立部署,这些服务使用不同的编程语言实现,以及不同数据存储技术,并保持最低限度的集中式管理。

1.2为什么需要微服务?

在传统的IT行业软件大多都是各种独立系统的堆砌,这些系统的问题总结来说就是扩展性差,可靠性不高,维护成本高。到后面引入了SOA服务化,但是,由于 SOA 早期均使用了总线模式,这种总线模式是与某种技术栈强绑定的,比如:J2EE。这导致很多企业的遗留系统很难对接,切换时间太长,成本太高,新系统稳定性的收敛也需要一些时间。最终 SOA 看起来很美,但却成为了企业级奢侈品,中小公司都望而生畏。

2.两种架构

2.1.单体架构

单体架构:将业务的所有功能集中在一个项目中开发,打成一个包部署。

【SpringCloud】初步认识微服务

单体架构的优缺点如下:

优点:

  • 架构简单
  • 部署成本低

缺点:

  • 耦合度高(维护困难、升级困难)

2.2.分布式架构

分布式架构:根据业务功能对系统做拆分,每个业务功能模块作为独立项目开发,称为一个服务。

【SpringCloud】初步认识微服务

分布式架构的优缺点:

优点:

  • 降低服务耦合
  • 有利于服务升级和拓展

缺点:

  • 服务调用关系错综复杂

分布式架构虽然降低了服务耦合,但是服务拆分时也有很多问题需要思考:

  • 服务拆分的力度如何界定?
  • 服务之间如何调用?
  • 服务的调用关系如何管理?

人们需要制定一套行之有效的标准来约束分布式架构。

3.微服务的特点

  • 单一职责:微服务拆分力度更小,每一个服务都对应唯一的业务能力,做到单一职责
  • 自治:团队独立、技术独立、数据独立,独立部署和交付
  • 面向服务:服务提供统一标准的接口,与语言和技术无关
  • 隔离性强:服务调用做好隔离、容错、降级,避免出现级联问题

【SpringCloud】初步认识微服务

微服务的上述特性其实是在给分布式架构制定一个标准,进一步降低服务之间的耦合度,提供服务的独立性和灵活性。做到高内聚,低耦合。

因此,可以认为微服务是一种经过良好架构设计的分布式架构方案

其中在Java领域最引人受欢迎的就是SpringCloud提供的方案了。

4.SpringCloud

SpringCloud是目前国内使用最广泛的微服务框架。官网地址:https://spring.io/projects/spring-cloud。

SpringCloud集成了各种微服务功能组件,并基于SpringBoot实现了这些组件的自动装配,从而提供了良好的开箱即用体验。

其中常见的组件包括:

【SpringCloud】初步认识微服务

另外,SpringCloud底层是依赖于SpringBoot的,并且有版本的兼容关系,如下:

【SpringCloud】初步认识微服务

5.总结

  • 单体架构:简单方便,高度耦合,扩展性差,适合小型项目。例如:学生管理系统

  • 分布式架构:松耦合,扩展性好,但架构复杂,难度大。适合大型互联网项目,例如:京东、淘宝

  • 微服务:一种良好的分布式架构方案

    ①优点:拆分粒度更小、服务更独立、耦合度更低

    ②缺点:架构非常复杂,运维、监控、部署难度提高

  • SpringCloud是微服务架构的一站式解决方案,集成了各种优秀微服务功能组件

最后说一句

感谢大家的阅读,文章通过网络资源与自己的学习过程整理出来,希望能帮助到大家。

才疏学浅,难免会有纰漏,如果你发现了错误的地方,可以提出来,我会对其加以修改。

【SpringCloud】初步认识微服务文章来源地址https://www.toymoban.com/news/detail-447975.html

到了这里,关于【SpringCloud】初步认识微服务的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringCloud --- 认识微服务、服务拆分和远程调用

    随着互联网行业的发展,对服务的要求也越来越高,服务架构也从单体架构逐渐演变为现在流行的微服务架构。这些架构之间有怎样的差别呢?   单体架构 :将业务的所有功能集中在一个项目中开发,打成一个包部署。 单体架构的优缺点如下: 优点: 架构简单 部署成本低

    2024年02月01日
    浏览(31)
  • SpringCloud_微服务基础day1(走进微服务,认识springcloud,微服务(图书管理)项目搭建(一))

    官方网站:柏码 - 让每一行代码都闪耀智慧的光芒! (itbaima.net) 注意: 此阶段学习推荐的电脑配置,至少配备4核心CPU(主频3.0Ghz以上)+16GB内存,否则卡到你怀疑人生。 前面我们讲解了SpringBoot框架,通过使用SpringBoot框架,我们的项目开发速度可以说是得到了质的提升。同时

    2024年02月07日
    浏览(36)
  • 详解SpringCloud微服务技术栈:认识微服务、服务拆分与远程调用

    👨‍🎓作者简介:一位大四、研0学生,正在努力准备大四暑假的实习 🌌上期文章:首期文章 📚订阅专栏:微服务技术全家桶 希望文章对你们有所帮助 在此之前,耗时半个月,我已经将Redis进行了一个原理上的速成以及项目的制作,整个项目我觉得还是很不错的,基本已

    2024年01月18日
    浏览(36)
  • 微服务【分布式架构&认识微服务&SpringCloud】第1章

    目录 1,认识微服务 1.1,单体架构 1.2,分布式架构 1.3,微服务 1.4,SpringCloud 1.5,总结 💂 个人主页:  爱吃豆的土豆 🤟 版权:  本文由【爱吃豆的土豆】原创、在CSDN首发、需要转载请联系博主 💬 如果文章对你有帮助、 欢迎关注、点赞、收藏(一键三连)和订阅专栏哦 🏆 人

    2023年04月08日
    浏览(31)
  • SpringCloud入门——微服务调用的方式 & RestTemplate的使用 & 使用nacos的服务名初步(Ribbon负载均衡)

    1.微服务调用的几种方式,异步消息传递,http调用,服务网关调用,服务发现调用nacos; 2.spring提供的restTemplate,发送HTTP请求的客户端工具类; 3.nacos使用服务名报错,需要加Ribbon负载均衡; RPC (Remote Procedure Call)远程过程调用协议,一种通过网络从远程计算机上请求服务,

    2024年02月10日
    浏览(32)
  • Spring-缓存初步认识

    缓存是一种介于数据永久存储介质和数据应用之间的数据临时存储介质 缓存有效提高读取速度,加速查询效率 添加依赖 添加使用缓存的注解 使用缓存,将当前操作结果写入缓存 这里的cacheSpace 表示缓存控件,然后可以从形参中读取id查询所需要的值 使用CachePut注解 每次生成

    2024年02月16日
    浏览(28)
  • 【C++】初步认识模板

    🏖️作者:@malloc不出对象 ⛺专栏:C++的学习之路 👦个人简介:一名双非本科院校大二在读的科班编程菜鸟,努力编程只为赶上各位大佬的步伐🙈🙈 本篇文章我们讲解的是模板,它极大的节省了我们成本去构造多份差不多的代码,它是复用性很强的一种手段,下面就让我

    2024年02月11日
    浏览(27)
  • 初步认识Linux系统编程

    Linux是一种自由和开放源代码的操作系统,它以良好的稳定性、强大的安全性和广泛的应用领域而著称。Linux系统编程是指在Linux操作系统下开发应用程序的过程,其中包括与硬件交互、系统调用以及与其他程序进行通信等。 在开始学习Linux系统编程之前,我们需要先安装Lin

    2024年02月16日
    浏览(27)
  • 初步认识Java

           Java 语言源于 1991 年 4 月,Sun 公司 James Gosling 博士 领导的绿色计划(Green Project) 开始启动,此计划最初的目标是开发一种能够在各种消费性电子产品(如机顶盒、冰箱、收音机等)上运行的程序架构。这个就是Java的前身: Oak (得名与Java创始人James Gosling办公室外的一棵橡

    2024年04月27日
    浏览(24)
  • kafka的初步认识

    Kafka的增长很快。财富500强企业中超过三分之一使用卡夫卡。这些公司包括十大旅游公司,十大银行中的七家,十大保险公司中的八家,十大电信公司中的九家,等等。LinkedIn,微软(Microsoft)和Netflix每天用Kafka处理一兆(1,000,000,000,000)的信息。Kafka用于实时数据流,收集大

    2024年02月09日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包