240 发简信
IP属地:浙江
  • 120
    双层Nginx架构说明

    我们知道nginx在负载均衡和反向代理方面有着很好的用途,最近发现公司的架构是Nginx+Nginx+tomcat架构, 仔细做了下分析,特做下记录:平时我们对如下的架构可能...

  • 将bean放入Spring容器中的五种方式

    @Configuration + @Bean @ComponentScan + @Component @Import 配合接口进行导入 使用FactoryBean。 实现Be...

  • CompletableFuture使用Mockito阻塞问题解决

    CompletableFuture是一个很好用的工具,可最近在做单测mock时发现一直阻塞,刚开始以为是代码死循环问题,但经过一番排查,发现并不是,直接上代码: 当执行单测时...

  • SpringBoot自定义注解实现Token校验(转载)

    1. 定义Token的注解,需要Token校验的接口,方法上加上此注解 2. 定义LoginUser注解,此注解加在参数上,用在需要从token里获取的用户信息的地方 3.权...

  • yml文件常见的几种读取方式

    最常见的两种 @Value @ConfigurationProperties针对这两种,不熟悉的可以自行搜索,网上已经有太多的介绍,这里主要介绍这两种外的用法。 准备 接下来...

  • MDC实现全链路调用日志跟踪,排查问题更方便

    MDC使用 添加拦截器 修改日志格式 重点是%X{traceId},traceId和MDC中的键名称一致 MDC 存在的问题 子线程中打印日志丢失traceId HTTP调用...

  • MAC下已安装nginx动态添加模块

    已安装nginx要添加模块是日常工作很常见的,本文展示如何动态添加模块 1. 查看nginx已安装了哪些模块 此步骤主要是查看之前安装nginx时都带了哪些模块,为了兼容在运...

  • SpringBoot数据库读写分离

    1. 引言 读写分离要做的事情就是对于一条SQL该选择哪个数据库去执行,至于谁来做选择数据库这件事儿,无非两个,要么中间件帮我们做,要么程序自己做。因此,一般来讲,读写分离...

  • 字节码插桩技术,用于系统监控设计和实现

    转载作者:小傅哥本文会基于 AOP、字节码框架(ASM、Javassist、Byte-Buddy),分别实现不同的监控实现代码。整个工程结构如下: 简单介绍:aop、asm、...

  • 120
    12306抢票算法redis实现

    导读 相信大家应该都有抢火车票的经验,每年年底,这都是一场盛宴。然而你有没有想过抢火车票这个算法是怎么实现的呢? 应该没有吧,咱们今天就来一一探讨。其实并没有你想的那么难 抢...

  • 120
    Redis中的位操作

    简介 redis的五种数据类型相信大家都非常清楚了,任何人问你基本都能脱口而出(string,hash,list,set,zset)。如果还不清楚,建议先看看redis基础,...

  • 120
    分布式事务解决方案

    一、2PC(两阶段提交)/XA 2PC(Two-phase commit protocol),中文叫二阶段提交。 二阶段提交是一种强一致性设计,2PC 引入一个事务协调者的角...

  • 120
    如何构建一个健壮性的服务

    在大数据的时代、流量爆发的时代,怎么保证我们的服务安全、稳定是每个企业、每个开发者需要关注的问题。于是微服务、分布式、大数据等等一些高大尚的名词出现了...。然而无论多么复杂...

  • 120
    漫谈数据库与缓存一致性

    为了追求更高的响应速度,通常我们会引入缓存,而拒绝每次都请求DB。引入缓存后,在更新数据时,不仅要更新DB数据,而且要更新缓存数据,这两个更新操作存在顺序问题: 先更新DB,...

  • 120
    数据库连接池到底应该设多大?

    数据库连接池的配置是开发者们常常搞出坑的地方,在配置数据库连接池时,有几个可以说是和直觉背道而驰的原则需要明确。想象你有一个网站,压力虽然还没到Facebook那个级别,但也...

  • 120
    内存泄漏排查

    问题定位 大量报错报警,查看日志,发现如下堆栈: 没有头绪,于是在一次报警时,快速登录服务器,使用top、free、df三板斧,结果发现了些异常: 发现CPU占用率特别高,知...

  • 120
    编写一个springboot starter

    编写starter步骤 创建名字为 xxx-spring-boot-starter 的启动器项目 创建名字为 xxx-spring-boot-autoconfigure的项目...