点击关注公众号,回复“1024”获取2TB学习资源!
本篇笔者将从以下几点来讲解微服务的入门知识点。
简单来说就是一个war包打天下,war包中就包含了各种功能和资源,比如JSP. JS. CSS,业务就是各个功能模块,如下图:
微服务的核心就是将传统的单体架构拆分成单个服务,将业务间进行解耦,每个服务可以单独部署. 可以拥有自己的数据库这样拆分出来的服务就叫做微服务。
就比如说,单体架构中有订单. 支付. 物流. 积分等业务,拆分成微服务,订单服务,支付服务,物流服务,积分服务
这样拆分出来有什么意义呢?
单体架构中若非核心模块出现重大Bug,比如积分模块内存溢出,就会导致整个项目宕机 但若是拆分成微服务,则只是说积分服务不能使用,但核心服务并不会受到影响
微服务架构是一种架构风格,包含如下几个特点:
微服务是服务的大小和对外提供的单一功能,微服务架构是指把一个个微服务管理起来,对外提供的一套完整服务
并发增加,上集群,硬件成本高
并发增加,灵活扩展,降低硬件成本,但运维成本. 开发成本上升
单体架构:仅有一个数据库 微服务架构:每个微服务都可以有一个数据库
下图便是Spirng Cloud Alibaba提供的一套工具集,注意虽然有些备注是开源,但只是部分开源,一些核心功能依旧需要付费才能使用,比如Sentinel,开源的话本地限流配置是不能持久化的(可以选择付费,大佬可以改源代码来解决该问题)
Spring Boot
以2.1.6.RELEASE版本为例
所以2.1.6合起来就是springboot的第二代版本的第一个小版本的 第6次bug修复版本
RELEASE:存在哪些取值呢?
所以选择版本时请认准release
Spring Cloud
为什么我们的SpringCloud会以这种方式来发布版本,因为假如我们传统的5.1.5release这种发布的而SpringCloud会包含很多子项目的版本就会给人造成混淆
比如Greenwich版本顺序:Greenwich.release----->发现bug----->Greenwich.SR1------>发现bug---->Greenwich.SR2
这三个框架的版本关系,及推荐使用的版本如下:
来源:segmentfault.com/a/1190000022619522