最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

阿里云中”間“力量!RocketMQ

2023-07-31 20:01 作者:指劍的劍  | 我要投稿

開局先送官方福利?。?!

1.免費領(lǐng)資源,好禮拿不停!

首先是貓超卡和社區(qū)積分,點點鼠標即可到手(2分鐘不到,福利直接拿到手!):
??????領(lǐng)獎活動直達電梯:https://developer.aliyun.com/topic/rocketmq?taskCode=7633&recordId=1c9a2a9f32e019df05e8c1d659dd9f8d
??????領(lǐng)獎活動直達電梯:https://developer.aliyun.com/topic/rocketmq?taskCode=7633&recordId=1c9a2a9f32e019df05e8c1d659dd9f8d

2.是兄弟,就來助我!

助力最高拿科沃斯T10掃地機器人:

??????直達領(lǐng)取掃地機器人https://developer.aliyun.com/topic/rocketmq?taskCode=7633&recordId=1c9a2a9f32e019df05e8c1d659dd9f8d

??????直達領(lǐng)取掃地機器人https://developer.aliyun.com/topic/rocketmq?taskCode=7633&recordId=1c9a2a9f32e019df05e8c1d659dd9f8d




視頻演示講解

??????視頻講解直達!已更新??????
??????視頻講解直達!已更新??????
??????視頻講解直達!已更新??????

切入正題

那么什么是消息隊列呢?

消息隊列(Message Queue),從廣義上來講就是一種消息隊列服務(wù)中間件,提供一套完善的信息生產(chǎn)、傳遞、消費的軟件系統(tǒng)。如下圖

當(dāng)然,消息隊列所涵蓋的功能遠不止于隊列(Queue),其本質(zhì)是兩個進程傳遞信息的一種方法。兩個進程可以分布在同一個或多個不同的機器上。

說了一點理論,大家應(yīng)該沒有明白,那么請大家想象一下12306的業(yè)務(wù)處理流程,大家都明白12306的業(yè)務(wù)邏輯非常復(fù)雜,需要考慮的方面太多了,下面一張圖為12306的部分業(yè)務(wù)邏輯

像12306這類軟件超高并發(fā)需求的場景還有很多,那么如何解決呢?就是使用消息隊列

消息隊列的優(yōu)點如下:

說到這里,我講的不如大家實際去看一看由李偉老師編寫的《RocketMQ分布式消息中間件》

市面上常見的消息隊列

從上面這張圖可以很清晰的看到,截至2020年的時候,市面上主流的消息隊列組件的對比,Apache RocketMQ在各項功能上來看,妥妥的六邊形戰(zhàn)士,非常值得一試。

RocketMQ的發(fā)展歷程

經(jīng)過上面的簡單介紹,大家應(yīng)該對消息隊列有了大致的了解,那么這里咱們介紹一下RocketMQ的發(fā)展歷程。

RocketMQ前世---MetaQ

RocketMQ發(fā)展經(jīng)歷了幾個階段,一開始的時候,和大部分組件產(chǎn)生的原因類似,阿里巴巴內(nèi)部為了適應(yīng)淘寶 B2C 的更快、更復(fù)雜的業(yè)務(wù),2001年啟動了“五彩石項目”,阿里巴巴的第一代消息隊列服務(wù)Notify就是在這個背景下產(chǎn)生的。

2010 年,阿里巴巴內(nèi)部的 Apache ActiveMQ 仍然作為核心技術(shù)被廣泛用于各個業(yè)務(wù)線,而順序消息、海量消息堆積、完全自主控制消息隊列服務(wù),也是阿里巴巴同時期急需的。在這種背景下,2011年,MetaQ誕生。

RocketMQ 云

2011年,LinkedIn將Kafka開源。2012年,阿里巴巴參考Kafka的設(shè)計,基于對MetaQ的理解和實際使用,研發(fā)了一套通用消息隊列引擎,也就是 RocketMQ。自此才有了第一代真正的RocketMQ,2016年阿里云上線云RocketMQ消息隊列服務(wù)。

自2001年到2012年,11年的實際使用、運維,和業(yè)務(wù)不斷碰撞,才得以抽象并整理出一個真正的行業(yè)級產(chǎn)品,技術(shù)從來不簡單,只是你看不見!

Apache RocketMQ“畢業(yè)”

2016年11月,阿里巴巴將RocketMQ捐獻給Apache基金會。
Apache社區(qū)有一個很重要的理念:社區(qū)大于代碼。雖然RocketMQ已經(jīng)開源3年,在國內(nèi)小有名氣,而且在阿里巴巴被廣泛應(yīng)用并有較好的效果,但是依然不能達到 Apache優(yōu)秀項目的標準。
在RocketMQ被捐獻后,通過一系列的修改、評審、調(diào)整,悄悄升級至4.0版本,正式進入孵化階段。
2017年09月25日,RocketMQ成功“畢業(yè)”(Apache社區(qū)項目孵化成功即為畢業(yè)),成為 Apache 頂級項目,它是國內(nèi)首個互聯(lián)網(wǎng)中間件在 Apache 的頂級項目,也是繼ActiveMQ、Kafka后Apache家族中全新的一代消息隊列引擎。
隨著不斷地更新升級,RocketMQ 的能力也越來越強大,如圖所示,這是阿里巴巴雙11的消息量的部分統(tǒng)計,可以看出RocketMQ處理的消息量已經(jīng)在萬億條級別。



實踐出真知

那么經(jīng)過前面的一系列講述,大家應(yīng)該對RocketMQ有了一些認知,并且也了解了產(chǎn)品特性,那么接下來就到了我們的動手實驗環(huán)節(jié)了。在這里為大家演示的是RocketMQ事件驅(qū)動場景,所有服務(wù)均在阿里云上進行,讓大家完整體驗阿里云上的業(yè)務(wù)流程。

為何選擇事件驅(qū)動場景?

2023年以來,阿里云社區(qū)先后推出了多個服務(wù)測評活動,其中有函數(shù)計算FC,以及不久前的事件橋EventBridge測評活動,直到現(xiàn)在正在測評的RocketMQ消息隊列,完美支撐了該業(yè)務(wù)場景,可謂是溫故而知新,將多個服務(wù)融合到同一個業(yè)務(wù)場景中

場景描述

假設(shè)有一家小型游戲公司,需要通過使用RocketMQ來收發(fā)消息,然后通過阿里云函數(shù)計算FC處理后將數(shù)據(jù)進行存儲

業(yè)務(wù)邏輯圖示

業(yè)務(wù)實現(xiàn)

RocketMQ設(shè)置

創(chuàng)建RocketMQ實例

作為演示,本次使用的單節(jié)點的標準版RocketMQ實例,規(guī)格為rmq.s1.micro,如果您是第一次使用RocketMQ并且是通過活動頁面進入,那么您可以領(lǐng)取一個月的免費使用額度。實例的創(chuàng)建大概需要5分鐘左右,請您耐心等待,可以向下繼續(xù)閱讀。

創(chuàng)建訂閱及Group

創(chuàng)建Group(可選)

表格存儲

創(chuàng)建表格存儲實例

創(chuàng)建數(shù)據(jù)表

函數(shù)計算FC

設(shè)置函數(shù)計算FC的環(huán)境變量

使用代碼

import osfrom tablestore import *import jsondef handler(event, context): ? ? ? ?body = json.loads(event.decode())['data']['body'] # 從環(huán)境變量中獲取表格存儲的連接信息 ? ?endpoint = os.environ.get('OTS_ENDPOINT', '') ? ?accessid = os.environ.get('OTS_ACCESSID', '') ? ?accesskey = os.environ.get('OTS_ACCESSKEY', '') ? ?instance = os.environ.get('OTS_INSTANCE', '') ? ?table_name = os.environ.get('OTS_TABLE_NAME', '') ? ?# 創(chuàng)建表格存儲客戶端 ? ?client = OTSClient(endpoint, accessid, accesskey, instance) ? ?# 定義要寫入的數(shù)據(jù) ? ?primary_key = [('id', body['id'])] ? ?attribute_columns = [('Name', body['name']), ('Job', body['job']), ('Hero', body['hero'])] ? ?row = Row(primary_key, attribute_columns) ? ?# 向表格存儲寫入數(shù)據(jù) ? ?consumed, return_row = client.put_row(table_name, row) ? ?return 'Data written to Table Store successfully.'

事件總線EventBridge

事件總線EventBridge需要創(chuàng)建自定義的事件總線

步驟一:添加自定義事件源

  1. 登錄事件總線EventBridge控制臺。

  2. 在左側(cè)導(dǎo)航欄,單擊事件總線。

  3. 在頂部菜單欄,選擇地域。

  4. 在事件總線頁面,單擊已創(chuàng)建的自定義事件總線。

  5. 在左側(cè)導(dǎo)航欄,單擊事件源。

  6. 在事件源頁面,單擊添加事件源。

  7. 在添加自定義事件源面板,輸入名稱和描述,事件提供方選擇消息隊列 RocketMQ 版,并選擇已創(chuàng)建的消息隊列RocketMQ版的資源信息等,然后單擊確定。

步驟二:創(chuàng)建事件規(guī)則

  1. 登錄事件總線EventBridge控制臺,在左側(cè)導(dǎo)航欄,單擊事件總線。

  2. 在頂部菜單欄,選擇地域,在事件總線頁面,單擊目標總線名稱。

  3. 在左側(cè)導(dǎo)航欄,單擊事件規(guī)則,然后單擊創(chuàng)建規(guī)則。

  4. 在創(chuàng)建規(guī)則頁面,完成以下操作。

  5. 在配置基本信息配置向?qū)В诿Q文本框輸入規(guī)則名稱,在描述文本框輸入規(guī)則的描述,然后單擊下一步。

  6. 在配置事件模式配置向?qū)?,事件源類型選擇自定義事件源,事件源選擇步驟一添加的自定義事件源,在事件模式內(nèi)容代碼框輸入事件模式,然后單擊下一步。

a. 在配置事件目標配置向?qū)?,配置事件目標,然后單擊?chuàng)建。
b. 服務(wù)類型:單擊函數(shù)計算。
c. 服務(wù):選擇已創(chuàng)建的函數(shù)計算的服務(wù)。
d. 函數(shù):選擇已創(chuàng)建的函數(shù)計算的函數(shù)。

設(shè)置規(guī)則

測試

寫在最后

通過本篇的一些簡述以及一個小的實驗,希望您可以對阿里云RocketMQ消息隊列有一個大致的了解,同時也可以看到阿里云各個服務(wù)之間的集成協(xié)作,使整個業(yè)務(wù)流程均可以在云上完成。另外通過一個小小的實驗,幫助大家回顧之前的社區(qū)活動內(nèi)容同時也將本期知識融合進來,可以更好的幫助到大家真正的去使用阿里云服務(wù),體驗云計算的魅力。最后希望大家真正的去體驗一下阿里云RocketMQ,畢竟大廠的羊毛必須薅!??!

希望這篇文章能夠幫助到您!??!


阿里云中”間“力量!RocketMQ的評論 (共 條)

分享到微博請遵守國家法律
五寨县| 墨竹工卡县| 贡山| 陈巴尔虎旗| 上犹县| 佳木斯市| 通化县| 高碑店市| 大同县| 公安县| 澳门| 石台县| 台州市| 定西市| 喀喇沁旗| 慈利县| 永胜县| 溧水县| 金门县| 同江市| 张掖市| 黎平县| 新昌县| 乐亭县| 大渡口区| 桦川县| 康平县| 锦屏县| 安陆市| 莫力| 靖安县| 依安县| 山西省| 前郭尔| 崇州市| 盈江县| 泌阳县| 西乡县| 陆川县| 梅州市| 龙门县|