瀏覽器傳送請求:
請求執行mysql2redis.lua()這個lua指令碼
nginx呼叫lua指令碼,lua指令碼來運算元據庫,redis,nginx記憶體空間。
類似作業系統原理中的快表和慢表
1)mysql內部【廣告表】傳送資料變化,資料監控微服務根據canal服務獲取到最新更新的資料。
2)提取資料監控微服務廣告位置key(position值),並且把這個值發到rabbitmq。
3)rabbitmq接收到訊息並儲存到自己記憶體中,運營微服務從rabbitmq記憶體中監聽到訊息(position值)。
4)運營微服務呼叫nginx伺服器更新redis資料功能(由lua指令碼完成)。
5)redis資料和nginx伺服器快取區域更新為最新修改的廣告內容。
只有乙個消費者接收到訊息
工作佇列的實現
工作佇列 work queue 是另外一種將工作推後執行的形式。工作佇列可以把工作推後,交由乙個核心執行緒去執行 這個下半部分總是會在程序上下文執行。這樣,通過工作佇列執行的 能佔盡程序上下文的所有優勢。最重要的就是工作佇列允許重新排程甚至是睡眠。如果推後執行的任務需要睡眠,那麼就選擇工作佇列 如果...
工作佇列實現機制 一
walle project android 2.2 and linux 2.6.32 一 工作項 工作佇列和工作者執行緒 把推後執行的任務叫做工作 work 描述它的資料結構為work struct,這些工作以佇列結構組織成工作佇列 workqueue 其資料結構為workqueue struct,...
工作佇列分析
一 用法 struct cpu workqueue struct cacheline aligned the externally visible workqueue abstraction is an array of per cpu workqueues struct workqueue str...