![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SpringCloud
文章平均质量分 72
ℒℴvℯ念心꧔ꦿ࿐
这个作者很懒,什么都没留下…
展开
-
微服务鉴权JWT
前言:为什么要学习JWT?1、JWT简介JWT,全称是Json Web Token, 是JSON风格轻量级的授权和身份认证规范,可实现无状态、分布式的Web应用授权;它是分布式服务权限控制的标准解决方案!简而言之就是身份认证2、 JWT 与RBAC的区别后台权限服务的数据库设计使用RBAC;前端项目访问后台微服务的权限校验使用JWT3、 JWT数据格式JWT的token包含三部分数据:Header:头部,通常头部有两部分信息:声明类型type,这里是JWT(type原创 2021-11-18 20:17:41 · 2340 阅读 · 0 评论 -
Gateway服务网关
1.为什么需要网关Gateway网关是我们服务的守门神,所有微服务的统一入口。网关的核心功能特性:请求路由权限控制限流架构图:权限控制:网关作为微服务入口,需要校验用户是是否有请求资格,如果没有则进行拦截。路由和负载均衡:一切请求都必须先经过gateway,但网关不处理业务,而是根据某种规则,把请求转发到某个微服务,这个过程叫做路由。当然路由的目标服务有多个时,还需要做负载均衡。限流:当请求流量过高时,在网关中按照下流的微服务能够接受的速度来放行请求,避免服务压力过大。在Sprin原创 2021-11-17 21:35:18 · 321 阅读 · 0 评论 -
Feign远程调用
1.Feign替代RestTemplateFeign是一个声明式的http客户端,官方地址:https://github.com/OpenFeign/feignFegin的使用步骤如下:1.1引入依赖在order-service服务的pom文件中引入feign的依赖:<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-clou原创 2021-11-17 21:17:40 · 590 阅读 · 0 评论 -
Nacos集群搭建
1.集群结构图其中包含3个nacos节点,然后一个负载均衡器代理3个Nacos。这里负载均衡器可以使用nginx。2.搭建集群搭建集群的基本步骤:搭建数据库,初始化数据库表结构下载nacos安装包配置nacos启动nacos集群nginx反向代理2.1.初始化数据库Nacos默认数据存储在内嵌数据库Derby中,不属于生产可用的数据库。首先新建一个数据库,命名为nacos,而后导入下面的SQL:CREATE TABLE `config_info` ( `id` big原创 2021-11-17 20:58:43 · 229 阅读 · 0 评论 -
Nacos配置管理
1.统一配置管理当微服务部署的实例越来越多时,我们需要一种统一配置管理方案,可以集中管理所有实例的配置。1.1.在nacos中添加配置文件注意:项目的核心配置,需要热更新的配置才有放到nacos管理的必要。基本不会变更的一些配置还是保存在微服务本地比较好。1.2.从微服务拉取配置微服务要拉取nacos中管理的配置,并且与本地的application.yml配置合并,才能完成项目启动。因此spring引入了一种新的配置文件:bootstrap.yaml文件,会在application.ym原创 2021-11-17 20:44:35 · 723 阅读 · 0 评论 -
Nacos注册中心
1.服务注册到nacosNacos是SpringCloudAlibaba的组件,而SpringCloudAlibaba也遵循SpringCloud中定义的服务注册、服务发现规范。因此使用Nacos和使用Eureka对于微服务来说,并没有太大区别。主要差异在于:依赖不同服务地址不同1.1引入依赖在cloud-demo父工程的pom文件中的<dependencyManagement>中引入SpringCloudAlibaba的依赖:<dependency>原创 2021-11-17 20:24:21 · 87 阅读 · 0 评论 -
Ribbon负载均衡
1.负载均衡原理2.源码跟踪3.负载均衡策略3.1.负载均衡策略3.2.自定义负载均衡策略通过定义IRule实现可以修改负载均衡规则,有两种方式:代码方式:在order-service中的OrderApplication类中,定义一个新的IRule:@Beanpublic IRule randomRule(){ return new RandomRule();}-配置文件方式:在order-service的application.yml文件中,添加新的配置也可以修改规原创 2021-11-17 20:10:12 · 294 阅读 · 0 评论 -
Eureka注册中心
1、Eureka的结构和作用2、搭建Eureka-server服务2.1创建Eureka-server服务在cloud-demo父工程下,创建一个子模块:2.2引入eureka依赖引入SpringCloud为eureka提供的starter依赖:<!--引入eureka依赖--><dependency> <groupId>org.springframework.cloud</groupId> <artifactI原创 2021-11-17 20:00:40 · 71 阅读 · 0 评论 -
微服务的拆分和远程调用
1、服务拆分原则不同微服务,不要重复开发相同业务微服务数据独立,不要访问其它微服务的数据库微服务可以将自己的业务暴露为接口,供其它微服务调用2、服务拆分示例cloud-demo:父工程,管理依赖order-service:订单微服务,负责订单相关业务user-service:用户微服务,负责用户相关业务要求:订单微服务和用户微服务都必须有各自的数据库,相互独立订单服务和用户服务都对外暴露Restful的接口订单服务如果需要查询用户信息,只能调用用户服务的Restfu原创 2021-11-17 18:14:43 · 331 阅读 · 0 评论 -
认识微服务
1、什么是微服务?微服务是系统架构的一种设计风格,将一个原本独立的服务拆分成多个小型服务,每个服务独立运行在在各自的进程中,服务之间通过 HTTP RESTful API 进行通信.每个小型的服务都围绕着系统中的某个耦合度较高的业务进行构建.2、为什么使用微服务?因为传统的 Servlet + JSP,还是 SSM,还是现在的 SpringBoot,它们都是单体应用,弊端如下:1、部署成本高(无论是修改1行代码,还是10行代码,都要全量替换)2、改动影响大,风险高(不论代码改动多小,成本都原创 2021-11-17 16:56:56 · 331 阅读 · 0 评论 -
Teacher_School_System
1、项目结构1.1Feign-api工程1.1.1Feign-api 工程结构clients类SchoolClient类package com.czxy.feign.clients;import com.czxy.feign.pojo.School;import org.springframework.cloud.openfeign.FeignClient;import org.springframework.web.bind.annotation.GetMapping;impor原创 2021-11-15 21:19:25 · 680 阅读 · 0 评论