[
https://issues.apache.org/jira/browse/IOTDB-4630?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Gaofei Cao reassigned IOTDB-4630:
---------------------------------
Assignee: 伊丹翔 (was: Yongzao Dan)
> 【2】Implement observer pattern in LoadBalancing framework
> --------------------------------------------------------
>
> Key: IOTDB-4630
> URL: https://issues.apache.org/jira/browse/IOTDB-4630
> Project: Apache IoTDB
> Issue Type: Improvement
> Reporter: Gaofei Cao
> Assignee: 伊丹翔
> Priority: Major
>
> Many of the services running on ConfigNode-leader have a requirement to make
> decisions when the status of a DataNode changed. Currently, we've implemented
> a `Unknown-DataNode-Detector` service at NodeManager to periodically check
> the DataNodes' status and notify other services when some DataNodes' status
> changed. However, the `Unknown-DataNode-Detector` only check `Running` and
> `Unknown` status and the notification is serial, which is a inferior
> implementation for cluster version.
>
> Obviously, observer pattern is more suitable for soving this problem. And
> there are some requirements that the observer pattern needs to satisfy:
>
> # The observed(nodeCache in NodeManager) should publish some information as
> soon as some Nodes' status have changed.
> # There observed may produce multiple information at the same time. i.e.
> there are multiple Nodes changed their status within a heartbeat loop.
> # The observers should receive the information and perform its own mission
> asynchronously between each other.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)