粉丝158获赞576

哦吼哈哈哈。

rock 达美客户,他的集群架构是怎样的呢? rock 达美客户,他的集群架构主要包含四个角色,一个是 number sever 集群,一个是 brock 组成集群还有 produce 和 consumer 客户端。 然而 server 集群是 rock 他们抠的一种轻量级的服务节点,主要负责注册和管理 proca 的服务地址, 提供服务的注册与发现功能。每个 brock 节点都要和所有的 number 节点进行长连接,定义注册 topic 路由信息和发送心跳。每个 number 节点都会保存完整的 brock 列表数据, 并且每一个 number 它的各个节点之间会有不同的数据进行同步,因此 number 集群不会因为单个节点发生故障而停止服务的启用。 brock 呢,是 rockanamiko 的核心组件啊,负责存储和 传出消息。一个 rock 单门客户的集群通常包含多个 brock 实力,并共同协同来提高 rock 单门客户的可用性和它的冲突量。其中 masco brock 它是主节点,负责处理客户端的请求并将消息存储到瓷盘上,然后将消息同步给所有的重接点。 而重解点是 mars 的 brock。 它的主要功能是负责消息的备份的客户端,包含 produce 生产者和 consumer 消费者。其中 produce 负责将消息发送给 brock。 produce 将消息发送给指定的 topic 后, rocket m q 会负责将消息发送给对应的 brock 上。 consumer 可以订阅一个或多个 topic, 并从对应的 brock 上 接收消息并进行处理。若给他们扣的客户端提供了多种处理消息的方式,比如说延迟消息,事务消息,集群消息以及广播消息等等。


设计师想学习生化设计,建议购买以下链接设计节点零模范本,里面配有一组批量精装工艺要点及节点构造要求,共三十六例。小到从踢脚线做法、插座、面板毫米、极端软标中,大到门套、墙纸的工序、空间、方正尺度等等, 不代表设计师对细节和品质精益求精的苛刻。重点节点图手绘临摹记忆更加深刻,达到举一反三的开发思维。结合实际案例细节节点他会有详细的文字讲解及工艺要点、细节尺寸标注,学习起来不费劲。每个节点都会有视频步骤讲解演示,提升你的设计把握能力。感谢购买!

it's early afternoon on november 2nd 2023 something is taking place in the middle of the gobby desert in inner mongolia on a patchy piece of concrete surrounded by hangers and sometimes known as launchpad 120 a single stage rocket sits on a pad fueled and ready from a distance subservers can make out grid fins and landing legs and a logo underneath the chinese flag reads hyperbolla to why this is eye space? a chinese commercial launch company founded in 2016 taking a crack at vertical takeoff vertical landing or in other words how spacex achieves reusability at 2pm local time the single meth locks fueled engine of the hyperbuller 2y ignites producing 15 tons of thrust and lifting the test ride rocket up to a hundred and seventy eight meters after hovering for a few moments the rocket stage performs a controlled vertical descent landing on the same launch pad less than two meters away from the initial lift off point and with a speed of point one kilometers per hour now what you just saw is china's most recent and by far their closest milestone to achieving rocket reusability alice spacex it's remarkable because while other chinese commercial companies have also been going in this direction the furthest they've reached so far is performing low altitude hops with miniature single stage prototypes using very low thrust engines which aren't engines for orbital rockets and in some cases even just using jet engines on the other hand ice bases hyperbulla ii is essentially the first stage of an actual future rocket the hyperbulla 2 the hyperbulla 2 is a reusable two stage liquid field medium lift launch vehicle which uses nine of ice bases in house developed meth locks engines that chowed in one the company has been very serious about reusability we've seen over the years the design and testing of grid fins of landing legs and the geodian one engines were designed to be very significantly throttled and restartable, which is really what you're looking for to recover rockets? the next school for ice space will be to perform a 1 kilometer and 10 kilometer altitude hop and theoretically it could have been able to perform the made of launch of the hyper bullet 2 in 2024 ish, which would have crowned it as the first non spacex reusable orbital rockets around the world? however, i space recently suggested that the hybriable, so why would be used only as a technology verification tool to learn how to recover rockets? but that the actual hyperbull of two rocket was going to be cancelled instead ice base would start developing a much larger rocket the hyperbull of three now why do this? why would ice base move away from potentially flying a reasonable rocket as early as in the next 12 to 18 months well, the hyperbulla ii would have been in a tough spot with the payload capacity of roughly two tons to low earth orbit, it would have been in competition with chinese commercial solid field rockets which are already in service like the gelong three the quadro 11 and the kinetica one and to some extent the smaller solidfield rockets which cater to the market of so called fast response dedicated small satin missions but at the same time the hyperbulla ii is competing or what have been competing against other liquid field rockets from competitors like space, pioneer, land space and galactic energy for the deployment of large scale consolations into low earth orbits and here again the hyperbulla ii is at a disadvantage and let me explain the most sought after program by chinese launch companies is likely the deployment of the guowang, mega constellation basically china's equivalent to starlink today we know that chinese commercial launch companies will get to launch at least some of these 12000 satellites composing the constellation this was hinted at by former chief engineer of the long march rockets along the how in early 2023 you also have many chinese commercial launch companies which have explicitly marketed their liquid field launch vehicle as a means to deploy large salad internet constellations and more recently in orion space's cosio bushenway even slipped that the government had been requesting that commercial cut means have a rocket ready by 2025 with what unquote a significant payload capacity to orbit now a significant payload capacity to orbit by 2025 let's dwell on this expression for a moment, who can achieve this among chinese companies well basically not the hyperbulla ii which is limited to two tons to orbit because it would otherwise mean launching salad internet salites by groups of three or four which would mean thousands of launches for mega constellation like starlink or guolong on the other hand ice spaces, competitors, space, pioneer, galactic energy, land space and orion space all have rockets in a higher payload range and rolling out either in 2024 or 2025 so i space now wants to jump directly to the development of a much more powerful rocket the hyperbull of three in order to capture what will probably be a major source of revenue for these commercial launch companies now this won't be a smooth sale because despite i space's major achievement here with the hyper bullet ii vertical landing this month developing a new heavy lift rocket costs, a lot of money and a lot of time and while ice face has already quite advanced on their next generation engine the heavier thrust jodian 2 there's still a long way to go in a short time frame their last round of funning was in august 2020, that's nearly three and a half years ago so they'll probably need to raise more money and unlike their competitors like land space, space pioneer and galactic energy is space does it really have a reliable smaller lift rocket which can bring in cash in the meantime, they do have the hyperboil one a smaller lift rocket but that has had a questionable track record with multiple failures and each time viewed different reasons so in a nutshell, we're likely going to see further advances in chinese reusable rocket tech in the next 12 to 18 months and maybe even the first orgale launch high space as we saw is leading the way with this technology but in my opinion, the race isn't that much about reusability but more about which company can have a sufficiently capable medium lift launch vehicle and early enough to capture the upcoming constellation deployment launch demand china has moved from over a dozen commercial companies in delay 2010s with powerpoint rockets it's a handful of very serious projects in 2023 it will be really interesting to see in the next two years, which companies thrive, which companies just survive and which companies end up? just pivoting entirely away from this industry and finally as always i just want to see a special thank you to all of my patrons on patreon com and youtube memberships your support has really been essential in making this episode possible and keeping this show going if you found this episode interesting, please consider supporting us and joining our community of like minded space enthusiasts on our discord server thank you very much for watching,

好,那么我们 rohappeal 啊,已经安装和这个这个启动完成了啊,这个启动我们啊一会儿再再说吧。那么下边呢?我们就来看一下啊,我们 throw 和拉里巴巴是如何通过 throw called swim 啊,和我们的 roham pho 呃相整合的。呃,当然我们我们现在还是 这样,我们先让它启动了啊,刚才不是给它关闭了吗?先启动了, 启动 broker, 这哎就都起来了啊。那么第二 要整合的话,哎哎,这个打开了啊,很好,打开了,我们来看一下,还是比较难的。那咱们这样吧。王先生在这打开,我们 来看这代码啊, 我们随便拷贝一个啊,前边的呃 consumer 也好, provider 也好,都行啊。我们比如就拷贝一个 consumer 啊。 然后呢,这个我们给它重命名一下,我们叫零八呃, stream 是吧?呃 rock m q 然后 呃 producer, 那它这个生产者啊, producer 呃,我们八零八幺啊,就叫这个名字 好,导入 导入我们 这个 okay 打扰以后啊,这里边设置 东西都给他删掉,这个类也给他删掉,留这个包啊,一会要用这个包。嗯,然后你继续说这个重面名一下吧。嗯,这个叫什么? 去找他吧,八零八幺 啊。行,真麻烦 你这嗯 呃,那么咱们还是写这边啊,写边这个代写这边这代码。呃,其实呢,我们首先要先导入这个依赖 对吧?这依赖没办法。这个本来我想给大家打开官网啊,从官网上直接找,那没办法,就是这会打不开了。 哎呀,这打不开,打不开。咱们从笔记里边吧。 啊,我们打入 elay, 这怎么有个这东西啊,谁打入它一会它打开以后,我们从官网上给大家找一下啊。 啊,让它生效是吧?好,我们看一下啊, 不就这个吗?是吧?大家看它里边包含的 recommend q 的版本是多少?四点九点四看到了吧?这是四点九点四 recommend q client 们。所以 呃,刚才给大家说那个官网打不开吗?说那个版本啊,兼容性的问题。上啊,他实际上是四这个版本。当然了,四这个我们现在这个。呃,服务器啊,我们安装的是五也无所谓。呃,可以连上啊,可以连上。 好,那么这个有了以后,那么改谁配置文件?哎,对,依赖依赖。里边咱们这样啊,我们不需要这个 nicos 了。当然你如果想用 nicos 啊,无所谓了,那你就用就行了。我们这样这里边呢,就纯粹的一个呃, producer 是吧?啊,我们就不用这个 nicos 了啊, 那所以这就不要了。这这这也不要了。哎,通通都删了吧。哈哈,是吧,我们 账号八零八幺对吧?然后这里边我们需要配上什么? rookham q row rookam q from crosstream rookam q 然后我们找到 banner rookam q banner banner 然后 name server 去找他,配上他。我们这个 name server 是什么呀? share 就是 rock i'm q 是吧?就是他嘛,是不是 rock i'm q 然后冒号九八七六。 当然你你写上这个呃,账号呃,不是写上这个 ip 地址啊,那也可以是吧?呃,然后呢? 然后再看在这个 stream 下边啊,在 stream 的下边,我们再配上个什么 bandings 看到吧 bandings bandings 然后你这里边啊,就可以往里边往下放额外的属性是吧?这里边就可以放 bandings property 啊,放属性了。那么这个属性我们放什么呢?就是 它的 key, 就是随意放,我完全可以放哦,比如说 char cha 这什么?这就是我们那个白领,或者说我们 outer 的版本。它的名称。我们以后后边要用它的啊,我就用叉叉啊,完全是可以的。然后呢,在底下再放什么啊? destination 就是你的。实际上这儿指的是什么?你主题啊啊,我们 i'm q 表是它的效益是有主题的。其实这个主题就是一个分类是吧。比如说我这个主题啊,就是叫我我就随便写的啊。 some topic 是吧。然后呢,消息类型是什么啊? content type 啊。类型类型那我如果是啊,普通的 根本我就 test 破烂是吧。但我们这儿要放什么?放 dissent。 所以我就写个 ah please kitchen 这次然后我就写给他就可以了。记着啊,这个东西我们一会要使用的啊。这是实际上啊,给大家说这个是什么东西啊?这个是指定 output bandings g r, 不是 bandance 什么的。就输出管道啊。名称指定这个名称我们后边要用。而下边的这个是呃, 这哎,怎么写他了?决定写入到啊,输输出管 管道中消息的什么主题 topic 是吧?啊,主题与类型啊,可以写上它啊。嗯,好了, 那这个配置的念章啊,我们就写完了。写完以后呢?在这儿我们写一个 controller, 写 controller 呃,这 controller 随便写啊还是随便写?我们就叫 some controller 是吧?然后 at rest controller 呃, at get 买品是吧? public string 呃我我这个是 m s g 是吧?我们消息呃, send handle 当然我们这个消息我们可以以请求参数的方式啊,给它出现 是吧?呃,这里边啊,我们翻速箱要用什么东西?注意我们新版啊。这现在新版,新版和老版变化非常大。这这个代码啊,变化是非常大的。我们这里边需要用到 叫 stream bridge 桥是吧?啊,这是个桥啊,这个桥实际上它是做什么的?我们可以看一下它是什么?你看一个类,它允许呃用于发送数据到到哪儿?到我们的 automotive binding, 到我们的输出管道 是不是啊,这是它就起这个作用的,所以我们在这呢啊,直接 bridge 点 sind, 你看 what sind 的时候,这是 bridge name, 后边是发送的数据。那么这个 bridge name 呢?嗯,是不能随便写啊。我们这个是 message, 而现在 message 没有。这 bring your name 是什么?我们在哪指定了?在这指定了 ctrl c ctrl v 是吧?那现在这儿需要一个什么消息?需要一个消息。呃,那这个消息是什么?这消息啊,我们是这样,我们专门有一个东西叫 message builder。 message builder。 因为我们前不是给大家说了吗?这个消息啊,是个什么东西? message 在这儿,它是生产者和消费者使用的什么规范的数据结构。所以这个规范的数据结构我们有专门的工具啊。 message builder, 它会给我们创建出来这个消息。 这是我们啊消息具体消息的内容 plot 负载吗?是吧?啊我们我们就就这个,这就是我们的消息 消息体啊是吧?然后这还需要个什么东西啊?叫 message headers。 看到了没有? message headers headers。 当然我们现在这 headers 是没有的,没有的,让他给创建呗是吧?呃, message headers message headers 另有一个 message headers 另一个 message headers 这个 message headers 里边放的。大家看。这儿放了一个参数啊。这什么东西?是 map, 你看到没?这儿也就说这儿需要一个 map。 那 嗯, headers。 呃,这样 mst 黑点是吧? 这样的话,我在这就可以。呃,用个 headers 这是个 map 是吧?我另有一个哈西 map 这个 map 里边啊, headers 啊,可以放 放相应的内容。这个内容实际上就是什么啊?就是你消息的很具体的一些属性。 message message cost 常亮啊。里边大家看啊,这是 property property 我们找找啊。 property 找个 type property 看。哎,找到了就他就。我们要放标签啊,这消息表这有标签啊。我们这个标签也是随便给就行了。但这东西得 有。比如我就叫 sumteg 是吧?就可以了啊,我就放一个它就行了。好。然后这个它会给我们创建出来一个东西,就是 message 是吧?就给它放到里边儿,它就发送了。 这就发送了啊。这就是什么将将呃,消息写入到 output bendings 是吧?就写到它里边。 ok 了,完成了。当然我们这儿返回一个。要返回字幕上一个 jason 啊, a written 啊,我们 jason to jason 是吧?我们就把这个 message 给它放。这 ok, 这就行了。这就可以了啊。现在这就可以了。我们这个东西就写完了。嗯,这个不用动啊。那行,这写完了。好, 下面再写一下。谁有了 producer, 我们再写一下。 consumer consumer 我直接拷贝他了。 consumer 比这更简单。嗯, consumer 我们八零八零 consumer 八零八零。 sorry, i didn't catch your name earlier 好,把这关了啊 啊依赖我们依赖不用动依赖不用动。那现在需要改的 是哪呢?删就这啊,我们这个直接把 ctrl 删掉就行了。然后把这个类名改一下啊,我们这个是 consumer, 八零八零是吧? 好,我们在这啊。怎么样?消费这个消息很简单, 我们只需要在这写一个 b。 写个 b, 这个 b 是个什么东西呢?这 b 是个 consumer, 是 consumer 这个 consumer 啊,就是我们那个函数接口啊, jdk 里边那个函数接口啊。但这个东西呢,也和我们的配置文件有很大的关系。所以大家看啊。 我打开。我先来说这个配置文件的问题是吧?我们把这配置文件配好了啊。再来说那么这里边呢?除了这个是需要,这肯定这个不需要了啊,八零八零默认的是吧。 然后呢?这前面这肯定得要是吧?紧接着注意,我们在那儿需要定义一个我们的消费者名称,在这个 stream 的下边儿啊。 function 呃 function 单飞呃,它这个还单飞 nation function 的诶 definition 这儿需要定一个 function definition 这个我我随便叫什么名都行啊。比如我就叫 cosmer 是吧?你说我这不叫 cosmer, 我叫这个圈圈啊,行不行?完全可以是吧?啊,我叫勾勾勾是吧?我就叫勾勾了啊,我这都是随意的。那么紧接着这呢?也需要设定这也需要设定这个 bendings 那这个 bendings 怎么设?它就不是随便设置了。这儿就是你这儿不是写的 go go 吗?是吧?那我这儿就是 go go go 然后杠 in 杠零就是这个啊。呃,指定这是 input 音谱的斑点是输入输入管道名称。这输入管道名称是怎么来的?是你在这,你在这定义的消费者名称, 你定义的这个消费者名称。杠 in 杠啊,这是个数字零是吧?你一放个数字就行了啊,一也行,二也行,无所谓了, 你得有这个东西是吧?然后呢?指定啊这是,这就不是写入了这指定,我们 重写吧。指定呃 input 管道订阅的 订阅消息的啊。这个主题与类型哎,你看那就还是它是吧。好了,这个配置文写完以后啊,注意这个勾勾,我们现在需要在这儿用。这勾勾是 public consumer, consumer 就是就是他下边儿的啊 consumer。 然后 message, 它的范型是 message, 就是 看到没,我这写的是勾勾勾,就说你,你这个勾勾啊,你的这勾勾,这消费者名称在这呢,它得用到这。 嗯,然后 read 那我们因为它是什么?它是呃 consumer 消费者啊,消费者是什么?消费者是一个输入没有输出对吧?那我这里边呃我我们就输出一个东西吧,就是 system 点就来一个时间啊。呃, 接收到就在这个时间接收到消息。那么这个消息是什么呢?啊,我们 m g 点 get payload。 好,就这样我们一会就会看到这句话,这个可以消费这个消息了。 那么我们的生产者消费者就定义完毕了。现在跑一下啊,我给大家说就是我们刚才那配的这 这个东西,我这配了个叉叉是吧?在这用了一个叉叉。实际上啊,我给大家说,因为这这个东西呢,一般的写法不这样写人一般的写法是什么?就是啊,比如说啊, producer 是吧?杠 out 杠哎,也来个数字一般都是这样写。那我想给大家说呢,这个随便怎么写都行。这是怎么样定义都行。所以我就给你起了个叉叉,一会咱们再给它换回来。标准的写法再给它换回来行吧呃 ok ok ok 啊。我这边呢先启动消费者 好,我们消费者启动了。然后哎,我再启动 在这呢圣诞者 嗯,生产者也启动了,也给他清空。我们看这个消费者这啊然后呢?哎,这个也打开了。很好,一会咱们再来说他啊。 然后我这边来访问 local host 八零八幺杠啊 杠哎,我们坏了坏了坏了坏了我们刚才这没写完这这这写什么东西啊是吧?那我们这 message 呃杠 sin 行吧 message 杠 sin 我们我们发送消息啊这样的话,这个 provide 还得重启一下 message 杠 send 然后问号问号 m s g 是吧? 等于比如 hello 走呀五百咱们看啊五百为什么是五百看一下 this bridge is now 啊 这个方法啊这个方法咱们看一下 班顶 不应该呀我们看看啊 这里边的内容这肯定是没有错的这肯定没有错。然后我们这这这给他换一下哎。

呃,我来看一下啊,它的呀, 再,再往后,你看跑这了,这样再往后退吧。 好,大家看,从这可以看出来啊,你看他现在支持的支持的这个, 呃销售软件是什么?它只支持两种,一个 rabbitan q, 一个是卡不卡,它就支持这两种啊,不支持其他的,但是我们 supercar 阿里巴巴呃,它呢,又增加了一个,它还支持什么?支持它的 rocom q, 所以我们对于 supercar 阿里巴巴啊,像你可以使用三种 mq 啊, rebeling q, 卡不卡和 recome q 当然对于呃阿里来说啊,他肯定要推荐他自己的专业啊。是,所以我们在这呢就要要要要说一下啊,当然呃这些专业我们都没有学过的啊,后期啊,像我们这个 rebelq, 我相信大家应该都没啥问题。 那么卡不卡和 room q, 我们后续的课程里面会给大家来讲,因为我们没有学过啊,所以呃这个 room q 呢,给大家呃,来说一下啊,怎么怎么样安装怎么样安装?嗯,我克隆一个,我就用这个 g d k 八的啊。 呃,我这个就叫 rookty mq, 先把机器克隆了啊。 color, 那就是来完成两下呗。啊,一个是修改 主机名是吧啊,一个是修改它的 ip, 我们用的静态 ip 嘛,主机名在 a t c 下边儿的 host name 啊,我们这个就叫 rocked m q a d c seat config, night work gun scripts if config 是吧?然后 ip ip 用多少呢?呃,咱们这样啊,我之前像这里边是有的。 you come q, 我们用幺幺五就行了,用幺幺五,当然这个我在那个里边已经放过了啊,就那个。呃 呃, driver's etc 下边的 house 啊,这个文件里边已经放过了,我就不再往里边放了啊,你知道幺幺五是吧,就可以了,那也就是说我可以直接使用这个名称了啊。 幺幺五。 好,大家看,我原来这里边是有这个 rock m q 的啊,当然我现在可以把它删掉,其实这倒无所谓,把这删掉是吧,然后我这边就直接用, 直接用这个主机名的 好。呃,那这样的话啊,呃。我们是吧幺二五,我这个呃主机已经科隆完毕了。科隆完毕以后啊,我们下边要安装。呃,安装肯定我们得从官网来下载啊。 rocket i'm q, 这是啊,我们这是呃 recome q。 它已经呃捐赠给了阿帕奇了啊,所以它现在是阿帕奇的顶级项 是吧?呃,我们现在最高最新版本是什么?五点零的对吧?那我们可以选择啊,建立中文是吧? 然后呢?文档有五点零和四点 x, 当然我们应该用哪个版本啊?这不是我们啊,最高啊,我五点零,我就用最新版本五点零。那我们前面给大家说过啊, get up 是吧? 我们打开它,它里边有一个兼容性是吧?它组建的兼容性啊, 这个不好打开了。呃,这样我给大家说了啊,呃,这个兼容性的,我们可以看到他现在支持的版本,就我们现在这个 spra 阿里巴巴对应的这个版本应该是四点六点四这个版本,而不是五,所以我们要下载的话,我们 应该下载就是四,应该下载四,但是我们用五这个版本也是可以的,也能用啊。这个我已经试过了,是没有问题的啊。他现在支持支持的最高版本是四点 四点六点四还是四点九点四了?估计四点九点四是吧。啊,一会我们就可以看到啊,所以我们现在呢就下载这个版本了,当然这是原码,这是我们啊,二 g g 的,我们现在要下载它,这个我已经下好了啊,在在这好像 room q 是吧?这已经下好了啊,那么下边我们要做的就是把它上传 上传到 o p t twos 最新版 五点一点三吧五点一点三这个版本是吧?上传啊,成功了,那现在我们进到 o p t 下边的,呃,这个,这个,这个,这个 tooth 是吧,现在是不是又有它了?那现在,呃,给它解压一下,当然我我们在解压之前啊,先给大家说一下,就是它对这个对对系统是有要求的啊,我们看 window 快速开始,大家看啊,你这个系统要求是什么?六十四位操作系统,然后推荐使用 linux, unix 和呃, mark 是吧?我们现在用的是 linux, 然后呢,他要求 gdk 是六十四位一点八啊,进行以上。 另外还有一点就是它里边要求我们要有要配上加了 home, 你注意要求你的系统里边还要配上加了 home 这个环境变量,所以我们现在看一下我这个有没有加了 home 啊? echo 我看一下 多了加吧哄你看,我这边是有的啊。答案你要是没有的话,那你就得配一下我这有啊。呃,一般你 gdk 安装它是默认安装在哪了, 安装在哪?安装在 u s r 呃,下边有个加吧,你看看一般默是装到它它里边了,是吧,那 那么如果你也是在这,当然你不在这,你可以找到你自己具体在哪,然后找到以后,我们现在来编辑一下这个文件 a t c 下边儿的 profile, 大家看在最后, 你给它加上这么几行,是吧?这不是加了 home 吗?就指定你刚才啊,你加加了的安装目录是吧?啊? j r e home 是吧? club pass, 然后我们的 pass 给它加进去,把这家 home 给它加进去就 ok 了。那么这这个内容加过以后,我们最后再给它什么 south 一下,是吧? 就是让它生效啊,让这文件你刚改过的文件让它生效就可以了啊,这就 ok 了,这就 ok 了。那么有了加号码这个环境,我们有了以后,下边就可以解压了,因为它是 zip 啊,所以我们要用 on zip, 当然我 answer 是需要安装的啊,我的已经装过了,你要没有装你就压 install, 你给它安装一下,这个我就不再说了啊, 然后杠 d, 我指定给它夹到 o p t 下边的 a p p s。 好,大家看现在是不是有了,这名字太长了啊,我们给它重命名一下,我就叫 rocked i'm q。 好,我 cd looks up to。 现在进来了,那么进来以后啊,这边有个闭目录,这儿有个闭目录,它里边儿放的就是我们的 啊,这命令,这命令啊,那么因为我们没有没有给大家讲过,我们现在没有学习过。呃,这个 room q 啊,我简单给大家说一下,对于这个 room q 启动啊,需要注意,我们需要启动它的一个叫 name server 的, 需要启动个 name server, 这个 name server 呢?呃,它相当于是在 m q 里边有个服务器,然后呢,这它里边是有有,有什么 东西啊?你看 broker, 有 broker, 就我们需要可以启动多个 broker, 这些 broker 都是注册到它里边的,你可以简单这样理解,所以我们先要启动这个服务器,那么这个 broker 就相当于是它里边的客户端,是吧,你需要在它里边儿上进行注册的。那 那么这里边呢?我们看啊,我们用到的,我们用到的命令,实验室就用这个啊, run broker 和 run server 用这两个命令来启动。我们刚才说的啊,这个,这个 broker 和我们的 name server, 但这两个命令里边啊,我们可以看一下 哎,呃, run sover 大家可以看一下啊, 我刚才是不是一下敲了个啥东西,我重新再进一下啊, 手掐了个啥东西吗?刚才又又保存了一下,你看这看里边有错没有啊?先这样运行吧,往下看啊,看哪呢?看这, 你看它里边啊,就是内部它使用那些内存有点太大了,你看都是四 g 两 g 是吧,我们这给它稍改小点,要不然启启动不了啊,四 g 的我给它改成呃,二五六啊,照 啊,两 g 的给他改成小一半,嗯,幺二八找是吧?然后呢?然后这呃 二二二五六照, 二五六照是吧? ok, 这就改过了啊,然后呢?我们再看一下啊,还有那个 run broker, run broker 它里边呢 啊,它里边在哪?在这, 你还有点八 g 更大了是吧?啊,我们这个也是二五六兆, 二五六兆给它改成二五六兆, ok 啊,这样的话啊,我们现在就呃配置文件这儿我们就呃写,这其实也不是改的配置文件啊,就我们把这个命令那改一下啊,好啦,改过以后, 呃,我们现在就能启动了。这个启动之前我先让大家看一下啊,我当前用户主目录 是吧,就是入他目录下,现在里边就一个这文件,这他自带的是吧?就这文件其他什么也没有好,那么一会一启动它里面就会有东西了啊,当然启动的话,那启动在哪呢?大家看这这下边,你看,我们就按照官方文档就行了, 这个 rock mq 啊,官方文档写的很详细,而且也都是中文的哈。呃,我们直接用它就行了啊的首先启动 name server, 然后再启动我们的啊 broker 加 proxy 是吧啊,当然这五点零里边加了一个 proxy 啊,实际上在四里边 是没有这个东西呢。哎,它也是快速开始 name server, 它就直接启用 broker 就行了,所以我们就直接看一下 五 先启动 name server, 我们就拷贝他就行了啊,大家看就拷贝他是吧。启动 name sever, 你看直接回车, ok, 你看是不是已经启动了 name server study 对吧。启动以后啊,我们现在可以看一下,看个日志, 大家能看到这句话, the name of our boot success, 那说明什么?已经启动成功了,现在已经启动,现在它在什么?它在扫描啊,扫描我们可用的 broker, 现在没有嘛 啊 color c 先把这个日志啊给它结束,我们现在再看一下,你看现在里边是不是有了 locks, 刚才我们查看的这个,你看查看的这个 是什么?是不是当前用户瞩目录下 logs 就查看了这个,明白吧?好,这个启动以后我们下边呢再来启动谁呢?启动 broker 加 proxy 也是拷贝汤 currency, 大家看是吧。 name server 启动了,然后 proxy 这儿是不是也启动了啊? ok, 然后再查看一下啊,我们再查看一下位置, 而我们只要看到这句话, the broker 啊,什么什么什么 put success, 就说明启动成功了,你看这现在两个都启动成功了,当然这个启动成功以后我们再看啊 broker 只要一启动成功了,我们现在 你看在它里边是不是又多了一个叫 store, 除了一个 logs 以外,这儿还有个 store, 这 store 干嘛的? i'm q 啊?哦, i'm q 里边它将来就是用于存放我们的消息的,是吧?这是 store 里边原来就是存消息, ok 吧? ok, 好答案,这个成功了没有?你看官方还给出来测试啊,我们可以测试发送,但是我们大家需要注意啊,你看他先写了这样一句话, 这什么就我们在发送消息的时候啊?你其实不管你是啊,生产者还是消费者,实际上都需要 name server 的地址,当然我们现在 name server 地址是谁?就是他,他的更好啊,用本机的是吧?呃,九八七六 就是他,这就是他的地址,我都需要这个地址,这个地址呢?呃,实际上,呃,就是通过这个变量读取这个变量 来获取的,那你现在就得先定义这个变量。哎,我现在先定义这个变量好了,现在有了,有了以后, 然后这儿并下边有个叫 to tooth tooth 里边儿它可以启动我们的 producer 生产者,也可以启动我们的消费者。那么启动生产者他要给我们生产啊,一大堆消息啊,我们大家可以看啊,走, 呃呀,我我我们得又又从它里边出来了,我们得进到 o p t 下边儿的 a p p s, 然后这个,这个,这个 是吧?我们在它下边啊,得执行好了,大家看这剩下的消息再等啊,好,完毕了,他剩下的消息啊, 生产完毕了,那么一大堆啊,啊,很多具体这些消息啊,里边什么内容我们现在就不再给大家,我们就不研究它了啊,你看到能看到啊?这生产者生产消息我们看到了,然后这消费就消费, 你看就在消费,那么到这啊,他已经消费完毕了,紧接着他是处于什么阻塞状态,就等待着你再给我发消息,只要你再发消息,我这边就能消费 它。是这样的,所以我们这儿现在我们不给它发消息了啊, ctrl c 啊,给它结束,结束这个就可以了啊,那能看到这些说明什么?说明我们的消息啊?生产者,呃,我或者我们的消息系统已经成功了,当然怎么样?关闭,再往下关 闭,关闭,关闭,关闭,在这呢,它这边有个并下边有个名字叫 i'm q shut down, 是吧? broker, 我们就可以给它关闭,关闭的时候先关闭 broker, 因为你的 broker 有可能会有有,有很多,是吧?你得先关闭它,关闭了它以后再就是先关闭客户端,再关闭服务端,再关闭 namesover。 好,大家看,没了吧,是不是这两个进程就都没有了? ok 了,那么这样的话啊,我们的 mq 啊,呃,就这儿是吧? 啊,我们 mq 它的安装启动就说完了。


好,我们接着来看一下这个 rock and micro 它的一个核心的一个组件呃,了解它核心组件的目的也是为了梳理这个 rock and micro 它的一个工作流程,那 rock and micro, 它的核心组件包括就是 第一个就是 name sour 啊,就我们也叫命名福气,又叫名声福气,主要用于管理和维护 locom 组集成的一个原数据信息啊,那这个原数据信息包括哪些呢?比如说像这个 topic 啊,就是主题 broker 啊,这主机这个节点福气啊,嗯, ok 啊,是它的一个组件啊,它的组件物流信息啊等等。那生产者和消费者通过与这个 limo server 胶布来获取这些 相关信息,像是 topic 的信息啊, broker 的信息啊,路由信息等等,那他的呃,他管理这些原数据,这些信息啊,集成的原数据信息为了给谁用呢?主要就是给生产者、消费者来使用的 producer 啊,深山者,他就主要负责将这个消息发送到指定的这个 topic 啊,就是发送到指定的这个主题上面去。那深山者可以同步或者异步的发送消息,并且可以设置消息的属性啊,顺序以及延迟等等这些特性啊。 那这就是在生产消息的时候都可以指定无休码,就是消费者啊,消费者就是订阅一个啊,或者多个这个 topic, 并且从这个入口的 mq 集群当中拉取消息啊。 消费者,那可以集群模式或者广播模式消费消息,并且支持顺序消费啊,消息过滤啊等等功能啊 啊,这个,这个是他那个控控胸膜啊, broker 啊, broker 呢,就是实际上存储数据的一个地方啊, broker 的 micro 集群当中的消息存储以及处理的一个节点啊, 那每个 broker 负责存储一部分脱皮卡的一个信息啊,他的一个消息啊,脱皮的,并且呃处理这个生产者和消费者的一个请求。那每个 broker 啊,都有自己的角色和身份啊, 并且通过呃与这个 name server, 也就是命名服名称服务器交互来注册和获取这个路由的信息。 topic 这一块啊,它主要是一消息,我们发送消息,消息它的一个逻辑分类的一个单位啊,逻辑分类, 那生产者将这个消息发送到这个特定的主题当中,而消费者就主要订阅这个感兴趣的这个主题 消息对列啊, message q 啊,嗯,这个有点名了啊啊,嗯,就首位呼应,因为我们 roco 本身就是个 m q 啊,但这里它也有这个消息对列,或者叫工作对列这样的一个角 角色,他这个就是每个主题可以被细分为啊,多个消息对联啊,你看他这个概念啊,在卡不卡当中,每个主题他可以被细分为,是吗? 分区啊, partition, 它这里它又叫做是湘西对列,又又分为这个对列,叫对列这个概念。在 rebian code 当中,它这里面它它是那个,就是公,就是 work and cube, 就是 cube 啊,就是湘西对列, 其实都是啊,有这个作用,只不过叫法,只要理解它的概念啊,只不过叫法不一样啊,名称命名不一样。 好,这就是如何 mac 核心组件,那接下来我们讲这个核心组件,目的就是为了说明这个他这个工作流程啊,看一下,梳理一下他这个工作流, 那入海 mq 它的一个工作流程就是,首先这个生产者就是 producer 将这个消息发送到这个指定的这个 topic 啊,它, 呃,我们前面不是有 lim server 嘛,他这个训练者,他肯定首先是跟这个 lim server 进行交互,他获取目标 topic 的一个路由信息,然后选择合适的这个 broker 发送消息, 那 broker 接收到深圳者发送的消息之后,将其存储到磁盘上的这个消息对列当中啊, broker 将这个消息持久化啊,就是里程出到此盘,实际上就是一个持久化的一个动作,并且配置到配,嗯,根据配置的这个同步或者异步刷盘策略啊,将这个消息 刷写到这个词盘。第三步就是消费者 consumer 订阅感兴趣的这个 topic 啊,消费者他首先呢还是跟这个 name server 进行交互,获取订阅订阅的这个 topic 主题的这个录用信息,然后选择合适的 broker 进行 消息这个拉取,因为 topic 他的一个路由信息,他肯定会进入这个 topic, 在哪在哪个 broker 啊,所以他就直接找到这个 topic 所在这个 broker 啊,拿取消息,那消费者消消费完消息之后,可以向这个 broker 发送确认消息,也就是 p c k 啊,确认消费成功, 那 broker 更新消息的这个消费进度。 第六步就是 lamb sewer 定期向这个 producer 啊,向这个 producer 和这个呃消费者提供这个最新的路由信息,以便他们能够根据变化的集成状态啊进行更新。 好,这就是 rookmaker 大概的一个流程,所以它这里面呢?它首先是有这个 呃, number server 这么一个概念, number server 实际上也有点类似于卡不卡当中这个 zookeeper, 对不对啊?原数据的一个管理,在原数据管理这块儿,它就有点类似于卡不卡的是 zookeeper 啊,这是这节内容。

行了,那我们继续往下吧。我们刚才把这个 eve 啊, is eve 啊 is 这几个指令说了是吧,它呢都属于条件渲染这一块的指令。那么其实除了这三个指令之外啊,还有一个指令,各位啊,叫 v 杠兽。那哪呢?来点开啊,在这叫 v 杠兽。 这个 v 杠兽呢,和这个 v 杠 e 啊,可以完成同等的效果,都可以显示元素隐藏元素,显示元素隐藏元素。来,我们一起来看一下它的区别。各位啊,来 v 杠兽 这边换行哎,咱们给几个换行,给几个换行啊,给一个 div 文本内容的话,咱们给让,比如说呃,你可以看到我吗?嗯,行。那么这边 v 杠兽啊,他同样是传一个处,或者是 false 啊,这样的一个表达式。各位啊,那么处什么意思啊?就是这个内容显示呗,对吧? 如果为 false, 那就是这个内容隐藏呗。来看看是不是这样的啊。接下来,在这呢,打开之后呢,我们看一下页面上有没有,你可以看到我们有是不是?来,你看啊,在这。你看元素是不是在这啊,对吧?没有任何问题啊。你看啊,我现在再把它改成什么呀,叫 false, 你看,现在你还能看见吗?没了是不是?但是你惊奇的发现,我的天呐,元素这块他还在, 只不过 display, no, 看见没有。刚才如果你这个位置是处,那就表示能看见,能看见。大家看这个样式是不是就没有,你看那个样式是不是就没有。但如果说你想隐藏, 你改成 false, 它这个样式就出现了 display 呢。所以啊,这个微杠兽,它是通过什么方式呢?修改 c、 s、 s 样式的 display 属性,来达到隐藏和显示的对不对?来写上啊,就是 v 杠受指令是通过什么修改元素的 c、 s、 s 样式的哪个属性第一次 play 啊属性来达到显示和隐藏的。那么通过我的一个描述你就知道哦,他和 v 杠 e 服还是不一样的。 v 杠 if 人家说白了,如果为处妥了,这个元素就正常正常显示,正常渲染。如果为 false 的话,压根这个元素人家就没了,就在页面上根本就不存在了。但这哥们呢? 这哥们说完这个元素一直都是存在的,只不过样式变了。如果为处就代表样式 display 样式那个 no 就没有对吧?如果为 false 妥了,就偷偷的给你加一个样式,叫什么叫 display no 就隐藏起来了啊。那么大家思考一下,我以后我啥时候应该用 衣服,什么时候应该用 v 杠兽呢?他俩区别我是知道了对吧?怎么去选择呢?大家思考一下。如果一个元素经常频繁的做隐藏显示,隐藏显示,隐藏显示。我问你用 v 杠 e 服是不是不太合适?为什么?因为 v 杠 e 服他的开销比较大, 他把元素干掉,还得重新建个新的元素对不对?哎,人家是不是只需要修改一个样式就行了?所以说你第一个要求是就是如果在页面当中某一个元素经常频繁的被隐藏显示,那么就要使用 v 杠兽来注意啊。 v 杠 e 符合 v 杠兽。应该如何选择第一个标准啊?第一个标准是什么呢?如果啊,一个元素在页面上 被频繁地隐藏和显示,建议使用什么呀? v 杠瘦 v 杠瘦啊。因为此时使用 v 杠 e 开销比较大, 那么有同老师,那也就是以后我们都用 vagant 说说呗, vagan if 还用它干啥呀?那 vagan if 自然有 vagan if 的优点,对吗?各位好,我问大家 是不是使用 vr 衣服,他的渲染效率要高一些,渲染效率要高一些。思考一下,就是页面加载的快对吧? 是这样的吧。 v 杠 e 服的优点是什么呀?是页面加载速度快对吧?哎,提高了页面的渲染效率 啊。也就是说,如果页面在打开的时候,这哥们在这,如果是 false, 压根这个元素我都根本就不用构造它,直接就略过了, 对吧?哎,所以说,在不同的情况下,应该选择不同的指令啊。你如果是为了提高渲染效率,那你就选择微杠易服 啊。但是记住了,如果你这个页面元素加载完了,你有一个元素经常的被显示和隐藏,频繁的做这件事情,那你就要使用 v 杠手 啊。行。那么关于 v 刚 if 和 v 刚瘦的一个选择,我们就说到这,各位啊,另外呢,在咱们这个条件,渲染这块还有一个很小的知识点啊,这个点呢,咱们点一下就 ok 啊,谁呢?就是他 template 这个标签,或者是这个元素,这个元素它是干啥用的呢?来 一起看一下,非常简单。各位啊,这里呢,有一个计数器,是一,是不是?来,你看啊,我们在这呢,点一下这个按钮就加一,我有一个需求啊,当它等于十的时候, 哎,我要求你在这给我显示三个东西,一个文本框,一个复选框,一个单选按钮。那你看啊,这是一个文本框是不是? 这是一个复选框,这是一个单选按钮对不对?哎,现在他是有的对吧?因为我没没有加判断,你看 有吧,但是现在我要求他是十的时候,这边呢才会显示这些元素。那这种情况的话,你肯定就是加 v 杠 if 进行判断了,是不是?哎,如果他等于十的时候,我们是不是在做这件事啊,哎,并且这三个判断条件是不是一样的,大家思考一下一样的对吧? 来,我们批量编辑一下啊, v 杠 if 等于是不是?哎, counter 啊,等于多少啊?十对吧,这个事其实就完成了啊,来,一起看一下啊。走走走走走走,七八九走,你看是不是这样就显出来了,功能去实现了对吧? 但是你们发现这呢?写了一遍又写一遍又写一遍是吧?代码没有得到复用。那么这种情况的话应该怎么办呢?哎,如果你想解决这个问题,对于我们目前来说啊,如果不用这个贪 play 它, 我们应该怎么解决呢?我们可以考虑外边加一个 div 吗?行不行?把这些放到这个 div 里边行不行?可以吧,来,我们把它拿过来啊,放到我们的 div 当中。那么这些东西呢,咱就不需要了。好,这边我们是不是加一 一个判断, v 杠 if 等于 counter 等于多少啊,十是不就 ok 了?你这个里边的这些东西我们是不是都可以不要了?就这个我们是不是可以删了对吧?包括你下边这个是不是也可以不要了,对吧?好,包括这个是不是也可以不要了,对吧?好,那个事就搞定了。那行不行的,打开。 打开之后呢?你看啊,这没有的对吧?走走走走走走走走,你看是不是功能实现了。但是注意啊,你是解决了代码附用的问题,你在这加一个 ev 判断就可以了。但是呢,你看啊,因为这件事,你是不是又加了一个 div 啊, 这个 div 的出现是不是等同于破坏了我们原先页面的一个结构?各位大家思考一下,我现在可能这个 div 没有意义,我这个 div 只是在这放着,起到一个什么呀,占位的 作用,只是为了把这个 if 有地方写,所以我们才搞了个 d i v 出来。但是我说了,你这个 d i v 的一个出现,我说了会导致我们原页面的结构会发生变化,因为它确实真实存在了呀, 对吧?他真实存在了。走走走走走走走走,对吧?然后点右键,我们检查一下,你看这个 div 是不是真实存在了。所以这种情况下,我不希望这个 div 存在,我可能只需要这有个站位符。 所以你看好了 timeplay 的啊,这个标签或者说这个元素就起上作用了。贪配的往外一套。妥了。这哥们只是在这起到一个站位的作用 啊,能让这个 e 有地方去写这个东西,他不会真正的渲染到页面上,明白吗?也不会影响页面的结构啊。来,我们一块看 下啊,功能能不能实现,来这边出问题了,刷新一下。好,没问题啊。接下来继续点他走走走走走走走走走走好,大家看是不是功能实现了,对吧?并且这块点右键啊,检查一下,大家看 是不是我们这个音谱的音谱,音谱的外边是不是那个 time play, 那个标签是没有的,对吧?行,就搞定了,各位啊,所以这个 time play 记住了啊,他只是起到一个什么呀,站位的作用,那站位的作用来 他们配的啊,标签或者叫元素,只是起到什么呀,占位的作用啊, 不会真正的出现在页面上啊,也不会影响页面的结构。 那么这个我们就说到这,各位到这为止啊。咱们整个这个条件渲染。哎,这块内容我们就说完了。各位啊,一共是这么几个东西,一个叫做 v 杠 e 服啊,一个叫 v 杠 l s v 杠 l s e f 啊,还有一个 v 杠瘦啊,包括这个 template。 别的我们先不用管啊,什么 v 杠 four, 这个到后面我们再说啊。