时隔半个月没研究技术了,最近一直在单位玩儿艺术,终于可以再战SpringCloud了,上篇(0)复习了一些springboot的常用注解插件等,这篇(1)应该也不会着手开始写SpringCloud的代码,先记一记SpringCloud这个微服务工具集(也可理解为一套解决方案)的杂项知识

最近掉头发掉的厉害,每天早起看着枕头总是会伴着一声叹息😷 。

花了10块钱买了不良人老师的课件资料,真的太良心了,啥都有,这里就以老师总结的课件出发,来总结一下写代码前需要前置了解的一些知识。

1、微服务

首先说微服务,现在主流各大公司好多都有自己的一套微服务解决方案,那么微服务就是一个比较系统的概念(架构):

1.PNG

那么微服务一定是由单体应用演变进化而来,单体应用一定会存在劣势,然后进化出微服务。

image20200708224716035.png

做单应用项目初期还是比较轻松的,代码量小,好部署,好测试,但是随着项目的迭代更新,代码量越来越大,开发效率越来越低,也难以维护,而且如果代码中出现问题,基本就是牵一发动全身,整个项目就挂了。而且重构也基本不可能。

image20200723155352063.png

微服务因为是针对单应用的,所以优点比较明显:1、粒度小 2、高度自治(跨语言) 3、松耦合 缺点就是对开发人员和运维人员能力要求比较大嗷,服务治理和服务监控也比较麻烦。

2、应用架构的演变

ORM->MVC->RPC->SOA->SERVERLESS(个人猜想)

image20200318082336122.png

ORM我也没接触过,上大学时就直接从SpringMVC做起了,所以不知道从单应用架构到垂直架构具体有啥好处。。。分布式架构基本没用过,,不过分布式和微服务也差不多,毕竟微服务架构也是基于分布式的吧??直接贴下老师总结:

2.PNG

3、微服务架构技术选型

(1)、dubbo

dubbo11年阿里就提出来了,那阵生态好像还不错,可是从13年就不维护了,这一下长达4年多。虽然18年开始dubbo3.0开始做了,也在积极适配SpringCloud的生态,那么我还是选择SpringCloud吧。

(2)、springcloud

文章主要写的,而且也是日常在用的,所以没得说,干就完事了。

有一点注意是SpringCloud有三家公司都开源了相关产品,分别是Spring Cloud NetFlix、Spring Cloud alibaba、Spring Cloud Spring,需要配合着使用不同公司的不同组件。。。

4、SpringCloud

相关概念(核心:springcloud是为了完成微服务架构的工具集)和用到的组件:

3.PNG

这张图里除了没加熔断,其他的逻辑很清晰

image20200724161314786.png

5、SpringCloud环境搭建和版本选择

比较有意思的是SpringCloud早期都是以伦敦地铁站命名版本,小版本号最高到10,不过现在正常了,刚才访问了下官网,现在版本是2020.0.3。。。

要注意SpringCloud也是基于SpringBoot去构建的,所以两者的版本号一定要对应。

下一节开始写代码实例了。这次使用的版本环境

  • springboot 2.2.5.RELEASE
  • springcloud Hoxton.SR6
  • java8
  • maven 3.6.3
  • idea 2020.3.2

注:写驼峰太累了,以后springboot、springcloud一律全小写。


标题:再战SpringCloud(1)
作者:jyl
地址:http://jinyunlong.xyz/articles/2021/07/06/1625584172247.html