07 2024 档案
微服务:解决复杂业务的妙方
摘要:1 微服务介绍 1)什么是微服务 微服务(Microservices)是一种软件架构风格,它将一个大型应用程序拆分成许多较小的、松散耦合的、独立运行的服务。这些服务通常围绕特定功能或业务领域组织,可以独立开发、部署、扩展和更新。微服务之间通过轻量级的通信协议(如HTTP/REST、消息队列等)相
Nacos 高级详解:提升你的开发和部署效率
摘要:Nacos 高级 一 、服务集群 需求 服务提供者搭建集群 服务调用者,依次显示集群中各服务的信息 搭建 修改服务提供方的controller,打印服务端端口号 package com.czxy.controller; import org.springframework.web.bind.anno
SpringBoot实战:Spring Boot接入Security权限认证服务
摘要:引言 Spring Security 是一个功能强大且高度可定制的身份验证和访问控制的框架,提供了完善的认证机制和方法级的授权功能,是一个非常优秀的权限管理框架。其核心是一组过滤器链,不同的功能经由不同的过滤器。本文将通过一个案例将 Spring Security 整合到 SpringBoot中,要
🚀RabbitMQ+redis+Redisson分布式锁+seata实现订单服务
摘要:引言 订单服务涉及许多方面,分布式事务,分布式锁,例如订单超时未支付要取消订单,订单如何防止重复提交,如何防止超卖、这里都会使用到。 开启分布式事务可以保证跨多个服务的数据操作的一致性和完整性, 使用分布式锁可以确保在同一时间只有一个操作能够成功执行,避免并发引起的问题。 订单流程(只展示重要的内容
前端快速处理几十万条数据的方式?
摘要:在前端处理大量数据时,可以采用以下几种方式来提高处理速度和性能: 数据分页:将数据分成多个页面,并按需加载。只加载当前页面的数据,而不是一次性加载全部数据。这可以减少初始加载时间和内存占用,并提高用户体验。 虚拟滚动:对于需要展示大量列表或表格数据的情况,可以使用虚拟滚动技术。虚拟滚动只渲染可见区域
前端说你的API接口太慢了,怎么办?
摘要:当有千万条海量数据时,前端调取接口发现接口响应的太慢,前端这时让你优化一下接口,你说有几千万条数据,觉得自己尽力了,前端觉得你好菜,别急,读完这篇文章,让前端喊你一声:大佬,厉害!!! 常用的方法总结 通过合理的分页加载、索引优化、数据缓存、异步处理、压缩数据等手段,可以有效地优化接口性能,提升系统
前端太卷了,不玩了,写写node.js全栈涨工资,赶紧学起来吧!!!!!
摘要:首先聊下node.js的优缺点和应用场景 Node.js的优点和应用场景 Node.js作为后端开发的选择具有许多优点,以下是其中一些: 高性能: Node.js采用了事件驱动、非阻塞I/O模型,使得它能够处理大量并发请求而不会阻塞线程,从而具有出色的性能表现。 轻量级和高效: Node.js的设计
接口防刷!利用redisson快速实现自定义限流注解
摘要:问题: 在日常开发中,一些重要的对外接口,需要加上访问频率限制,以免造成资��损失。 如登录接口,当用户使用手机号+验证码登录时,一般我们会生成6位数的随机验证码,并将验证码有效期设置为1-3分钟,如果对登录接口不加以限制,理论上,通过技术手段,快速重试100000次,即可将验证码穷举出来。 解决思
从Mybatis-Plus开始认识SerializedLambda
摘要:从Mybatis-Plus开始认识SerializedLambda 背景 对于使用过Mybatis-Plus的Java开发者来说,肯定对以下代码不陌生: @TableName("t_user") @Data public class User { private String id; private
js需要同时发起百条接口请求怎么办?--通过Promise实现分批处理接口请求
摘要:如何通过 Promise 实现百条接口请求? 实际项目中遇到需要发起上百条Promise接口请求怎么办? 前言 不知你项目中有没有遇到过这样的情况,反正我的实际工作项目中真的遇到了这种玩意,一个接口获取一份列表,列表中的每一项都有一个属性需要通过另一个请求来逐一赋值,然后就有了这份封装 真的是很多功
Springboot全局属性
摘要:# # COMMON SPRING BOOT PROPERTIES # # This sample file is provided as a guideline. Do NOT copy it in its # entirety to your own application. ^^^ # # #
Spring源码分析
摘要:01、Spring源码分析:initPropertySources方法扩展点 Spring的强大之处不仅仅在于它为Java开发者提供了极大便利,更在于它的开放式架构,使得用户可以拥有最大扩展Spring的能力。 protected void initPropertySources() { // Fo
如何实现一个分布式锁
摘要:如何实现一个分布式锁 本篇内容主要介绍如何使用 Java 语言实现一个注解式的分布式锁,主要是通过注解+AOP 环绕通知来实现。 1. 锁注解 我们首先写一个锁的注解 /** * 分布式锁注解 */ @Retention(RetentionPolicy.RUNTIME) @Target({Eleme
日常工作中需要避免的9个React坏习惯
摘要:前言 React是前端开发领域中最受欢迎的JavaScript库之一,但有时候在编写React应用程序时,可能陷入一些不佳的习惯和错误做法。这些不佳的习惯可能导致性能下降、代码难以维护,以及其他问题。在本文中,我们将探讨日常工作中应该避免的9个坏React习惯,并提供相关示例代码来说明这些问题以及如
Mybatis-Plus最优化持久层开发
摘要:Mybatis-plus:最优化持久层开发 一:Mybatis-plus快速入门: 1.1:简介: Mybatis-plus(简称MP)是一个Mybatis的增强工具,在mybatis的基础上只做增强不做改变; 提高效率; 自动生成单表的CRUD功能; 提供了丰富的条件拼接方式; 全自动ORM类型持
一条SQL查询语句是如何执行的??
摘要:我想来跟你聊聊 MySQL 的基础架构。我们经常说,看一个事儿千万不要直接陷入细节里,你应该先鸟瞰其全貌,这样能够帮助你从高维度理解问题。同样,对于 MySQL 的学习也是这样。平时我们使用数据库,看到的通常都是一个整体。比如,你有个最简单的表,表里只有一个 ID 字段,在执行下面这个查询语句时:m
SpringSecurity安全管理
摘要:SpringSecurity安全管理 一、安全简介 在 Web 开发中,安全一直是非常重要的一个方面,因此从应用开发的第一天就应该把安全相关的因素考虑进来,并在整个应用的开发过程中。 主要安全框架:Shiro,Spring Security Spring Security是一个功能强大且高度可定制的
redis学习笔记
摘要:redis笔记 1. Redis是什么? Redis( Remote Dictionary Server )是一个使用 C 语言编写的,高性能非关系型的键值对数据库。 与传统数据库不同的是,Redis 的数据是存在内存中的,所以读写速度非常快,被广泛应用于缓存方 向。Redis可以将数据写入磁盘中,
Mysql
摘要:MySql 1. 事务的四大特性? 事务特性ACID:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。 1.原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚。 2.一致性是指一个事务执行之前和执行之后都必须处于一
Redis 高阶应用
摘要:生成全局唯一 ID 全局唯一 ID 需要满足以下要求: 唯一性:在分布式环境中,要全局唯一 高可用:在高并发情况下保证可用性 高性能:在高并发情况下生成 ID 的速度必须要快,不能花费太长时间 递增性:要确保整体递增的,以便于数据库创建索引 安全性:ID 的规律性不能太明显,以免信息泄露 从上面的要
Springboot+Shiro+Mybatis+mysql实现权限安全认证
摘要:Shiro是Apache 的一个强大且易用的Java安全框架,执行身份验证、授权、密码学和会话管理。Shiro 主要分为两个部分就是认证和授权两部分 一、介绍 Subject代表了当前用户的安全操作 SecurityManager:它是Shiro框架的核心,典型的Facade模式,Shiro通过Se
Rabbitmq的使用
摘要:rabbitmq的使用 1. 使用场景及它的特点介绍 2. mq的5种常用消息模型 2.1 队列模型—-1 对 1 2.2 队列模型 — 1(生产者)对多(消费者) 特点: 1.当有多个消费者时,无论消费者处理的性能是否相同,生产者的消费会平均分配给每一个消费者 2.每个消费者处理的消息是否存在重复
Mybatis执行器
摘要:mybatis执行sql语句的操作是由执行器(Executor)完成的,mybatis中一共提供了3种Executor: 类型 名称 功能 REUSE 重用执行器 缓存PreparedStatement,下一次执行相同的sql可重用 BATCH 批量执行器 将修改操作记录在本地,等待程序触发或有下一
可重入锁思想,设计MQ迁移方案
摘要:如果你的MQ消息要从Kafka切换到RocketMQ且不停机,怎么做?在让这个MQ消息调用第三方发奖接口,但无幂等字段又怎么处理?今天小傅哥就给大家分享一个关于MQ消息在这样的场景中的处理手段。 这是一种比较特例的场景,需要保证切换的MQ消息不被两端同时消费,并且还需要在一段消费失败后的MQ还可以继
jQuery
摘要:一、JQuery了解 1 .原生JS的问题 我们会发现原生的JS编程很麻烦,尤其在兼容性的问题 选择元素,权限兼容的只有getElementById和getElementsByTagName;其他方法都有兼容问题 样式操作也有兼容问题,还得我们自己封装,封装getStyle() 动画也麻烦,也得自己