《怪诞行为学》——阅读笔记
人-都是非理性的。我们是非理性的,这种非理性是可预测的。懂得了非理性的预测方法,就为我们改进决策、改善生活方式提供了一个支点。
人-都是非理性的。我们是非理性的,这种非理性是可预测的。懂得了非理性的预测方法,就为我们改进决策、改善生活方式提供了一个支点。
公司的 Spring Boot 还是 2.2.6 版本,计划升级到 2.6.x 版本,采用逐级升级测试影响范围,而不是跨版本升级。所以需要了解各个 次版本 的更新。此篇记录 Spring Boot 2.3 版本发布说明。
关注的几个更新。
Spring Boot 2.7 Release Notes(版本发布说明),关注的几个更新。
spring.factories
迁移到 AutoConfiguration
下的imports
。spring.redis.sentinel.username
。查询 IP 地址的归属地,核心是依赖 IP库数据。
异步编程是实现程序并发、依赖解耦的一种方式。异步的本质是开启一个新的线程来执行。
异步:即整个业务中的某些逻辑交给不同的线程异步处理,不用等待异步线程的结果就可返回。
同步:即一条线程干到底,在没结束没返回之前不能干其它事情,必须在所有逻辑处理完才能返回。
负载均衡(Load Balance),指将负载(工作任务)进行平衡、分摊到多个操作单元上进行执行。
通过负载均衡,可以将高并发的请求分发到由多台应用服务器组成的一个服务器集群上,从而利用多台服务器资源处理高并发下的计算压力。
负载均衡大的技术方向分硬件负载均衡设计 和 软件负载均衡,硬件设备通常比较贵成本较高,这里主要讲软件实现负载 均衡的实现方案。
在调试Spring MVC 集成 Servlet 3.0的 AsyncContext 做异步处理时,碰到一个平时未注意到和较少会触发的怪异问题,结合调试结果和自己的猜想,对比研究了下源码来解释此问题的根本原因。
Servlet 和基于 Servlet 的容器(例如Tomcat)默认处理请求和处理业务是同一条线程,即有请求进来后,分配一条线程接收并处理请求,并继续执行业务处理,直到所有处理结束才完成响应,线程才会释放。这使得 Servlet 对业务方法的调用变成一种阻塞调用,效率较低。
Servlet3.0 提供了AsyncContex 来异步处理请求,将请求线程与业务处理线程分离。
Spring Framework 5.0 版本增加了响应式 Web 框架 Spring WebFlux 。 它是完全无阻塞的,支持 Reactive Streams 反背压,并且可以在 Netty、Undertow 和 Servlet 3.1+ 容器等服务器上运行。
Spring Boot 通过为 Spring Webflux 提供自动配置来简化响应式 Web 应用程序的开发。
任务待完成。。。。。。。。。
务管道模式(Pipeline)不属于 GOF 提到的 23 种设计模式中的一种,但它与职责链模式很相似,或称为 职责链模式的一种变体。