You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@iotdb.apache.org by "伊丹翔 (Jira)" <ji...@apache.org> on 2022/11/13 08:12:00 UTC

[jira] [Commented] (IOTDB-4630) 【2】Implement observer pattern in LoadBalancing framework

    [ https://issues.apache.org/jira/browse/IOTDB-4630?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17633225#comment-17633225 ] 

伊丹翔 commented on IOTDB-4630:
----------------------------

doc: https://apache-iotdb.feishu.cn/docx/Mi1ydlzjHoOswyxQCzucDcxHnve

> 【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)