java
文章平均质量分 66
barcke
源于生活 高于生活~
展开
-
一个事务传播机制带来的生产事故
一个事务传播机制带来的生产事故,保存数据始终保存不成功,又又又一起密室杀人案件?让我福尔摩斯🐟来看看是什么问题!!!原创 2024-07-26 10:14:56 · 354 阅读 · 0 评论 -
记一次接口远程调用异常排查链路 Remote peer closed connection before all data could be read
记一次接口远程调用异常排查链路 Remote peer closed connection before all data could be read原创 2023-03-07 10:45:06 · 3529 阅读 · 2 评论 -
Sharding-jdbc 4.1.1 问题记录
sharding-jdbc使用问题记录原创 2022-07-22 11:06:37 · 2395 阅读 · 1 评论 -
设计特性思考
平时的开发中避免不了技术设计,那么在设计中,我们怎么评判设计是否是优良的呢?原创 2022-07-20 11:32:07 · 234 阅读 · 0 评论 -
Sharding-Jdbc 基础使用分享
逻辑表水平拆分的数据库(表)的相同逻辑和数据结构表的总称。例:订单数据根据主键尾数拆分为10张表,分别是t_order_0到t_order_9,他们的逻辑表名为t_order。真实表在分片的数据库中真实存在的物理表。即上个示例中的t_order_0到t_order_9。数据节点数据分片的最小单元。由数据源名称和数据表组成,例:ds_0.t_order_0。绑定表分片规则一致的主表和子表。例如:t_order表和t_order_item表,均按照order_id分片,则此两张表互为绑定表关系。绑定表之间的原创 2022-07-13 13:55:04 · 1066 阅读 · 0 评论 -
sharding-jdbc 分库分表 跨库查询逻辑 * 出现 null 数据问题记录
公司业务库有多个库,服务拆分细粒度不够,避免不了查询多个业务库。假设我们有库 A、Bsharding-jdbc 默认库为 A此时执行下方查询 B 的查询语句 返回的数据为 nullselect * from users原创 2022-07-12 22:15:36 · 2767 阅读 · 0 评论 -
xxl-job 2.2.0 魔改自动主动执行器以及任务
xxl-job 需要手动在控制台注册任务和执行器,操作麻烦。增加操作复杂性。魔改2.2.0版本 自动注册~让我们释放双手原创 2022-06-08 18:13:59 · 1032 阅读 · 8 评论 -
使用spring aop简单进行操作日志的记录
简单记录操作日志即:谁什么时间做了什么事情。实现第一步创建一个@Log注解类@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface Log { /** * 操作类型 */ String operationType() default "add"; /** * 操作记录静态记录 * @return 操作记录原创 2021-12-29 17:08:38 · 358 阅读 · 0 评论 -
单体架构拆分微服务二
微服务架构UML优势服务可靠性高、可用性高、可扩展性高将之前的多种模块拆成了多个服务,即使某个服务挂掉了也不会影响到其他服务,比如订单服务挂了,不会影响到客户继续逛商场,不会影响添加购物车。每个服务可以用不同的技术栈实现,提现各个技术栈的优势。每个服务都可 X、Y、Z轴扩展,根据不同服务的特性有不同的扩展方案。X轴:水平复制,即在负载均衡服务器后增加多个web服务器。Y轴:根据服务的职责/功能,拆分服务。Z轴:对数据库的扩展,即分库分表(分库是将关系紧密的表放在一台数据库服务器原创 2021-10-24 12:47:55 · 224 阅读 · 0 评论 -
单体架构拆分微服务一
单体架构UML优势快速迭代刚开始搭建项目时能够快速迭代需求,不需要多个服务反复切换开发,多方配合处理。部署便利部署只需要部署一个服务即可。技术栈单一开发只需要会一种技术栈就能独立的完成开发用人成本低往往一个开发就能独立完成从业务逻辑处理到DB的整个流程劣势维护困难当开发逻辑越堆越多,逻辑耦合在一起就很难接手维护,通常可能维护摸一个模块的人,可能需要去理解熟悉大多数响应场景逻辑。测试困难如只需要测试一个小模块时,因为单体服务的原因可能需要吧涉及到的业原创 2021-08-21 15:54:18 · 274 阅读 · 0 评论 -
SpringBoot实现接口版本管理控制
前言因为现在开发都是前后端分离。前端如果是小程序或者App开发的时候,由于前端有版本控制而后端没有导致的问题,此时如果接口要修改之前的,那么后端没办法判断当前客户用的小程序版本只能让前端多传递一个参数了,这样的判断是不是不够优雅呢?是的没错,优雅的方式来啦~实现逻辑实现逻辑主要运用到了两个类org.springframework.web.servlet.mvc.condition.RequestConditionorg.springframework.web.servlet.mvc.method.原创 2021-06-18 15:58:43 · 2407 阅读 · 1 评论 -
Mybatis-plus Lambda自动填充 MetaObjectHandler 失效 解决方案
关于使用lambdaUpdate()导致updateAt不更新问题解决方案很苦恼,为啥使用lambdaUpdate()会导致updateAt不更新呢,明明我也标明了注解。明明我也有对应的config处理类进行自动填充但是为什么就是不更新呢???这是因为:MyBatis-Plus 字段填充是必须依赖于实体对象,通过实体对象进行自动插入,如果参数中不包含实体对象,则无法触发字段自动填充如下图所示 我们执行的方法:然后通过一层层跟进去到源码处理层的时候我们会发现实体类为null是不处理的固不会原创 2021-05-08 11:11:12 · 3155 阅读 · 2 评论 -
BloomFilter(布隆过滤器)结合redis使用---可解决集群数据问题~
前言Bloom Filter是一个占用空间很小、效率很高的随机数据结构,它由一个bit数组和一组Hash算法构成。可用于判断一个元素是否在一个集合中,查询效率很高(1-N,最优能逼近于1)。布隆过滤器概念详解可参考:https://blog.csdn.net/jiaomeng/article/details/1495500常见使用场景1、缓存击穿将已存在的缓存放到布隆中,当黑客访问不存在的缓存时迅速返回避免缓存及DB挂掉比如说:活动详情接口,我们可以缓存所有活动id,每一次调用活动详情接口时先原创 2021-03-18 16:38:51 · 616 阅读 · 0 评论 -
降维打击代码生成器,更快的开发后台管理系统
代码生成器的本质还是生成繁琐的后台代码,一旦修改后期生成的代码很难合并,虽然减轻部分工作,但解决方式并非最佳,后台管理系统开发是否还有更好的解决方案?框架简介Erupt Framework通用的后台管理框架,零前端代码,零CURD,快速开发企业级管理后台 !无需创建 template 、 controller 、 service 、 dao 、 entity 、 mapper 效率提升1000%无需生成任何代码,仅需单个实体类文件,配合erupt所提供的注解,就可快速开发完成后台管理功能 !支持数原创 2020-12-14 12:41:52 · 378 阅读 · 0 评论 -
使用Nacos配置中心、Springboot实现动态任务调度
众所周知SpringBoot中通过@Scheduled即可使用定时任务,但是我们有需求需要动态的定时导出报表这可怎么办呢,当然市面上还有很多的任务调度器也是不错的.本文主要教大家使用Nacos配置中心和SpringBoot实现动态任务调度.话不多说,代码奉上.public interface AbstractDynamicSchedule extends Runnable { /** * 任务名称 * @return 返回执行任务名称用于打日志 */ St原创 2020-08-07 15:14:14 · 3052 阅读 · 1 评论 -
SpringBoot非对称加解密---RSA、通过注解自动化实现
rsa-body-spring-boot使用方式源码地址:https://github.com/Barcke/rsa-body-spring-boot/tree/master导入对应的MAVEN包: <dependency> <groupId>com.barcke.y</groupId> <artifactId>rsa-body-spring-boot</artifactId> <version&g原创 2020-07-27 20:43:20 · 1213 阅读 · 5 评论 -
SpringBootMail JavaMailSender 发送邮件
前言: springboot中不需要在写复杂的email工具类啦 强大的Spring有提供JavaMailSender进行邮件发送.首先导包: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId></dependency>原创 2020-07-14 19:04:41 · 186 阅读 · 0 评论 -
使用yapi、idea提供api文档整体操作流程
前言: Swagger-ui代码侵入型太强固使用yapi来做api文档提供工具.搭建yapi在idea中下载yapi的插件下载yapi插件后在msic.xml文件中加入如下配置 <component name="yapi"> <option name="projectToken">${token}</option> <option name="projectId">${id}</option> <opt原创 2020-07-01 15:38:49 · 1315 阅读 · 0 评论 -
springboot mybatis mybatis-plus3.1.0 多数据源接入
前言: mybatis-plus版本为3.1.0,springboot版本为2.1.4.RELEASE导入以下依赖包 <dependency> <groupId>com.baomidou</groupId> <artifactId>dynamic-datasource-spring-boot-starter</artifactId> <version>2.5.4</version></depe原创 2020-06-30 17:54:16 · 3797 阅读 · 0 评论 -
使用docker、Jenkins、gitlee、springboot、搭建个人博客网站 并实现CI/CD 外加机器人提醒
前言: 服务器用的是云服务器买的阿里的linux、jdk1.8、docker服务端使用的为阿里的docker镜像仓库、mysql使用5.7版本的、redis使用最新版即可、文件服务使用的阿里的oss.原创 2020-06-16 20:22:46 · 1418 阅读 · 0 评论