摘要:
一、从Spring到SpringBoot 随着Spring的生态体系越来越壮大,Spring也变得越来越复杂,越来越臃肿。比如你想基于一套SSM的框架进行开发,那么你需要配置很多的东西,整合很多的东西。 因此Spring Boot应运而生。那么他基于什么变得简单呢? 就是:约定大于配置 什么是Spr 阅读全文
摘要:
一、Rabbitmq 二、RocketMQ 与kafka的区别: 纯java开发,不用zk 支持延迟投递,消息溯源等 多个队列使用一个日志文件,所以不存在kafka过多topic之后慢的问题 三、Pulsar Pulsar 是一个用于服务器到服务器的消息系统,具有多租户、高性能等优势。 Pulsar 阅读全文
摘要:
一、 Lock 锁 java.util.concurrent.locks.Lock 为什么有了synchronized,还需要Lock呢? 使用方式更灵活 性能开销小 1.1 ReentrantLock 简单示例: public class TestLock { private Lock lock= 阅读全文
摘要:
秒杀的本质 业务上:一场促销营销的活动 技术上:一种主动的DDos攻击,具备技术的不确定性和复杂度。 技术上对于秒杀有哪些优化方法呢? 丢弃订单 最早期,量太大扛不住,直接前端随机reject一些请求,返回抢单失败。简单有效 2. 优化吞吐 活动前期,提前准备一大批机器,服务化、分库分表搞定后端性能 阅读全文
摘要:
写在前面 想想为什么要做重构? 如果没有能说出来的理由,建议不要轻易重构。 机票系统A的现状 A系统的背景 业务上:从杭州挪到北京,作为重新孵化项目,想要做大做强。行业竞争压力非常大,做不出成绩,项目就会被毙。 技术上:遗留的老系统,在一个其他系统基础上改出来的单体,换手了四次团队,找不到一个了解这 阅读全文