09 2021 档案
摘要:今天也是处理一个bug的时候,发现的这个服务器错误问题。“400 Bad Request” -- nginx/0.6.31 今天有人汇报nginx的HTTP400错误,而且这个HTTP400错误并不是每次都会出现的,查了一下发现nginx 400错误是由于request header过大,通常是由于
阅读全文
摘要:常用的分布式锁 一、基于数据库实现分布式锁 1. 悲观锁 利用select … where … for update 排他锁 注意: 其他附加功能与实现一基本一致,这里需要注意的是“where name=lock ”,name字段必须要走索引,否则会锁表。 有些情况下,比如表不大,mysql优化器会
阅读全文
摘要:刚接触到 gateway 的时候难免会遇到一些坎坷,特此写下笔记。 WebSession: 以往用 zuul 作网关的时候,直接使用 @EnableRedisHttpSession 在配置里面就可以通过 redis 共享 session 信息 spring 同时提供了 EnableRedisWebS
阅读全文
摘要:为什么用分布式锁? 在讨论这个问题之前,我们先来看一个业务场景: 系统A是一个电商系统,目前是一台机器部署,系统中有一个用户下订单的接口,但是用户下订单之前一定要去检查一下库存,确保库存足够了才会给用户下单。 由于系统有一定的并发,所以会预先将商品的库存保存在redis中,用户下单的时候会更新red
阅读全文
摘要:问题背景: 进行Spring Boot配置文件部署时,发出警告Spring Boot Configuration Annotation Processor not configured,但是不影响运行。 问题解决方案: 在pom.xml文件中引入依赖 <dependency> <groupId>or
阅读全文
摘要:概述: 以下代码仅供参考:在实际开发中用什么的都有(都存在优点与缺点)提供一种设计理念思想; 根据实际场景 可以设计出自己的一套认证规则 主要类说明: JwtCheck.java --> JwtToken校验注解 JwtCheckAop.java --> JwtToken校验注解AOP JwtTok
阅读全文
摘要:Authentication 和 Authorization的区别: Authentication:用户认证,指的是验证用户的身份,例如你希望以小A的身份登录,那么应用程序需要通过用户名和密码确认你真的是小A。 Authorization:授权,指的是确认你的身份之后提供给你权限,例如用户小A可以修
阅读全文
摘要:<!-- 按日查询 --> SELECT DATE_FORMAT(created_date,'%Y-%m-%d') as time,sum(money) money FROM o_finance_detail where org_id = 1000 GROUP BY time <!-- 按月查询 -
阅读全文
摘要:首先我们为什么需要做日志管理,在现实的上线中我们经常会遇到系统出现异常或者问题。 这个时候就马上打开CRT或者SSH连上服务器拿日子来分析。受网络的各种限制。于是我们就想为什么不能直接在管理后台查看报错的信息呢。 于是日志管理就出现了:↓ 引入相关依赖: <dependency> <groupId>
阅读全文
摘要:重试,在项目需求中是非常常见的,例如遇到网络波动等,要求某个接口或者是方法可以最多/最少调用几次;实现重试机制,非得用Retry这个重试框架吗? 那肯定不是,相信很多伙伴手写一下控制流程的逻辑也可以达到重试的目的。 那么用Retry的好处是什么? 简单来说,就是优雅。Retry重试框架,支持AOP切
阅读全文
摘要:概述: XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。 现已开放源代码并接入多家公司线上产品线,开箱即用。 官方地址中文版:http://www.xuxueli.com/xxl-job 目前已有多家公司接入xxl-job,包括比较知名的大众点评,京
阅读全文
摘要:一、 语法 Cron表达式是一个字符串,从Spring4.x版本后,不再进行年份的支持。该字符串以5个空格隔开,分为6个域,每一个域代表一个含义。 语法如下: seconds minutes hours daysOfMonth months daysOfWeek 有兴趣的同学可以参考Cron表达式解
阅读全文
摘要:本文章将持续更新 记录所遇到的问题及解决方案 ... ↓ ↓ ↓ 本次使用版本为:7.3.0 (以下问题 7.x 版本后都有可能遇到) 1):问题 一 ERROR: [3] bootstrap checks failed [1]: max file descriptors [4096] for el
阅读全文
摘要:MySQL 锁概述: 锁是计算机协调多个进程或线程并发访问某一资源的机制。 在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。 如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。
阅读全文
摘要:慢SQL日志查询: 查看是否开启慢查询日志: show variables like '%slow%'; linux下打开需在my.cnf的[mysqld]里面加上以下内容: 打开慢查询日志。修改MySQL的配置文件my.cn一般是在/etc目录下面,加上下面三行配置后重启MySQL。 slow_q
阅读全文
摘要:关于Redis大键(Key),我们从 [空间复杂性] 和访问它的 [时间复杂度] 两个方面来定义大键。 前者主要表示Redis键的占用内存大小;后者表示Redis集合数据类型(set/hash/list/sorted set)键,所含有的元素个数。 以下两个示例: 1个大小200MB的String键
阅读全文
摘要:前言: 我们的redis使用的是内存空间来存储数据的,但是内存空间毕竟有限,随着我们存储数据的不断增长,当超过了我们的内存大小时,即在redis中设置的缓存大小(maxmeory 4GB),redis会怎么处理呢? Redis内存淘汰策略,是被很多小伙伴忽略的知识盲区,注意,是盲区。 注意,Redi
阅读全文