TheR1sing3un
TheR1sing3un
- [ ] I have registered the PR [changes](https://github.com/seata/seata/tree/develop/changes). ### Ⅰ. Describe what this PR did SummerCode2022:https://github.com/seata/seata/issues/4621#issue-1242038644 1. add back-end interface for console to query clients(keep-alive-connections, TM or RM). 2....
# Multi-DLedger ## Structure > overall structure  > Details  For the above several components, do the following detailed explanation. ## DLedgerProxy We previously used `DLedgerServer` directly as a...
### 触发下线 k8s在终止容器进程的时候,会由kubelet向进程发送SIGTERM信号量。Dubbo-go中已经集成对该信号量的监听逻辑。 > dubbo-go/config/graceful_shutdown.go/config#gracefulShutdownInit  ### 服务端下线期 当触发了优雅下线的时候,这时候需要一个可配置的下线期超时时间。该段时间内,需要完成对Provider的下线和对Consumer的下线。如果该段时间内下线逻辑仍未执行完,也无需继续等待。强制下线即可。 因此可以将需要下线的进程的下线逻辑如下表示:  整个流程将在设置的超时时间`Timeout`内完成。 #### 反注册 这一步是为了将Provider从注册中心取消注册,让客户端可以通过反注册事件来将该请求实例缓存移除,这样的话之后的请求就不会请求到该进程了。由于我们需要实现不依赖注册中心的反注册事件的方案,这一步在这里是为了正常的下线逻辑和为了一个保底的下线通知。 #### 主动通知 对于Triple等依赖长连接的协议,可以采用主动通知的逻辑,也就是在维护的长连接处对Consumer发送请求。可以直接复用该连接,客户端需要对该处的请求做出下线相关处理。 ##### 重试 长连接的保活机制并不能保证当前正在维护着的长连接就是活跃的。因此可能会下线通知失败,那么这时候可以进行重试。 ##### 超时 在超时时间内,若完成了收到了和长连接个数的正确响应,那么直接继续下一步,否则会进行某一步的重试。在超时时间到之后,不再进行重试了,直接进入到下一步。 该步骤的超时时间其实可以和目前采用的等待注册中心的下线通知下发的时间相关,因为可以让注册中心的通知作为保底。 #### 被动通知 若不是采用长连接或者对于主动通知没有覆盖到的客户端,我们只采用被动通知的方式, 我们仍采用现在的方案,使用filter来对当前接收到的但还未返回的请求计数。但是这时候我们仍需要ProviderFilter,作用是用来在`OnResponse()`函数中返回一个标记,比如使用Attachment作为载体,来记录当前是否处于下线流程中。也就是我们在下线的时候,标记了Provider为Closing状态,那么这时候的所有Response中都会带上Closing标记。用于通知上游该进程正在下线。 ####...
**Make sure set the target branch to `develop`** ## What is the purpose of the change link issue: https://github.com/apache/rocketmq/issues/5045 XXXXX ## Brief changelog XX ## Verifying this change XXXX Follow...
# Refactor the register and elect-master process in controller mode ## 背景 BackGround 现在的注册逻辑也就是在RegisterBrokerToController中包含了分配brokerId以及判断当前是否有master存在,如果没有master存在则也在本次register中添加一个ElectMasterEvent。 为了之后的持久化brokerId的逻辑,现在需要先将这个register语意拆分,保证register只用于brokerId的获取,而不涉及选举。 The current registration logic includes the allocation in the brokerId and determines whether a master...
1. support parser REPLACE ## What type of PR is this? - [ ] API-change - [ ] BUG - [ ] Improvement - [ ] Documentation - [x] Feature...
1. #344
1. Think about whether the service is still needed 2. Now `InflightStats` will be dirty when we close and open the queue.