IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> SpringCloud -> 正文阅读

[Java知识库]SpringCloud

SpringCloud

简介

  • SpringBoot2.x版和SpringCloudH版
  • SpringCloud Alibaba
  • SpringBoot版本选择,release:预发布版本
  • SpringCloud的版本以伦敦地铁站英文首字母决定
  • SpringCloud采用了英国伦敦地铁站的名称来命名,并由地铁站名称字母A-Z依次类推的形式来发布迭代版

各种架构概念

1.单体架构

  • 项目架构简单,开发成本低
  • 项目部署在一个节点上,维护方便
  • 缺点
  • 全部功能集成在一个工程中,不利于维护
  • 项目模块之间紧密耦合,单点容错率低
  • 无法针对不同模块进行针对性优化和水平扩展
    在这里插入图片描述

2.垂直架构

3.分布式架构

  • 一个系统通过多台服务器协同完成系统功能
    在这里插入图片描述

3.SOA架构

  • 分布式架构下,当服务越来越多,需要一个调度中心对集群进行实时管理
  • 优点
  • 使用治理中心解决了服务键调用关系的自动调节
  • 缺点
  • 服务键会有依赖,一旦某个环节出错会影响较大
  • 服务关系复制,运维,测试部署困难

4.微服务

  • 微服务架构比SOA架构颗粒更加精细
  • 每个服务之间互不影响
  • 微服务架构中,每个服务必须独立部署

3.集群

  • 同一个系统放在了多台服务器上,且每个服务器上内容相同,复制了多份
    在这里插入图片描述

全文检索缓存

在这里插入图片描述

服务化

在这里插入图片描述

  • 每个模块都是一个独立的项目,都可以独立启动,这样的做法就叫做服务化
  • 这就是微服务,微服务是:特殊的分布式架构【服务化】
  • 首页的访问量比较大 就可以部署五个
  • 订单的访问量小 就可以只部署一个
  • 问题:
    1.服务之间怎么调用,例:订单服务需要调用商品服务的数据,怎么调用
  • 2.怎么负载均衡,服务之间负载均衡,app访问后台怎么负载均衡
  • 3.服务怎么被管理:例如:商品服务宕机了,怎么及时通知订单服务,如果没有通知订单服务,订单服务发的请求都会阻塞,造成订单宕机,引发链式故障,整个项目崩溃
  • 服务之间的异常如何处理

微服务技术

  • 以上每一个问题都需要一个新的技术解决,而引入的新技术就是微服务技术,SpringCloud是指一套技术
  • 如何解决这几个问题,又需要用到一些新的技术,这些技术就是所谓的微服务的技术
    在这里插入图片描述
  • 微服务主要的内容就是安装业务模块拆分不同的应用服务,并且解决拆分之后遇到的问题
  • soa:面向服务的架构,把每个项目当成一个服务来看待,不是一个独立的项目,微服务是一个大型项目,每个模块是一个服务
  • rpc:远程调用过程,在微服务和soa中需要服务与服务之间相互调用,这种调用不像本地方法那样调用,这种调用方式就是rpc

微服务开发环境准备

SpringCloud版本介绍

  • 根据SpringCloud版本的命名方式的改变可以分为两个阶段:
  • 1.伦敦地铁站名
  • 在Spring Cloud 2020.0.0版本之前,SpringCloud的所有版本均按照伦敦地铁站站名从A-Z的排序进行命名
  • 2.日历化版本
  • 从 Spring Cloud 2020.0.0-M1 开始,Spring Cloud 废除了这种英国伦敦地铁站的命名方式,而使用了全新的 “日历化” 版本命名方式。
    Spring Cloud 使用了 YYYY.MINOR.MICRO 的命名规则:
  • YYYY:表示 4 位年份;
  • MINOR:代表一个递增的数字,每年以 0 开始递增;
  • MICRO:代表版本号后缀,就和之前使用的 .0 类似>于 .RELEASE 一样,.2 类似于 .SR2。
    例如:2020.0.0

版本的变化给SpringCloud带来了什么样的改变呢?

Netflix 网飞
SpringCloud的改变目前来说主要体现在对Netflix套件的支持上,早期SpringCloud主要是封装了Netflix套件实现服务注册发现,负载均衡,熔断等功能,但是随着版本的迭代,由于Netflix停止开源项目的更新,所以SpringCloud开始逐步减少对Netflix套件的支持。
从2020版本开始,SpringCloud弃用Netflix套件,进入一个新的时代,但是对于企业开发而言,现在未必需要立马更新最新版本。一方面大量项目还是采用Netflix组件进行开发,目前来看并没有替换的必要性。另一方面部分技术并不能完全兼容新版本,例如SpringCloud Alibaba就不能完全兼容新版本。

我们的版本选择:

  • SpringCloud Hoxton.SR9
  • SpringBoot 2.3.5.RELEASE
  • SpringCloud Alibaba 2.1.2.RELEASE
  • Java版本 Java8
    在这里插入图片描述

项目搭建

1.创建父项目

2.创建商品服务

3.创建订单服务

Nacos

  • 一个更易于构建云原生应用的动态服务发现(Nacos Discovery),服务配置(Nacos Config)和服务管理平台
  • 集:注册中心+配置中心+服务管理平台

1.特性

  • 服务发现和服务监控检测
  • 动态配置服务
  • 动态DNS服务
  • 服务及其元数据管理

2.Nacos注册中心

  • 服务注册:Nacos Client会通过发送REST请求的方式向Nacos Server注册自己的服务,提供自身的元数据,比如,ip地址,端口等信息。Nocos Server接收到注册请求后,保存在一个双层的内存Map中
  • 服务心跳:在服务注册后,Nacos Client会维护一个定时心跳来持续通知NacosServer ,说明服务一致处于可用状态,防止被删除,默认5s发送一次心跳
  • 服务同步:Nacos Server集群之间会互相同步服务实例,用来保证服务信息的一致性
  • 服务发现:服务消费者在调用服务提供者的服务时,会发送一个REST请求给Nacos Server,获取上面注册的服务清单,并且缓存在Nacos Client本地,同时会在NacosClient本地开启一个定时任务,定时拉取服务器最新的注册表信息更新到本地缓存
  • 服务健康检测:Nacos Server会开启一个定时任务用来检查注册服务实例的健康情况,对于超过15s没有收到客户端心跳的实例会将它的healthy属性置为false(客户端服务发现是不会发现),如果某个实例超过30秒没有收到心跳,直接剔除该实例(被剔除的实例)
    在这里插入图片描述
  • Eureka属于Netflix,Netflix闭源了,不更新,很多不支持
  • Nacos功能最全

Nacos Server部署

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-11-05 00:12:25  更:2022-11-05 00:14:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年3日历 -2025/3/10 18:31:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码