SpringCloud
微服务理论
https://www.martinfowler.com/articles/microservices.html 微服务microservices
http://blog.cuicc.com/blog/2015/07/22/microservices/
In short(简言之), the microservice architectural style 【架构风格】[1] is an approach to developing a single application as a suite of small services【独立应用变成一套小服务】, each running in its own process and communicating with lightweight(轻量级沟通) mechanisms(每一个都运行在自己的进程内(容器)), often an HTTP resource API(用HTTP,将功能写成能接受请求). These services are built around business capabilities (独立业务能力)and independently deployable by fully automated deployment machinery(应该自动化独立部署). There is a bare minimum of centralized management of these services(应该有一个能管理这些服务的中心), which may be written in different programming languages (独立开发语言)and use different data storage technologies(独立的数据存储).
分布式概念
什么是分布式
《分布式系统原理与范型》定义:“分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统”。
分布式系统(distributed system)是建立在 络之上的软件系统。
分布式与集群的关系
集群指的是将几台服务器集中在一起,实现同一业务。
分布式中的每一个节点,都可以做集群。 而集群并不一定就是分布式的。
软件架构演变
熔断
某个服务频繁超时,直接将其短路,快速返回mock(模拟/虚拟)值
API 关
API 关要做很多工作,它作为一个系统的后端总入口,承载着所有服务的组合路由转换等工作,除此之外,我们一般也会把安全,限流,缓存,日志,监控,重试,熔断等放到 API 关来做
服务跟踪
追踪服务的调用链,记录整个系统执行请求过程。如:请求响应时间,判断链中的哪些服务属于慢服务(可能存在问题,需要改善)。
弹性云
Elastic Compute Service(ECS)弹性计算服务
动态扩容,压榨服务器闲时能力
例如:双11,618,高峰时多配置些服务器,平时减少多余的服务器配置(用于其他服务应用),避免资源浪费
SpringCloud背景
背景介绍
微服务架构
关于SpringBoot和SpringCloud版本
SpringCloud版本选择
SpringBoot2.3.6版和SpringCloud Hoxton.SR9版
SpringCloud Alibaba 2.2.6
Springboot版本选择
git源码地址:
https://github.com/spring-projects/spring-boot/releases/
SpringBoot2.0新特性:
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.0-Release-Notes
通过上面官 发现,Boot官方强烈建议你升级到2.X以上版本
SpringCloud版本选择
- git源码地址: https://github.com/spring-projects/spring-cloud/wiki
- 官 : https://spring.io/projects/spring-cloud
官 看Cloud版本
-
Cloud命名规则
Spring Cloud采用了英国伦敦地铁站的名称来命名,并由地铁站名称字母A-Z依次类推的形式来发布迭代版本。
Spring Cloud 是一个由许多子项目组成的综合项目,各子项目有不同的发布节奏。为了管理SpringCloud与各子项目的版本依赖关系,发布了一个清单,其中包括了某个SpringCloud版本对应的子项目版本。为了避免SpringCloud版本 与子项目版本 混淆,SpringCloud版本采用了名称而非版本 的命名,这些版本的名字采用了伦敦地铁站的名字,根据字母表的顺序来应对版本时间顺序。例如Angel是第一个版本,Brixton是第二个版本。当SpringCloud的发布内容积累到临界点或者一个重大BUG被解决后,会发布一个”service releases”版本,简称SRX版本,比如Greenwich.SR2就是SpringCloud发布的Greenwich版本的第二个SRX版本。
-
SpringCloud(截至2021.9.28)
SpringCloud和Springboot之间的依赖关系
https://docs.spring.io/spring-cloud/docs/Hoxton.SR9/reference/html/
SpringCloud(版本)
- cloud
- Hoxton.SR9
- boot
- 2.3.6.RELEASE
- cloud Alibaba
- 2.2.6.RELEASE
- java
- JAVA8
- maven
- 3.5及以上
- mysql
- 5.7及以上
微服务架构编码构建-IDEA新建project工作空间
微服务cloud整体聚合父工程Project
New Project
Maven选版本
字符编码
java编译版本
父工程POM
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!