In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-02-27 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Development >
Share
Shulou(Shulou.com)05/31 Report--
This article mainly introduces the relevant knowledge of how to achieve heartbeat timeout in go language, the content is detailed and easy to understand, the operation is simple and fast, and it has a certain reference value. I believe you will gain something after reading this go language heartbeat timeout article. Let's take a look at it.
I. background
This paper describes the timeout implementation for the client to receive heartbeat information. The heartbeat time-out, or the acceptance of information beyond the limited time, appears more frequently in the distributed system. It is common to have a node timeout in hadoop, or the word timeout appears in the log.
2. The realization of heartbeat timeout 2.1 through select case (there are many design concepts)
This method to achieve heartbeat requires some understanding of channel and select case mechanisms in the go language. When the default condition is not included in the select code snippet, it blocks until there is a channel operation.
What you need to pay attention to is! The select language blocks only once and executes once. If multiple judgments are required, or if there may be multiple case conditions to be satisfied, you need to add for statements.
The first thing to know is that select is designed for channel, so every case expression must be an expression that contains an operation channel. The following code describes that a random channel is selected to send a message. Under normal circumstances, a timeout is not triggered. In order to trigger a timeout, comment out the channel to send data operations. If the timeout is five seconds, the timeout is triggered.
Package main import ("fmt"math/rand"time") func main () {/ / prepare three channels. IntChannels: = [3] chan int {make (chan int, 1),} / / randomly select a channel and send element values to it. Index: = rand.Intn (3) fmt.Printf ("The index:% d\ n", index) / / ‼️ cancels the gaze on this line of code, and the selection of timeout conditions is triggered. / / intChannels [index]
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.