自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

菜鸟学飞

一步一步积累,一天一天进步

  • 博客(17)
  • 收藏
  • 关注

原创 SpringCloud学习系列总纲

Eureka 1、SpringCloud学习系列Eureka-(1)入门篇 Gateway 1、SpringCloud学习系列Eureka-(1)入门篇2、SpringCloud学习系列Gateway-(2)动态路由3、SpringCloud学习系列Gateway-(3)限流篇

2020-07-04 19:04:07 208

原创 间隙锁-记一次死锁原因分析

目录一、场景概述二、场景重现1、数据库准备2、同用户已有地址记录操作3、同用户无地址记录操作4、不同用户无地址记录操作三、解决死锁一、场景概述这个死锁问题的出现是在一次电商系统的抢购活动中出现的(因为比较久了,当时没有事后写微博记录下,所以现在没有实际的日志来更好的展现,只能靠描述回忆,大家见谅)项目:电商系统中的用户系统(采用的是微服务框架:有门户、商品、用户、订单、支付、优惠、仓储等多个微服务系统) 时间:抢购开始前半小时开始出现 现象:用户系统的日志中,间歇

2021-12-30 16:59:02 1787 2

原创 SpringCloudAlibaba学习系列(2.2)dubbo配置详解

目录一.说明二.常用配置1.1、version一.说明本文是基于上篇文章进行的配置实现(SpringCloudAlibaba学习系列(2)dubbo集成),所以这里就不继续重复去搭建项目,只做一些代码配置验证。 将会列举目前学习到的一些dubbo的配置,做下记录,方便以后进行查询使用。后续如果有看到其他配置,将会继续进行更新。二.常用配置1.1、version用于设置provider的service接口版本号,consumer...

2021-12-30 10:39:22 1455

原创 SpringCloudAlibaba学习系列(2)dubbo自定义Filter

目录一、简介二、实战1、创建filter类2、配置Filter文件3、配置dubbo4、查看效果5、配置service的Filter5、service剔除provider统一配置的Filter三、other一、简介 我们再开发web应用的时候,通常会需要继承javax.servlet.Filter的接口类来实现统一拦截请求进行处理的功能,如鉴权、日志、Xss攻击拦截等。那么在微服务dubbo框架处理RPC请求的时候,我们是否也有这样的需求,需要对远程...

2021-09-12 17:10:09 953

原创 Linux安装Nginx

1、下载安装包可以到Nginx官网(nginx: download)下载Nginx源码包。这里我使用的是nginx-1.20.1版本2、解压安装包先创建目录存放安装包# cd /data# mkdir nginx# cd nginx上传安装包后,解压# tar -zxvf nginx-1.20.1.tar.gz编译安装# cd nginx-1.20.1# ./configure# make# make install3、启动安装好后,ngin.

2021-09-11 17:38:26 116

原创 linux安装jdk8

1、创建安装下载目录:cd /datamkdir javacd java2、下载安装包​wget https://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.tar.gz?AuthParam=1542024952_92212d1c1c8098e93ca834012f60f42d3、解压安装包tar -zxvf j

2021-09-11 16:21:21 72

原创 SpringCloudAlibaba学习系列(2)dubbo集成

一、简介

2021-06-25 14:58:52 869

原创 linux安装mysql8.0.25

1、官网下载安装包网址:https://dev.mysql.com/downloads/mysql/下载后得到压缩文件:mysql-8.0.25-linux-glibc2.12-x86_64.tar.xz2、上传文件到linux使用命令rz上传到文件夹/data/mysql3、解压安装切换到文件目录# cd /data/mysql因为是xz文件,所以先执行xz命令解压# xz -d mysql-8.0.25-linux-glibc2.12-x86_64.tar.xz

2021-06-23 19:40:06 1087

原创 SpringCloudAlibaba学习系列(1)Nacos入门

一、简介Nacos是阿里开源的项目,用于实现动态服务发现、服务配置管理(官网:https://nacos.io/zh-cn/docs/what-is-nacos.html)。说到这里,做过微服务的小伙伴应该会有熟悉感(内心OS:这个不就是跟Zookeeper的功能一样吗!!!)。而在SpringCloud生态中,我们也能找到对应的产品,Eureka注册中心用于动态服务发现,SpringCloudConfig配置中心用于服务配置管理。根据分布式架构的CAP理论来说,Nacos是可以设置成CP或者...

2021-06-16 17:53:30 320

原创 springboot实战-@Import导入配置

目录前言代码实战第一种:导入@Configuration第二种:导入继承ImportSelector接口类前言在之前的文章《springboot实战-自动配置》中,介绍了在springboot中如何实现自定义组件以及自动配置加载的源码分析,从分析中知道,@Import注解在自动配置中发挥着重要作用。从Import的英文中,很清晰的表达了是用于导入的作用,一般用于导入@Configuration注解的类、继承ImportSelector接口或者继承ImportBeanDefinitio

2021-06-04 16:58:55 1823

原创 springboot实战-自动配置

目录前言源码分析前言我们在springboot项目开发过程中,可能存在多个项目需要用到同一个功能,这时候不同的项目组实现这个功能都采用了不同的方式,同时后期需要各自项目组进行代码维护升级,这样会导致代码质量不一致、重复造轮子、浪费人力等问题。遇到上面的问题,需要思考下此功能是否具备通用性,如第三方的接入、中间件的接入、工具类等,如果具备,那么我们可以把这一块功能抽离出来,做成公共组件,在springboot的项目中,我们就可以采用自定义starter组件的方式实现公共组件。源码分析

2021-05-30 01:00:25 366

原创 RocketMQ集群搭建-双主双从高可用

一、部署架构正在上传…重新上传取消

2020-09-21 22:46:49 1359

原创 SpringCloud学习系列Gateway-(4)熔断降级篇

目录前言代码实战源码简析思维扩展:动态配置思路前言我们先来看,熔断降级是什么?假设一个这样的场景,gateway网关层接入了两个应用服务,分别是服务serviceA和服务serviceB(请求流量一样),gateway目前的并发处理能力是1000,两个服务正常情况下各自处理刚刚好满足只需要使用500,现在serviceA服务因为系统问题,接口响应本来耗时50ms的变成了耗时5秒,这样因为请求堆积,gateway的1000就慢慢的被serviceA逐渐全部抢占,serviceB就分

2020-07-11 16:42:09 5415

原创 SpringCloud学习系列Gateway-(3)限流篇

前言通常一个应用,无论是全部请求还是细化到每一个接口的请求,都会有一个每秒请求量QPS的峰值,一般会通过压测的方式评估出接口的峰值是多少,一旦超过这个峰值,应用将会响应缓慢,严重的甚至会导致应用假死。如何防止这种情况的发生呢?这时候就需要对请求进行限流,在某一时刻只允许一部分低于峰值的请求流量进来应用,提高系统的可用性。这章节就会基于SpringCloud Gateway进行限流实现。简单限流一、通过配置的方式进行限流,配置gateway的application.yml文件,如下:...

2020-07-04 18:52:46 2960

原创 SpringCloud学习系列Gateway-(2)动态路由

目录前言前言上篇入门篇,通过配置或者代码的方式,实现了路由。(详情请跳转:SpringCloud学习系列Gateway-(1)入门篇)

2020-07-04 16:11:56 1815

原创 SpringCloud学习系列Gateway-(1)入门篇

目录前言前言假设目前公司有一个电商平台,电商平台的服务有很多:账号系统、商品系统、订单系统、优惠券系统、库存系统、物流系统等等,一般部署架构有两种方式:1、“各自为政,不听总指挥” 这种部署方式有以下问题:各个服务维护自己一套nginx配置、单独域名,增加运维的工作量和复杂度; 每个服务可能需要实现一套权限控制、限流控制、降级控制等通用功能,变成重复造轮子;2、“团结力量,一致对外”这种部署方式采用nginx做反向代理,统一访问域名shop.com,每...

2020-06-21 18:35:10 1521

原创 SpringCloud学习系列Eureka-(1)入门篇

目录前言Eureka简介为什么需要Eureka什么是EurekaEureka代码例子创建Eureka服务创建provider服务创建consumer服务前言随着应用系统业务复杂度和用户量的提升,应用逐渐从单机模式演变成集群模式,接着进行业务上的拆分,形成各个业务的微服务系统。那么,微服务之间如何保证相互的安全可靠并且灵活通信就成了亟需关注的问题。Eureka、Zookeeper等注册中心提供的服务注册发现功能由此诞生。Eureka简介为什么需要Eureka

2020-06-21 15:49:50 387

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除