spring-cloud总结

spring-cloud微服务总结

学习框架

在这里插入图片描述

微服务—服务的治理

什么是微服务?

微服务就是单个应用程序开发可以作为小型的服务,单个部署与发布,比如提供方,消费方
在这里插入图片描述
这些服务使用轻量级API,通过明确定义的接口进行通信,这些服务是围绕业务功能构建的,每项服务执行一项功能,由于他们是独立运行的,因此可以根据各项服务进行灯芯,部署和扩展,实现应用程序特定功能的需求。

spring-cloud-alibaba微服务解决方案

spring Cloud Alibaba是springCloud的一个子项目,致力于提供微服务开发的一站式解决方案,此项目包含开发分布式微服务的必须组件,方便开发者通过springCloud编程模型轻松使用这些组件来开发分布式应用服务。依托于springCloudAlibaba,只需要添加依赖和少量的配置,就可以实现springCloud应用接入阿里微服务,通过阿里中间件来快速搭建分布式应用系统

springCloudAlibaba核心组件分析

1.服务的限流与降级

sentinel控制台可以实现服务的降级与限流,还可以实时监控限流。

2.服务的注册与发现

通过nacos实现服务的注册,还集成了Ribbon

3.分布式配置管理

Nacos实现了分布式的外部配置,配置更改时自动刷新

4.消息驱动

基于Spring Cloud Stream 为微服务应用构建消息驱动能力。

5. 分布式事务

使用 @GlobalTransactional 注解, 高效并且对业务零侵入地解决分布式事务问题。

6.分布式任务调度

提供秒级、精准、高可靠、高可用的定时(基于 Cron 表达式)任务调度服务。同时提供分布式的任务执行模型,如网格任务。网格任务支持海量子任务均匀分配到所有 Worker上执行。

构建springCloudf聚合项目并进行初始化

在这里插入图片描述

在父工程的pom文件下添加依赖,管理版本

在这里插入图片描述

以上就是关于微服务的概述,下面介绍的是微服务的具体实现,以及用到的相关组件,好好学哦!!!笔芯

Nacos服务

1.什么是Nacos?

为什么是nacos,就要知道在项目中,可能会用到微服务架构,微服务中把单个应用程序都当做一个个小型的服务,这些服务使用轻量级的API接口进行服务间的通信,这就说明有很多的服务,那我们怎么管理这些服务,怎么进行服务间的通信,为了更好的管理这些服务,建立服务之间联系的纽带,就诞生了Nacos服务注册

2.为什么使用Nacos

Nacos孵化于阿里巴巴,承受住了阿里巴巴近10年的双十一考验

3.怎么用Nacos到微服务?

构建nacos

第一:确保你的nacos配置了JAVA-HOME环境变量,jdk版本在1.8,启动nacos要用到JDK
在这里插入图片描述
第二: 保证你的mysql数据库版本在5.7以上,mariaDB版本在10.5以上
在这里插入图片描述
第三:下载与安装nacos
1.下载nacos从官网
https://github.com/alibaba/nacos/releases

找到对应的版本
在这里插入图片描述
2.下载之后再减压
3.登录mysql执行脚本,这个脚本在解压的nacos文件里,但是要进行配置
mysql执行的命令:source d:/nacos-mysql.sql
在这里插入图片描述
经过编辑的脚本
在这里插入图片描述
4. 找到默认的配置,基于自己的当前环境进行数据库的配置,配置要连接的数据库
5. 在这里插入图片描述
在这里插入图片描述

Nacos的启动和访问

Nacos的启动有三种

windows系统启动

在解压的nacos文件的bin目录下,执行cmd,执行命令:startup.cmd -m standalone

linux系统启动

执行命令:./startup.sh -m standalone

在idea里配置启动

在这里插入图片描述

在这里插入图片描述

访问nacos:浏览器输入地址:localhost:8848/nacos

出现的界面
在这里插入图片描述

在这里插入图片描述

nacos注册与发现

1.提供者方添加依赖

在这里插入图片描述

2.编辑配置文件

在这里插入图片描述

3.在写业务

在这里插入图片描述

4.注册到nacos服务

在这里插入图片描述

消费者服务的调用以及发现
添加依赖
 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--Spring Cloud Alibaba  nacos 依赖-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
编辑配置类
server:
  port: 8090  #默认为8080
spring:
  application:
    name: sca-consumer #假如做服务注册,必须写
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848  #nacos server 地址
    sentinel:
      transport:
        dashboard: localhost:8180 #sentinel 控制面板的地址
        #port: 8719  #sentinel 客户端端口
      web-context-unify: false #关闭url聚合(不让所有url都聚合到context下)
feign:
  hystrix:
    enabled: true  #开启feign方式调用时,服务调用超时等问题

编辑业务–消费者调用提供者–用到了Restemplate对象

RestTemplate是外部资源,要交给spring管理,需要构建
在这里插入图片描述

业务

在这里插入图片描述

nacos负载均衡的实现

nacos的配置

1.添加依赖
2.修改配置

sentinel

sentinel限流

sentinel降级/熔断

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值