卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

什么叫實(shí)例 如何設(shè)計(jì)一個(gè)MQ消息隊(duì)列?

如何設(shè)計(jì)一個(gè)MQ消息隊(duì)列?1. 在上圖中定義發(fā)送和使用消息的過(guò)程2。首先定義消息協(xié)議,如ActiveMQ、stomp、XMPP等3。定義消息協(xié)議,定義消息隊(duì)列需要滿(mǎn)足的場(chǎng)景是否要保證消息的可靠性,必要

如何設(shè)計(jì)一個(gè)MQ消息隊(duì)列?

1. 在上圖中定義發(fā)送和使用消息的過(guò)程

2。首先定義消息協(xié)議,如ActiveMQ、stomp、XMPP等

3。定義消息協(xié)議,定義消息隊(duì)列需要滿(mǎn)足的場(chǎng)景

是否要保證消息的可靠性,必要時(shí)要保證存儲(chǔ)的高可用性

是否要支持同步和異步消息

是否要保證消息隊(duì)列例如rocketmq是高可靠性,卡夫卡是高吞吐量,但不高可靠性。

如何使用消息隊(duì)列解決分布式事務(wù)?

有兩種選擇。

Scheme 1 Local message transaction table

生產(chǎn)者需要添加一個(gè)事務(wù)消息表。具體步驟如下:[1。生產(chǎn)者執(zhí)行業(yè)務(wù)邏輯并將事務(wù)記錄插入到消息表中。這兩個(gè)操作在一個(gè)本地事務(wù)中

2。啟動(dòng)后臺(tái)線(xiàn)程定期輪詢(xún)消息表并將消息發(fā)送到消息隊(duì)列

3。刪除消息表中的消息,直到發(fā)送成功。

方案2需要消息隊(duì)列支持,業(yè)務(wù)端提供回溯接口

1。生產(chǎn)端將準(zhǔn)備好的消息發(fā)送到消息隊(duì)列

2。在本地事務(wù)中,業(yè)務(wù)邏輯

3。根據(jù)執(zhí)行結(jié)果確認(rèn)或取消準(zhǔn)備好的消息

4。消息隊(duì)列將確保準(zhǔn)備好的消息被確認(rèn)或取消,并且消息隊(duì)列將不斷地向生產(chǎn)端請(qǐng)求執(zhí)行結(jié)果,這要求生產(chǎn)端提供類(lèi)似的回調(diào)函數(shù)。

在方案2中,消息隊(duì)列取代了方案1中的消息表和后臺(tái)線(xiàn)程輪詢(xún)功能,但并非所有消息隊(duì)列都支持此功能。支持Rocketmq。

方案1的開(kāi)發(fā)工作量大,外部依賴(lài)性小

方案2的開(kāi)發(fā)工作量小,但依賴(lài)于特定的消息隊(duì)列。

零基礎(chǔ)的人如何學(xué)習(xí)Java?

我已經(jīng)使用java很長(zhǎng)時(shí)間了,并且已經(jīng)出版了關(guān)于java的書(shū)籍,所以讓我談?wù)剬W(xué)習(xí)java的過(guò)程。

java學(xué)習(xí)的重點(diǎn)是web開(kāi)發(fā),學(xué)習(xí)的難點(diǎn)是對(duì)java面向?qū)ο蟾拍畹睦斫狻W(xué)習(xí)java需要一個(gè)系統(tǒng)的過(guò)程,在學(xué)習(xí)java的不同階段需要做不同的準(zhǔn)備。下面是一個(gè)描述(以web開(kāi)發(fā)為例)。

在第一階段,我為自己設(shè)定了方向。例如,我想在將來(lái)做web開(kāi)發(fā)或Android開(kāi)發(fā)。當(dāng)我有了方向,我自然知道我的重點(diǎn)是什么。畢竟,編程語(yǔ)言是一種工具,所以在學(xué)習(xí)工具之前我需要知道該怎么做。

第二階段是開(kāi)始了解Java的語(yǔ)法細(xì)節(jié)。此階段的準(zhǔn)備工作是構(gòu)建開(kāi)發(fā)環(huán)境并安裝JDK。在學(xué)習(xí)初期,建議使用記事本編程,鍛煉程序員的手寫(xiě)代碼能力,并在編程初期養(yǎng)成一些好習(xí)慣。

第三階段是開(kāi)始學(xué)習(xí)web開(kāi)發(fā)。在這個(gè)階段,我們需要準(zhǔn)備數(shù)據(jù)庫(kù)知識(shí)和一些前端知識(shí)。數(shù)據(jù)庫(kù)產(chǎn)品可以選擇mysql,mysql也是一種應(yīng)用廣泛的數(shù)據(jù)庫(kù)產(chǎn)品。

第四階段開(kāi)始學(xué)習(xí)框架開(kāi)發(fā)。框架開(kāi)發(fā)可以節(jié)省大量的開(kāi)發(fā)時(shí)間。目前,springmvc得到了廣泛的應(yīng)用。

第五階段開(kāi)始實(shí)習(xí)。實(shí)習(xí)對(duì)程序員的成長(zhǎng)有很大的幫助。通過(guò)實(shí)際項(xiàng)目的磨練,我們將更全面地掌握編程語(yǔ)言。