14 Matching Annotations
- Aug 2022
-
funnylog.gitee.io funnylog.gitee.io
-
在InnoDB事务中,行锁是在需要的时候才加上的,但并不是不需要了就立刻释放,而是要等到事务结束时才释放。这个就是两阶段锁协议
select ... for update是在读的时候加悲观锁
Tags
Annotators
URL
-
-
funnylog.gitee.io funnylog.gitee.io
-
版本已提交,而且是在视图创建前提交的
Tags
Annotators
URL
-
-
time.geekbang.org time.geekbang.org
-
线程在跑
线程是gc root,然后线程又是引用了外部的线程池,只要线程不被回收(核心线程在allowCoreThreadTimeOut为false的情况下不会被回收),那么线程池也不会被回收。
Tags
Annotators
URL
-
-
juejin.cn juejin.cn
-
线程池中线程的回收依赖JVM自动的回收,线程池做的工作是根据当前线程池的状态维护一定数量的线程引用,防止这部分线程被JVM回收,当线程池决定哪些线程需要回收时,只需要将其引用消除即可
-
-
time.geekbang.org time.geekbang.org
-
Disposable 方法的注册
用于缓存spring的解构者
-
doCreateBean 管理了 Bean 的整个生命周期中几乎所有的关键节点
Tags
Annotators
URL
-
-
funnylog.gitee.io funnylog.gitee.io
-
就是当系统里没有比这个回滚日志更早的read-view的时候
疑惑点
Tags
Annotators
URL
-
-
help.aliyun.com help.aliyun.com
-
RabbitMQ版可用于单体应用被拆解为微服务后不同微服务间的通信
- 接受券核销、购买信息(异步解耦、削峰填谷)
- 用户注册信息(异步解耦)
- 推送数据给ES(缓存同步)
- 分销活动,用户购买订单号+券id的最终一致性
- 延时队列,异步(取消订单)
Tags
Annotators
URL
-
-
juejin.cn juejin.cn
-
MessageReCoverer
recover与manul模式也有关系(是否是bug、按理manul不能被自动ack/reject)
重试机制下: 1. 默认情况,manul模式的消息会最终处于unack状态; 1. ImmediateRequeueMessageRecoverer,manul消息会被重新requeue; 1. RejectAndDontRequeueRecoverer,manul模式的消息会最终处于unack状态;
Tags
Annotators
URL
-
-
blog.csdn.net blog.csdn.net
-
则消息会被拒绝,且 requeue = true(如果此时只有一个消费者监听该队列,则有发生死循环的风险,多消费端也会造成资源的极大浪费,这个在开发过程中一定要避免的)。可以通过 setDefaultRequeueRejected(默认是true)去设置
在开启重试的情况下,默认变成ack。(即不会重新入列),设置不同的recoverer,会有不同的表现:比如 1. RejectAndDontRequeueRecoverer即nack,且requue为false。 1. ImmediateRequeueMessageRecoverer即nack,且requue为true。
-
如果某个服务忘记确认 ACK 了,则 RabbitMQ 不会再发送此消息数据给它,只要程序还在运行,没确认的消息就一直是 Unacked 状态,无法被 RabbitMQ 重新投递。
即unack的消息是blocked状态 如果connect断开,unack消息会被释放,则消息会被服务器重新投递
Tags
Annotators
URL
-
-
time.geekbang.org time.geekbang.org
-
比如不需要交互的离线大规模计算,又比如多数 Web 资讯类网站、小程序、公共 API 服务、移动应用服务端等,都跟无服务架构擅长的短链接、无状态、适合事件驱动的交互形式很契合。
无服务适用范围
-
可以基于意图去使用各种协调分布式系统的工具,而不用深入具体工具的实现细节去研究怎么解决的分布式难题
sicp作者也提过,现代开发是探针式的开发方式,不需要了解那么多细节,只需要知道点api即可
-
远程的服务在哪里(服务发现)、有多少个(负载均衡)、网络出现分区、超时或者服务出错了怎么办(熔断、隔离、降级)、方法的参数与返回结果如何表示(序列化协议)、如何传输(传输协议)、服务权限如何管理(认证、授权)、如何保证通信安全(网络安全层)、如何令调用不同机器的服务能返回相同的结果(分布式数据一致性)等一系列问题,就需要设计者耗费大量的心思
分布式设计的核心概念
Tags
Annotators
URL
-