随笔分类 - 工具技术
摘要:背景介绍 最近遇到了这样一个问题,我们有一个 jar 包 common-tool,作为基础工具包,被各个项目在引用。突然某一天发现日志很多报错。 一看是 NoSuchMethodError,意思是 DisJunction 里 init 方法没找到,但是我检查了代码是有这个方法的啊。 问题定位 当时百
阅读全文
摘要:本文将按照如下顺序给大家简单讲讲单元测试应该怎么写 什么是单元测试 单元测试又称模块测试,是针对软件设计的最小单位(模块)就行正确性的校验的测试,检查每个程序模块是否实现了规定的功能,保证其正常工作。 测试的重点:系统模块、方法的逻辑正确性 和集成测试不同,单元测试应该具备如下特点: 尽可能简短不重
阅读全文
摘要:前言 前几天突然接到一个技术需求,想要做一个功能。前端有一个表单,在页面上可以直接写 java 代码,写完后就能保存到数据库,并且这个代码实时生效。这岂非是不用发版就可以随时改代码了吗?而且有bug也不怕,随时改。 适用场景:代码逻辑需要经常变动的业务。 核心思想 页面改动 java 代码字符串 j
阅读全文
摘要:软件准备 VirtualBox 6.1.26 centOS镜像 接下来我们就开始进行安装: 创建虚拟机 新建虚拟机 点击下一步,调整内存大小 内存大小根据需要调整,然后点击下一步 3. 虚拟硬盘设置 保持默认即可 4. 虚拟硬盘文件类型 保持默认即可 5. 下一步,选择动态分配即可 下一步,调整文件
阅读全文
摘要:redis-delay 背景 我们先看看以下业务场景: 当订单一直处于未支付状态时,如何在半小时后自动取消? 如何定期检查处于退款状态的订单是否已经退款成功? 实现方案 定时任务扫表 为了解决以上问题,最简单直接的办法就是定时去扫表。每个业务都要维护一个自己的扫表逻辑。 优点:简单 缺点:每分钟全局
阅读全文
摘要:UML UML(Unified Modeling Language,统一建模语言)是用来设计软件蓝图的可视化建模语言,是一种为面向对象系统的产品进行说明、可视化和编制文档的标准语言,独立于任何一种具体的程序设计语言。 1997 年 UML 被国际对象管理组织(OMG)采纳为面向对象的建模语言的国际标
阅读全文
摘要:一、Apollo简介 1.1 主流配置中心 Disconf 2014年百度开源的配置中心,目前已不再维护 Spring Cloud Config 2014年9月开源,是SpringCloud生态中的一员 Apollo 2016年携程开源的配置管理中心,能够集中化管理不同环境、不同集群的配置,配置修改
阅读全文
摘要:一、热部署 使用前提 1. IDEA打开自动编译 2. 设置将compiler.automake.allow.when.app.running前面的勾打上(快捷键Ctrl+Shift+Alt+/ 选择Registry进去即可) 安装JRebel 1. 在IDEA中一次点击 File Settings
阅读全文
摘要:分布式事务 一、概念 1. 何为分布式事务 一个事务包含多个操作,多个操作操作了多个数据源,这样的事务称为分布式事务。 2. CAP定理 画图举例说明: 例:用户在北京服务器下了单。 一致性 :要想保证一致性,那么如果用户查询订单请求路由到了上海,因为上海没有这笔订单数据,所以只能报错来拒绝服务,让
阅读全文
摘要:动态分库分表 1.方案简述 动态分库+取模分表的方式,解决扩容时数据迁移,分表数据热点问题。 根据数据库配置的规则来计算会路由到哪个数据库里面去。例:我对user表进行了分库分表。当user数据量小于30我就只插入db0这个数据库。大于30小于60我就插入db1这个数据库。 id | start|e
阅读全文
摘要:基于Sharding JDBC的读写分离 1.引入pom.xml 2.建立实体类 3.建立mapper 4.建立service 5.建立controller 6.写配置文件 7.启动类 8.测试 先在浏览器中测试新增是否是走主库 http://localhost:8080/addUser?name=
阅读全文
摘要:一、ELK部署 安装包下载地址:链接: https://pan.baidu.com/s/1QMrGFpv1QyOSwN AsXGrLA 提取码: rbn1 1. 安装logstash 1.解压logstash2.4.0 2.在解压目录下新建config目录,新建logstash.conf(建配置文件
阅读全文