Spring Boot+Spring Cloud基础入门(一)简单介绍

        在经历了毕业的摧残后,终于又有时间来更新博客了,毕业设计项目是写了一个基于Redis+Dubbo+SpringBoot+SSM的在线考试网站,用的技术比较多,架构是基于SOA的,这个等以后有时间了再更新。这次是由于工作原因,要使用到Spring Boot+Spring Cloud的微服务架构,所以,边学变记录咯。

之间接触到过SOA的架构,所以对微服务架构的理解,也能稍微容易一些。微服务是SOA发展后的产物,SOA是为了各功能(服务)间松耦合所诞生的,是一种粗粒度、松耦合服务架构,而微服务则是在此基础上,更为细粒度的服务架构。

什么是粗粒度?什么是细粒度?

一个项目模块分得越多,每个模块越小,负责的工作越细,就说粒度越细,反之则粒度越粗。粗粒度容纳逻辑较多,细粒度容纳逻辑较少。这不是本次的探讨主题,一笔带过。有兴趣的可以看看后面这些文章: 1、 2、 3。

那现在主流的微服务架构又有什么呢?

Spring Cloud当然是目前的主流,使用最为广泛的也是它,Dubbo则是更偏向SOA的开源的分布式服务框架。两者的好处与地位当然不用说,前者为Spring全家桶的一员,能够完美兼容所有的Spring框架,后者则是阿里巴巴的开源框架,性能极高。但是两者都有所缺陷,它们只是Dev层的框架,缺少DevOps的整体解决方案(这正是微服务架构需要关注的),没有多语言的支持。所以,新生代的微服务架构——Service Mesh出现了。

     Spring Cloud

      Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。

     Service Mesh

    Service Mesh又译作“服务网格”,作为服务间通信的基础设施层。如果用一句话来解释什么是Service Mesh,可以将它比作是应用程序或者说微服务间的TCP/IP,负责服务之间的网络调用、限流、熔断和监控。对于编写应用程序来说一般无须关心TCP/IP这一层(比如通过 HTTP 协议的 RESTful 应用),同样使用Service Mesh也就无须关系服务之间的那些原来是通过应用程序或者其他框架实现的事情,比如Spring Cloud、OSS,现在只要交给Service Mesh就可以了。

      2018年被誉为Service Mesh的元年,上规模的大公司已经上手了Service Mesh。但是作为初学者来说,Service Mesh的学习资料实在是太少了,而原文的文章啃的又比较的吃力,所以,作为理解微服务架构,还是上手Spring Cloud的为好。

     本文所搭建的所有项目,是基于SpringBoot的2.0.3, SpringCloud的Finchley.RELEASE。




你可能感兴趣的:(微服务)