国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

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

Xufc / 1652人閱讀

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

Delayer

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

參考 有贊延遲隊列設計 中的部分設計,優化后實現。

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

應用場景

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

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

會員到期前3天,短信通知續費。

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

實現原理

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

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

核心特征

使用 Golang 開發,高性能。

高可用,服務器端操作是原子的,且做了優雅停止,不會丟失數據。

可通過配置文件控制執行性能參數。

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

如何使用

delayer 分為:

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

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

服務器端

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

支持 windows、linux、mac 三種平臺

然后修改配置文件 delayer.conf

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

[redis]
host = 127.0.0.1                ; 連接地址
port = 6379                     ; 連接端口
database = 0                    ; 數據庫編號
password =                      ; 密碼, 無需密碼留空
max_idle = 2                    ; 最大空閑連接數
max_active = 20                 ; 最大激活連接數
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
客戶端

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

根據對應項目的說明使用

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/

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/29574.html

相關文章

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

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

    tainzhi 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<