SpringCloud学习 什么是微服务(一)

关于SpringCloud,我是看了周老师的《SpringCloud与Docker微服务架构实战》之后才有了一点了解,做下记录,以供后期学习。本人知识有限,如有不对,欢迎批评

 

1.什么是单体应用,单体应用的特点

    相信大家自接触开发以来,在开发过程中我们多人开发,都是分模块开发,一人负责一个模块,但是最终打包的时候无论你分了多少模块都是打成了一个war包,所有的模块、功能都被包含在这个war包中。这样的应用称为:单体应用

    1.1单体应用的问题

       很多项目都是从单体应用开始的,单体应用部署简单,在项目初期不会出现什么问题,但是随着后期需求的增加变更,迭代次数的增多,开发人员的变更,系统中代码混乱,冗余代码成堆,但是还不敢随意修改,随着时间的推移,维护成本越来越高。

在系统运行方面,可能一个功能模块的Bug最终会导致整个项目的崩溃,在这种种情况下,微服务的出现似乎就能很大程度上的解决目前面临的问题

2.什么是微服务

    鉴于单体应用所遇到的问题,微服务所应具备的功能应该就是把之前的单体应用的拆分,一个模块一个服务(应用),服务之间通过轻量级通信机制来通信(数据交流),每个模块一个服务或者更加细化的分成不同的服务,不同的服务之间可以用不同的语言进行开发

    微服务有哪些特点:

          (1) 每个微服务运行在自己的进程中

          (2)多个微服务构建出一个系统

          (3)每个微服务是独立的开发,只关注于某个特定模块活功能

         (4)微服务之间通过轻量级通信通信来交流

         (5)不同服务可以使用不同的语言开发

3.SpringCloud

    我对于SpringCloud的理解其实就是分布式架构,对于微服务我们都知道用SpringBoot,那么分布式呢,对于分布式,目前比较流行的有阿里的Dubbo和Spring社区的SpringCloud   springCloud就是一个比较全面地解决分布式中问题的东西

至于说springcloud项目,我的理解就是客户端只与网关进行交流,而微服务只与网关进行交流,这样我们的客户端就不用访问不同微服务,减轻了客户端的复杂性。总之就是多个微服务为网关提供数据接口,客户端通过网关来获取数据,网关在我目前的理解中就是一个中间层的,来整合所有微服务的数据接口最后统一为客户端提供

 

    本来想写一下SpringCloud 结果全写成废话了Sleepy smile,我都不知道自己写的是什么鬼

posted @   SunArmy  阅读(217)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示