k8s只是一个平台,要发挥他的价值就要让适合的服务运行在上面,所以从今天开始就会介绍一些有趣的服务(不一定适合k8s)。
NATS是一项streaming服务平台,使用的是publish/subscribe 架构,较为完整的NATS平台会包含NATS及NATS streaming(事实上是在NATS内启用NATS streaming),前者为发布和订阅所使用的,後者为提供NATS的持久化储存,但是在使用NATS streaming时其实还是连到NATS;而更新的架构是使用NATS内部启用JetStream 。
虽然我会期望k8s上的服务尽量是以无状态的方式运行,不过如果考量到资料要保留一段时间储存,那麽在也是可以提供一个小的pv空间做NATS streaming cluster;那麽NATS cluster长什麽样子呢?
这是官网的一张NATS cluster图,NATS让client端各自打自己想要打的端点,并且订阅想要的subject,这样的架构有什麽样的好处呢?
当配上NATS streaming後架构会多出以下
不过在今天写文章时,重新去对了网站上的资讯,发现NATS streaming准备弃用(使用至2023/6),而官方接手的专案叫做jetstream,与NATS streaming一样是运行於NATS上,同时可以使用CRD运行在k8s上。
这张图简略地说明了jetstream对於讯息的发布和订阅机制的流向,那麽为什麽要改用Jetstream呢?主要原因在於虽然NATS Streaming解决了NATS的储存问题及确保讯息送达,但是变得没办法水平扩展了,JetStream改变了一些架构,像是运用了RAFT演算法、Stream data replication的机制,因此NATS的可用性更加地提升了。
<<: 2021-Day10. 第一印象很重要!!从「加入群组」时,就建立良好关系:Line加群组欢迎讯息实作教学
>>: Day 3 Swift语法-基础篇(1/3)-基本运算符及字串
其实威尔猪本来没打算写 Filter,因为总觉得在一般情形下不太常会用到,但又觉得这好像也算是 T...
Lucene.Net是一套C#开源全文索引库,其主要包含了: · Index : 提供索引的管理与词...
今天是30天程序语言研究的第十三天,由於深度学习老师多让我们上了python的进阶课程里面包括之前没...
没想到30天这麽快就过去了 还记得决定学习前端知识的时候,带给我的都是新奇的体验,但随着学习的内容越...
这几天研究下来,发现有三个词汇很让人搞不懂,也就是人工智慧(Artifical Intellig...