编写 Spring Boot Starter 插件

一.Spring Boot Starter简介Starter是Spring Boot中的一个非常重要的概念,Starter相当于模块,它能将模块所需的依赖整合起来并对模块内的Bean根据环境( 条件)进行自动配置。使用者只需要依赖相应功能的Starter,无需做过多的配置和依赖,Spring Boo
2021年10月06日 1,208次浏览

redis之性能调优

前言Redis 作为优秀的内存数据库,其拥有非常高的性能,单个实例的 OPS 能够达到 10W 左右。但也正因此如此,当我们在使用 Redis 时,如果发现操作延迟变大的情况,就会与我们的预期不符。你也许或多或少地,也遇到过以下这些场景:在 Redis 上执行同样的命令,为什么有时响应很快,有时却很
2021年10月02日 949次浏览

Centos7安装RabbitMQ详细教程(实测可用)

MQ引言什么是MQMQ:message Queue翻译为消息队列,通过典型的生产者和消费者模型不断向消息队列中生产消息,消费者不断从队列中获取消息。因为消息的生产和消费都是一部的,而且只关心消息的发送和接收,没有业务逻辑的侵入,轻松的实现了 系统之间的解耦。别名是消息中间件,通过利用高效的消息传递机
2021年10月01日 981次浏览

Redis Lua脚本原子性的注意点

先看一下Redis官方对Lua脚本的解释:https://redis.io/commands/eval“Atomicity of scriptsRedis uses the same Lua interpreter to run all the commands. Also Redis guaran
2021年09月30日 945次浏览

MySQL事务一致性理解

一致性是指数据处于一种语义上的有意义且正确的状态。一致性是对数据可见性的约束,保证在一个事务中的多次操作的数据中间状态对其他事务不可见的。因为这些中间状态,是一个过渡状态,与事务的开始状态和事务的结束状态是不一致的。举个粒子,张三给李四转账100元。事务要做的是从张三账户上减掉100元,李四账户上加
2021年09月26日 957次浏览

免费压力测试工具大合集

DoS(Denial Of Service)攻击是指故意的攻击网络协议实现的缺陷或直接通过野蛮手段残忍地耗尽被攻击对象的资源,目的是让目标计算机或网络无法提供正常的服务或资源访问,使目标系统服务系统停止响应甚至崩溃(关于 DDoS 更多认识请点击这里)。然而随着网络上免费的可用 DDoS 工具增多,
2021年09月25日 6,358次浏览

Diamond--阿里的配置服务中的高可用设计思想

DiamondDiamond主要提供持久配置的发布和订阅服务,最大特点是结构简单,稳定可靠。Diamond的主要使用场景是用来进行动态数据库切换与扩容, 进行一些业务系统运行时开关配置的推送。Diamond产品专注于高可用性,基于此在架构、容灾机制、数据获取模型上有一些与同类产品的不同之处。Diam
2021年09月23日 1,799次浏览

关于系统设计的持续思考(持续更新)

业务设计1.现在需要实现一个发放优惠券的功能,用户量1亿,从1亿的用户中获取当日过生日的用户,在当天早上8点-10点,进行优惠券发放。1.失败重试2.查询过程前置,不影响阻塞发放功能主流程
2021年09月17日 1,213次浏览

本地缓存的几种策略

缓存(Cache) 是指将程序或系统中常用的数据对象存储在像内存这样特定的介质中,以避免在每次程序调用时,重新创建或组织数据所带来的性能损耗,从而提高了系统的整体运行速度。以目前的系统架构来说,用户的请求一般会先经过缓存系统,如果缓存中没有相关的数据,就会在其他系统中查询到相应的数据并保存在缓存中,
2021年09月15日 1,255次浏览

mysql 批量插入为什么可以提升性能?

数据库的一个插入动作,包含了连接,传输,执行,提交/回滚 等等的动作,在 执行的时候可能还会遇到锁表,等待等等,所以,批量插比逐个插效率高,是大部分情况,而不是绝对情况大部分情况下,批量插和逐个插,在执行层面,耗时接近;而不用多次连接数据库,在数据传输层面,也是一次性传输效率高(网络传输和这个模型类
2021年09月10日 1,012次浏览