![](https://img-blog.csdnimg.cn/20191028141133618.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
SpringCloud
文章平均质量分 78
SpringCloud最新知识学习
游王子og
看不穿你所有的虚情假意,只触碰到你转瞬即逝的真心
展开
-
SpringCloud(14):Gateway网关
一、什么是api网关(1)分布式服务架构、微服务架构与 API 网关 在微服务架构里,服务的粒度被进一步细分,各个业务服务可以被独立的设计、开发、测试、部署和管理。这时,各个独立部署单元可以用不同的开发测试团队维护,可以使用不同的编程语言和技术平台进行设计,这就要求必须使用一种和平台无关的语言服务协议作为各个单元间的通讯方式。(2)API 网关的定义网关的角色是作为一个 API 架构,用来保护、增强和控制对于 API 服务的访问。 API 网关是一个处于应用程序或服务(提供 RE..原创 2021-02-01 16:25:53 · 330 阅读 · 0 评论 -
SpringCloud(13):Sentinel:OpenFeign实现服务降级、Sentinel规则持久化
一、准备工作 需要启动Nacos和Sentinel。二、服务消费者(1)添加依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ma..原创 2021-01-30 16:57:24 · 435 阅读 · 1 评论 -
SpringCloud(12):Sentinel:Rest实现服务降级
一、准备工作 需要启动Nacos和Sentinel。二、服务提供者(1)导入依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ma..原创 2021-01-30 15:02:48 · 206 阅读 · 0 评论 -
SpringCloud(11):Sentinel:热点key限流、系统规则
一、热点key限流(1)基本介绍 何为热点?热点即经常访问的数据。很多时候我们希望统计某个热点数据中访问频次最高的 Top K 数据,并对其访问进行限制。比如:商品 ID 为参数,统计一段时间内最常购买的商品 ID 并进行限制。 用户 ID 为参数,针对一段时间内频繁访问的用户 ID 进行限制。 热点参数限流会统计传入参数中的热点参数,并根据配置的限流阈值与模式,对包含热点参数的资源调用进行限流。热点参数限流可以看做是一种特殊的流量控制,仅对包含热点参数的资源调用生效。...原创 2021-01-30 14:31:45 · 326 阅读 · 0 评论 -
SpringCloud(10):sentinel:降级规则
一、基本介绍 除了流量控制以外,对调用链路中不稳定的资源进行熔断降级也是保障高可用的重要措施之一。一个服务常常会调用别的模块,可能是另外的一个远程服务、数据库,或者第三方 API 等。例如,支付的时候,可能需要远程调用银联提供的 API;查询某个商品的价格,可能需要进行数据库查询。然而,这个被依赖服务的稳定性是不能保证的。如果依赖的服务出现了不稳定的情况,请求的响应时间变长,那么调用服务的方法的响应时间也会变长,线程会产生堆积,最终可能耗尽业务自身的线程池,服务本身也变得不可用。 现...原创 2021-01-30 14:03:35 · 416 阅读 · 1 评论 -
SpringCloud(9):Sentinel:流控规则
一、基本介绍资源名:唯一名称,默认请求路径。 针对来源:Sentinel可以针对调用者进行限流,填写微服务名,默认default(不区分来源)。 阈值类型/单机阈值: QPS(每秒请求数量):当调用该API的QPS达到阈值的时候,进行限流。 线程数:当调用该API的线程数达到阈值的时候,进行限流。 是否集群:不需要集群。 流控模式: 直接:API达到限流条件时,直接限流。 关联:当关联的资源达到阈值的时候,就限流自己。 链路:只记录指定链路上的流量(指定资源从入口资源进来原创 2021-01-29 19:21:13 · 315 阅读 · 0 评论 -
SpringCloud(8):Sentinel:Sentinel概述
1 服务熔断Hystrix的替换方案(1) 概述 Spring Cloud官方尤其着重指出ribbon、hystrix和zuul从Spring Cloud 2020.0正式版发布后将不再被Spring Cloud支持。(2)替换方案介绍Sentinel是阿里开源的一款熔断器的实现,目前在Spring Cloud的孵化器项目Spring Cloud Alibaba中的一员Sentinel本身在阿里内部已经被大规模采用,非常稳定。因此,可以作为一个很好的替代品。 Resilienc...原创 2021-01-28 14:01:23 · 526 阅读 · 0 评论 -
SpringCloud(7):OpenFeign使用接口方式调用服务
一、简介 Feign是声明式web service客户端,它让微服务之间的调用变得更简单了,类似controller调用service。SpringCloud可在使用Feign时提供负载均衡的http客户端。 feign,主要是社区,大家都习惯面向接口编程。这个是很多开发人员的规范。调用微服务访问的两种方法:微服务名字(LoadBalancer) 接口和注解(feign)二、Feign的作用 Feign在使编写java Http客户端变得更容易。前面使用LoadBala...原创 2021-01-27 17:42:39 · 906 阅读 · 1 评论 -
SpringCloud(6):Nacos服务注册和配置中心
一、简介(1)简介中文官网https://nacos.io/zh-cn/index.htmlNacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 Nacos=Eureka+config+bus Naco是服务注册中心和服务配置中心。下载地址:https://github.com/alibaba/nacos/releases(2)启动 下载完成后解压,运行访问地址:http://192.168.8.101:8848/nacos/index....原创 2021-01-28 19:22:11 · 349 阅读 · 0 评论 -
SpringCloud学习(5):Rest学习环境搭建:服务消费者
一、搭建消费者服务(1)创建服务消费者模块(2)导入依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/原创 2021-01-21 16:31:22 · 290 阅读 · 0 评论 -
SpringCloud学习(4):Rest学习环境搭建:服务提供者(下)
六、编写实体类package com.buba.springcloud.pojo;import lombok.Data;import lombok.NoArgsConstructor;import lombok.experimental.Accessors;import java.io.Serializable;/** * 部门实体类 */@Data@NoArgsConstructor@Accessors(chain = true)public class Dept imp原创 2021-01-20 20:42:34 · 326 阅读 · 0 评论 -
SpringCloud学习(3):Rest学习环境搭建:服务提供者(上)
一、创建Maven项目这样就创建了一个maven,因为该项目是总的父项目所以把src目录可以直接删除。二、pom.xml文件的配置(1)打包方式 以往的打包方式是jar,现在改成pom方式。<!-- 打包方式--> <packaging>pom</packaging>(2)自定义属性,可以定义一些版本号<!-- 用于定义版本号--> <properties> &...原创 2021-01-20 18:10:47 · 353 阅读 · 1 评论 -
SpringCloud学习(2):SpringCloud入门
一、什么是SpringCloudSpring官网https://spring.io/ 可以看到SpringCloud所有的请求都会到 API Gateway(网关),然后在把请求分到相应的Microservices(微服务)中。Service registry(注册中心)、Config service、Distributed tracing(分布式跟踪)用于维护微服务。 Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统...原创 2021-01-19 15:18:41 · 247 阅读 · 0 评论 -
SpringCloud学习(1):微服务和微服务架构
一、知识回顾(1)java架构java项目开发主要的解决方案就是三层架构+MVC,然后出现框架(SSM等)解决了原始项目中代码量过多的问题,同时也导致了配置越来越多。而SpringBoot是新一代的JavaEE开发标准,采用自动装配,特点约定大于配置,解决了配置文件越来越多问题。当项目中功能越来越多,访问量越来多大的话。要怎么办呢?比如一个商场项目有如下功能:当项目越来越大会导致服务器崩溃。所以我们可以把项目中的业务独立成各个模块,简称模块化。比如订单业务访问量过多,我们可以把它单独放在原创 2021-01-18 17:27:21 · 362 阅读 · 0 评论