成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

Delayer 基于 Redis 的延遲消息隊列中間件

Xufc / 1725人閱讀

摘要:基于的延遲消息隊列中間件,采用開發(fā),支持等多種語言客戶端。參考有贊延遲隊列設計中的部分設計,優(yōu)化后實現(xiàn)。會員到期前天,短信通知續(xù)費。其他針對某個任務,延遲執(zhí)行功能的需求。服務器端定時使用連接池并行將中到期的放入對應的中,供客戶端取出。

Delayer

基于 Redis 的延遲消息隊列中間件,采用 Golang 開發(fā),支持 PHP、Golang 等多種語言客戶端。

參考 有贊延遲隊列設計 中的部分設計,優(yōu)化后實現(xiàn)。

項目鏈接:https://github.com/mixstart/d... ,有需要的朋友加 Star 哦。

應用場景

訂單超過30分鐘未支付,自動關閉訂單。

訂單完成后, 如果用戶一直未評價, 5天后自動好評。

會員到期前3天,短信通知續(xù)費。

其他針對某個任務,延遲執(zhí)行功能的需求。

實現(xiàn)原理

客戶端:push 任務時,任務數(shù)據(jù)存入 hash 中,jobID 存入 zset 中,pop 時從指定的 list 中取準備好的數(shù)據(jù)。

服務器端:定時使用連接池并行將 zset 中到期的 jobID 放入對應的 list 中,供客戶端 pop 取出。

核心特征

使用 Golang 開發(fā),高性能。

高可用,服務器端操作是原子的,且做了優(yōu)雅停止,不會丟失數(shù)據(jù)。

可通過配置文件控制執(zhí)行性能參數(shù)。

提供具體言語的 SDK,使用簡單快捷。

如何使用

delayer 分為:

服務器端:負責定時掃描到期的任務,并放入隊列,需在服務器上常駐執(zhí)行。

客戶端:在代碼中使用,以類庫的形式,提供 push、pop、bPop、remove 方法操作任務。

服務器端

在 https://github.com/mixstart/d... 中下載對應平臺的程序。

支持 windows、linux、mac 三種平臺

然后修改配置文件 delayer.conf

[delayer]
pid = /var/run/delayer.pid      ; 單例執(zhí)行, 多實例執(zhí)行留空, Win不支持
timer_interval = 1000           ; 計算間隔時間, 單位毫秒
access_log = logs/access.log    ; 存取日志
error_log = logs/error.log      ; 錯誤日志

[redis]
host = 127.0.0.1                ; 連接地址
port = 6379                     ; 連接端口
database = 0                    ; 數(shù)據(jù)庫編號
password =                      ; 密碼, 無需密碼留空
max_idle = 2                    ; 最大空閑連接數(shù)
max_active = 20                 ; 最大激活連接數(shù)
idle_timeout = 3600             ; 空閑連接超時時間, 單位秒
conn_max_lifetime = 3600        ; 連接生存時間, 單位秒

查看幫助:

[root@localhost bin]# ./delayer -h
Usage: delayer [options]

Options:
-d/--daemon run in the background
-c/--configuration FILENAME -- configuration file path (searches if not given)
-h/--help -- print this usage message and exit
-v/--version -- print version number and exit

啟動:

[root@localhost bin]# ./delayer
    ____       __
   / __ \___  / /___ ___  _____  _____
  / / / / _ / / __ `/ / / / _ / ___/
 / /_/ /  __/ / /_/ / /_/ /  __/ /
/_____/\___/_/\__,_/\__, /\___/_/
                   /____/
Service:        delayer
Version:        1.0.1
[info] 2018/10/19 11:24:24 Service started successfully, PID: 31023
客戶端

我們提供了以下幾種語言:

根據(jù)對應項目的說明使用

PHP:https://github.com/mixstart/d...

Golang:https://github.com/mixstart/d...

Java:待定

Python:待定

License

Apache License Version 2.0, http://www.apache.org/licenses/

文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/29574.html

相關文章

  • 高并發(fā)異步解耦利器:RocketMQ究竟強在哪里?

    摘要:它是阿里巴巴于年開源的第三代分布式消息中間件。是一個分布式消息中間件,具有低延遲高性能和可靠性萬億級別的容量和靈活的可擴展性,它是阿里巴巴于年開源的第三代分布式消息中間件。上篇文章消息隊列那么多,為什么建議深入了解下RabbitMQ?我們講到了消息隊列的發(fā)展史:并且詳細介紹了RabbitMQ,其功能也是挺強大的,那么,為啥又要搞一個RocketMQ出來呢?是重復造輪子嗎?本文我們就帶大家來詳...

    tainzhi 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<