开发者学堂课程【消息队列 MNS (RocketMQ 轻量版)入门课程:动手实验:基于 MNS, 0 基础轻松构建 Web Client 】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/1236/detail/18412
动手实验:基于 MNS, 0 基础轻松构建 Web Client
第一就是我们的类似于我们的get message,然后我们去拿到q name,然后消费一下,就会发现刚刚去test的话,其实已经被我这个东西给消费,就是说已经被我现在启动的端给他消费掉了,那这里的话其实就是两个逻辑,第一个逻辑是发送,第二个逻辑就是消费,然后第三个逻辑还有删除,删除的话其实就是我们拿到我们的一个类似一个handler,然后把我们的固定的一个类型的值给删掉,这个值在哪里拿呢?
这个值其实是在我们拿消息的时候,他这里其实有返回一个值叫做Had,然后我们直接把它复制一下,然后到我们对端,然后我们把接进去,然后点delete,,那应该是我们刚刚是复制错了,然后我们再看一下,那我们刷新一下啊,那我们现在就可以看到我们现在的值得一个结果,那最后呢就是一个叫做的那个q,就是说我们要把这个q都给删掉。
然后就点一个q, 那他去这里的话就可以直接删掉了,现在q的一些类似于信息在这里的话,就是一些类似于前端的一些展示,然后再看代码,代码这里其实是有报错,这个报错应该就是刚刚别人的失败的一个报错,然后他报错的身世,是说没有找到这个类似的一个字。
然后呢去看一下刚刚去演示的第一个比较核心的post,去推我们的消息队列rocketmq里面,这个东西的话,其实对于这块儿的代码就是这里Get this,这是post cube,这里的话其实也非常简单,首先的话它依然是调用了之前声明的message,然后它这里调了一个内存发送消息的一个方式方法,然后呢他这个入仓只有两块儿,第一块儿呢其实就是要去发送的q的一个名称,第二块呢其实就是要去发送的message body,这个其实就是去固定的一个类似使用方式,这样其实都是我们直接在前端去拿的。
c!— 1. Create Queue
xdiv id="1" class="menu-div"style="display:none"s
cform method="POST"action="/mnsqueue-queue">
<span>Create Queves/spanschrosbrs
<label>Queue Name:</label>
<input placeholder="Queue Name"id="queuename" type="text"name="queuename" value="ck=ui.def_mnsqueuename required>ct
<input type="submit" value="Create Queue'scbrcbr
<label>Response:</label>
<textarea nang="response" id ="response"rows=25readonly= ui.data[1)p</textarea>
c/fomm
s/div>
c!- 2. List all Oueues
ediv id="2" class="menu-div"style="display:none"s
cform method="GET"action="/mnsqueue-queue/list"
sspan>List Queues</spanschrecbrocbro
cinput type="submit"value="List Queue URLs"scbr>cbr>
<label>Response:c/label>
<textarea name="response" id ="response"rows=25readonlyo=u1.data[2]p</textarea
</formm
c/div>
其实可以在前端去页面去看一下,post会完成,这个其实就是发送的一个方式,第二个东西是message,就是去固定的一个类似使用方式,然后这样其实都是直接在前端去拿的,可以在前端去页面去看一下post的地方。会发现有两个字,这就是发送的一个方式,第二个东西是什么呢,第二个音符框是在这里可能去拿到一个信息,以上其实就是比较核心的一个类似于发送的一个逻辑。
receive的逻辑其实同样也是一个道理,就是说他前端可能传一个值,比方说要去声明我要去消费q的消息,然后消费客上自己去声明一下,然后再去给一个类似于现在的一个out的一个时间表示,这一块儿其实就是60秒的话就在一分钟,比方说这里就可以直接限制60,也是可以的。
这里其实就是具体代码就是第一条就是我们的q是什么,第二条的话就是说要去设定的一个录取的一个时间,就有多少,比如说十秒去做一次,那这个的话其实就是比较核心的两块,第一块就是发送,第二块的话就是怎么去拿到现在消息的一个类似于具体的事件,那这个的话其实就是我们现在的一些基本实现,包括发送还有接收这两个比较核心的东西,其次还有一些list的话,可能会list现在全部那些东西,就比方说我
现在其实这个列表其实有很多q,要删除,那直接也是可以在这个里面去做删除的,就比方说要删除第一条,再刷新一下会发现第一套其实已经删掉了,所以说它整体的sdk包括整个资源更新了,还有包括整个资源创建,其实都是非常的轻量,然后可以再演示一下,他置换起来也是比较简单,因为我之前其实在控制台上也试过,那这个其实控制台create q的方式也是大同小异,就比方说现在要去创建一个test topic,2332111,创完之后呢,然后显示已经创建完了,一个是test32111的,然后要用这条位子去发送消息,直接把这个套这个复制一下,发送消息是test12111。
发送一下,显示发送的一些密码是多少。因为这一块儿其实是主要讨论的还是类似于地域模型,所以它其实类似于他的接收,意思就是可以列出来现在全部的一个信息,比方说我这里也可以去直接把它给删掉,现在这个删掉的一个方式应该是没有写,再去看一下代码,代码的话这里create方式的话,其实也是我们刚刚所写的,他直接的mns的一个sdk,然后把这个名称直接去调message的一个逻辑,这个的话其实也是非常简单的,所以这块儿其实就是现在如何用比较轻量的一个方式把mns的整体的一个sdk构建下来的一个核心或者叫做主要的一个流程,这里主要观点呢主要还是就是说mns,它其实是一款非常非常轻量的一个产品,它包括它的资源,包括他的绑定关系,还有包括他使用其实都是可以通过一个简单的开始去完成的,然后你可以直接把所有的核心业务给串起来,这个其实是现在这个课程的一个类似核心观点。
到这里也是结束了,然后假如大家感兴趣的话,其实是也可以去研究一下现在的代码的一个写法,写法也是比较经典的,就比方说client端的一些分装,其实就是直接去调现有的经营方式去做的一层分装,假如有兴趣的话,大家可以直接在APP上去提交一个,然后可以把这个东西然后可给共建起来,以上就是现在的一个核心内容,本次课程就到这里结束。