摘要:
Spring webflux 核心组件 • HttpHandler --通用handler,封装了request和response请求 桥接底层server的api,然后统一封装成自己的request和response,作为入口接收spring的api • WebHandler --框架级别的业务逻 阅读全文
摘要:
背压:流量控制 -消费者往--生产者推流量 Blocking模式的问题(thread per request) • 一个Thread可能占据1M内存( 64bit JVM ) • Context switch 开销大 • 需要依靠同步工具互斥 • 涉及到多状态更新的代码逻辑不易维护 JDK 异步AP 阅读全文
摘要:
创建独立的spring体系 内嵌Tomcat jetty,不需要部署tomcat Starer一整套的依赖的封装,用来简化配置(场景的概念,把这个场景下所需的包都下载下来) 自动配置 生产环境的配置 不需要代码也不需要xml配置 RestController =controller+response 阅读全文
摘要:
内存模型的基础 内存模型的抽象结构 共享变量 堆里面的对象、数组元素,静态变量(方法区) 局部变量 不会有线程可见性的问题,不会受内存模型的影响 指令重排 编译器优化的重排序 不改变单线程语义的前提下重新安排编译的顺序 --编译器 指令级并⾏的重排序 现在的处理器采用的技术,多条指令重叠进行,只要两 阅读全文
摘要:
设计模式六大原则 1. 单一职责原则--一个类只负责一个功能 2. 迪米特法则 类与类之间不要依赖太多 3. 接口隔离原则--每个类建立专用的接口 4. 里氏替换原则--能扩展,但不要覆盖父类非抽象的方法 --低耦合,减少bug 5. 依赖倒置原则--面向接口,而不是面向实现类 6. 开闭原则--对 阅读全文
摘要:
kafka为什么采用消费者主动拉的模式: kafka的性能非常高(qps10-20万(QPS:全名 Queries Per Second,意思是“每秒查询率”,是一台服务器每秒能够响应的查询次数,TPS 即 Transactions Per Second 的缩写,每秒处理的事务数目) 但凡下游消费者 阅读全文
摘要:
1.MQ背景&选型 消息队列作为⾼并发系统的核⼼组件之⼀,能够帮助业务系统解构提升开发效率和系统稳定性。主要具 有以下优势: 削峰填⾕(主要解决瞬时写压⼒⼤于应⽤服务能⼒导致消息丢失、系统奔溃等问题) 系统解耦(解决不同重要程度、不同能⼒级别系统之间依赖导致⼀死全死) 提升性能(当存在⼀对多调⽤时, 阅读全文