婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > golang簡易令牌桶算法實現代碼

golang簡易令牌桶算法實現代碼

熱門標簽:宿遷便宜外呼系統代理商 重慶慶云企業400電話到哪申請 湛江crm外呼系統排名 不封卡外呼系統 鄭州智能語音電銷機器人價格 仙桃400電話辦理 寧波語音外呼系統公司 上海極信防封電銷卡價格 地圖標注免費定制店

基本思路:定義一個chan,chan大小為需要限制的qps大小,go一個協程啟動tick,每1000/qps時間在tick中寫入數值,啟動另一個協程,讀取chan中的值,如果讀取到chan中有值,則向下層接口發送請求。

代碼如下:

package main

import (
    "fmt"
    "time"
    "httpclient"
)

var LEN int = 10

func tickStoreCh(arrlen int, ch chan int) {
    len := 1000/arrlen
    fmt.Println(len)
    tickTime := time.NewTicker(time.Duration(len)*time.Millisecond)
    var i int
    for {
        fmt.Println(len)
        i++
        -tickTime.C
        ch- i
    }
}

func OrganReq(org string, qps int) {
    ch := make(chan int, qps)
    go tickStoreCh(qps, ch)
    time.Sleep(1000*time.Millisecond)
    for {
        //收客戶請求,發送http請求給RE
        client := httpclient.NewHttpClient(time.Duration(1000)*time.Millisecond, time.Duration(2000)*time.Millisecond)
        header := make(map[string]string)
        header["Content-Type"] = "application/json;charset=utf-8"
        code, err := client.ResponseCode("http://127.0.0.1:19988", header, "llltest")
        value := - ch
        fmt.Println(code, value, err, "lenchan:", len(ch))
        //time.Sleep(time.Second)
    }
}

到此這篇關于golang簡易令牌桶算法實現代碼的文章就介紹到這了,更多相關golang 令牌桶算法內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 詳解Golang實現請求限流的幾種辦法
  • golang高并發限流操作 ping / telnet
  • golang接口IP限流,IP黑名單,IP白名單的實例
  • Golang 限流器的使用和實現示例
  • Golang實現請求限流的幾種辦法(小結)
  • Golang模擬令牌桶進行對訪問的限流方式

標簽:儋州 青海 物業服務 遼寧 西雙版納 海南 安康 電子產品

巨人網絡通訊聲明:本文標題《golang簡易令牌桶算法實現代碼》,本文關鍵詞  golang,簡易,令牌桶,算法,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《golang簡易令牌桶算法實現代碼》相關的同類信息!
  • 本頁收集關于golang簡易令牌桶算法實現代碼的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 定日县| 斗六市| 班玛县| 鄱阳县| 合阳县| 绥棱县| 诸城市| 定州市| 土默特左旗| 大安市| 通渭县| 增城市| 芮城县| 南部县| 固安县| 贵德县| 揭阳市| 巴南区| 科技| 廊坊市| 沾化县| 商河县| 武鸣县| 罗山县| 台州市| 盱眙县| 仁寿县| 新郑市| 河西区| 彝良县| 邵阳市| 名山县| 哈尔滨市| 惠安县| 安龙县| 乐至县| 南投县| 绥棱县| 罗源县| 唐山市| 周至县|