作为后端/架构人员,在技术选型、服务架构设计的时候,或是造完一个轮子的时候,总是想尝试下极限在哪。此刻压测必不可少,此文介绍各种常见压测工具优缺点,也记录下基本用法。

阅读全文 »

要理解DDD(Domain-Driven Design,领域驱动设计),首要就得明白它解决了什么问题。微服务架构解决了高可用、可扩展问题,但随之带来了性能下降,复杂度暴增的问题。DDD分别从战略(业务)和战术(应用)出发,建立领域模型和架构模式,指导微服务的设计和拆分。

阅读全文 »

在JDK9之后JVM默认使用G1(Garbage-First, 垃圾优先)收集器进行垃圾回收。G1是一款分代的 (generational),增量的 (incremental),并行的 (parallel),移动式(evacuating)的,软实时的垃圾回收器。其最大特点是用Region代替传统分代模型,分代成为逻辑上的概念;建立了可预测的停顿时间模型,让暂停时间可配置。从实践结果来看,它能及时有效的回收大对象,增加吞吐量,避免内存碎片,保障程序的长久运行。

阅读全文 »

随着业务的发展,数据时常是指数级增长,数据提取/BI报表/数据挖掘总是被提及。那么如何支撑?如何建设数仓,如何支持实时分析?

阅读全文 »

现在越来越多的开源项目都使用gradle来构建,而且基于gradle灵活的语法和增量构建等特性,在大型项目构建的时候大大节约了时间,实乃高效干活的利器,不得不学起来~

阅读全文 »

最开始用Spring切面的时候听说是基于AspectJ的,便认为SpringAop是依赖AspectJ实现的。其实不然,SpringAop其实不依赖AspectJ,它本身的AOP功能是基于SpringBean管理的,通过动态代理(JDK或CgLib)实现的。然而,这却不是一个完整的AOP解决方案,所以需要引入AspectJ。

阅读全文 »

我们常说读源码一定要带着问题来读。那么你的疑问又是哪些呢?
就与我而言,在大概明白SpringCache的使用方式后,我想知道

  1. @EnableCaching 这个注解到底干了什么事情
  2. @Cacheable这种方法上的注解,是怎么替换我方法的返回的
  3. 我想对SpringCache有个更深入一层的理解,后续如果有问题,我知道在哪里去切入。
阅读全文 »

SpringCache是Spring基于Spring切面提供的缓存增强技术。它集成了缓存常见的各种操作,如Cacheable/CachePut/CacheEvit等;也支持了ConcurrentMapCache/RedisCache/EhCacheCache等各种缓存实现。它集成简单,支持丰富,实乃是业务开发的利器!

阅读全文 »

Google Protocol Buffer(简称Protobuf)是 Google开发的一种跨语言跨平台,轻量高效的序列化数据结构。
广泛用于服务器间通信以及存档存储磁盘上的数据。

阅读全文 »
0%