日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

使用Apache Kafka,Kubernetes和Envoy,Istio,Linkerd的服务网格和云原生微服务

發(fā)布時(shí)間:2023/12/3 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Apache Kafka,Kubernetes和Envoy,Istio,Linkerd的服务网格和云原生微服务 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

微服務(wù)架構(gòu)不是免費(fèi)的午餐 ! 微服務(wù)需要解耦,靈活,操作透明,數(shù)據(jù)感知和彈性。 過(guò)去幾年的大多數(shù)材料僅討論具有緊密耦合且不可擴(kuò)展的技術(shù)(如REST / HTTP)的點(diǎn)對(duì)點(diǎn)體系結(jié)構(gòu)。 這篇博客文章介紹了Apache Kafka,Kubernetes,Envoy,Linkerd和Istio等前沿技術(shù),以實(shí)現(xiàn)云原生服務(wù)網(wǎng)格來(lái)解決這些挑戰(zhàn),并將微服務(wù)提升到規(guī)模,速度和效率的新水平

以下是構(gòu)建可伸縮,可靠,健壯和可觀察的微服務(wù)體系結(jié)構(gòu)的關(guān)鍵要求:

在進(jìn)一步詳細(xì)介紹之前,讓我們先看一下關(guān)鍵要點(diǎn):

  • Apache Kafka解耦服務(wù) ,包括事件流和 請(qǐng)求-響應(yīng)
  • Kubernetes 為 Kafka生態(tài)系統(tǒng)提供云原生基礎(chǔ)架構(gòu)
  • Service Mesh在生態(tài)系統(tǒng)/組織范圍內(nèi)幫助提高 安全性和可觀察性
  • 特使和 伊斯托(Istio) 位于 卡夫卡(Kafka)之上,與卡夫卡(Kafka)所實(shí)現(xiàn)的目標(biāo)正交

以下各節(jié)涵蓋了有關(guān)此問(wèn)題的更多想法。 博客文章的末尾包含幻燈片和錄像帶,以獲取更多詳細(xì)說(shuō)明。

微服務(wù),服務(wù)網(wǎng)格和Apache Kafka

Apache Kafka成為事實(shí)上的微服務(wù)架構(gòu)標(biāo)準(zhǔn) 。 它遠(yuǎn)遠(yuǎn)超出了可靠且可擴(kuò)展的大容量消息傳遞。 分布式存儲(chǔ)允許獨(dú)立的微服務(wù)之間實(shí)現(xiàn)高可用性和真正的解耦。 此外,您可以利用Kafka Connect進(jìn)行集成,并利用Kafka Streams API在自治團(tuán)隊(duì)中構(gòu)建輕量級(jí)流處理微服務(wù)。

服務(wù)網(wǎng)格對(duì)體系結(jié)構(gòu)進(jìn)行了補(bǔ)充 。 它描述了組成此類應(yīng)用程序的微服務(wù)網(wǎng)絡(luò)及其之間的交互。 它的要求可以包括發(fā)現(xiàn),負(fù)載平衡,故障恢復(fù),指標(biāo)和監(jiān)視。 服務(wù)網(wǎng)格通常還具有更復(fù)雜的操作要求,例如A / B測(cè)試,金絲雀推出,速率限制,訪問(wèn)控制和端到端身份驗(yàn)證。

我將探討分布式微服務(wù)通信的問(wèn)題,以及Apache Kafka和Service Mesh解決方案如何解決該問(wèn)題。 這篇博客文章介紹了將兩種方法結(jié)合在一起以構(gòu)建具有可解耦和安全的微服務(wù)的可靠且可擴(kuò)展的微服務(wù)體系結(jié)構(gòu)的方法。

討論和體系結(jié)構(gòu)包括各種開(kāi)源技術(shù),例如Apache Kafka,Kafka Connect,Kubernetes,HAProxy,Envoy,LinkerD和Istio。

在此有關(guān)“微服務(wù),Apache Kafka和域驅(qū)動(dòng)設(shè)計(jì)(DDD) ”的相關(guān)博文中,了解有關(guān)使用Kafka解耦微服務(wù)的更多信息。

使用Kubernetes的Cloud-Native Kafka

云原生基礎(chǔ)架構(gòu)是可擴(kuò)展的,靈活的,敏捷的,彈性的和自動(dòng)化的。 Kubernetes獲得了出廠標(biāo)準(zhǔn)。 無(wú)狀態(tài)服務(wù)的部署非常簡(jiǎn)單明了。 但是,部署有狀態(tài)的分布式應(yīng)用程序(例如Apache Kafka)要困難得多。 需要大量的人工操作。 Kubernetes不會(huì)自動(dòng)解決Kafka特定的挑戰(zhàn),例如滾動(dòng)升級(jí),安全性配置或代理之間的數(shù)據(jù)平衡。 在K8s自定義資源定義(CRD)中實(shí)現(xiàn)的Kafka運(yùn)算符可以在這里提供幫助!

Kubernetes的運(yùn)營(yíng)商模式旨在捕捉正在管理一項(xiàng)服務(wù)或一組服務(wù)的人類運(yùn)營(yíng)商的主要目標(biāo)。 負(fù)責(zé)特定應(yīng)用程序和服務(wù)的人工操作員對(duì)系統(tǒng)應(yīng)該如何運(yùn)行,如何部署以及在出現(xiàn)問(wèn)題時(shí)如何做出反應(yīng)具有深入的了解。

在Kubernetes上運(yùn)行工作負(fù)載的人們通常喜歡使用自動(dòng)化來(lái)處理可重復(fù)的任務(wù)。 Operator模式捕獲了如何編寫(xiě)代碼以自動(dòng)化Kubernetes本身提供的功能以外的任務(wù) 。

存在用于Kubernetes的Kafka運(yùn)營(yíng)商的不同實(shí)現(xiàn)方式: 融合運(yùn)營(yíng)商 , IBM / Red Hat的Strimzi , Banzai Cloud 。 在這里,我不會(huì)詳細(xì)介紹K8s Kafka操作員的特性和優(yōu)勢(shì)。 我已經(jīng)在另一篇博客文章中對(duì)此進(jìn)行了詳細(xì)說(shuō)明(下面的視頻還將討論該主題):

使用Envoy,Linkerd或Istio等基于Kubernetes的技術(shù)進(jìn)行服務(wù)網(wǎng)格

服務(wù)網(wǎng)格是一種微服務(wù)模式,用于將可見(jiàn)性,可靠性和安全性原語(yǔ)用于服務(wù)到服務(wù)的通信移至基礎(chǔ)結(jié)構(gòu)層,而不是應(yīng)用程序?qū)印?/strong>

可以在此處找到有關(guān)設(shè)計(jì)模式“服務(wù)網(wǎng)格”的詳細(xì)說(shuō)明,包括下圖,該圖顯示了控制平面與帶有代理人小車的微服務(wù)之間的關(guān)系:

您可以從Envoy或Linkerd之類的框架的創(chuàng)建者那里找到有關(guān)服務(wù)網(wǎng)格概念及其實(shí)現(xiàn)的更多精彩內(nèi)容。 請(qǐng)查看這兩個(gè)鏈接,或者只是使用Google來(lái)獲得有關(guān)競(jìng)爭(zhēng)替代品及其權(quán)衡的更多信息。

Apache Kafka和Service Mesh的(潛在)功能

諸如Apache Kafka之類的事件流平臺(tái)和Kubernetes之上的服務(wù)網(wǎng)格是云原生的,正交的和互補(bǔ)的 。 他們共同解決了構(gòu)建可擴(kuò)展,可靠,健壯和可觀察的微服務(wù)體系結(jié)構(gòu)的關(guān)鍵要求:

如今,公司已經(jīng)將Kafka與諸如Envoy,Linkerd或Istio之類的服務(wù)網(wǎng)格實(shí)現(xiàn)一起使用 。 您可以輕松地將它們組合在一起以增加安全性,實(shí)施速率限制或?qū)嵤┢渌嚓P(guān)用例。 Banzai Cloud發(fā)布了最有趣的架構(gòu)之一:他們使用Istio通過(guò)使用Envoy的代理為Kafka Brokers和ZooKeeper添加安全性 。

但是,與此同時(shí),支持變得更好: Envoy中對(duì)Kafka支持的拉取請(qǐng)求于2019年5月合并。 這意味著您現(xiàn)在在Envoy中具有本機(jī)Kafka協(xié)議支持 。 關(guān)于其挑戰(zhàn)和實(shí)現(xiàn)Kafka協(xié)議過(guò)濾器的潛在功能的非常有趣的討論也值得一讀。

借助本機(jī)Kafka協(xié)議支持,您可以執(zhí)行除L4 TCP過(guò)濾之外的更多有趣的事情。 以下是一些想法(部分來(lái)自于Github討論),關(guān)于在Service Mesh中使用L7 Kafka協(xié)議支持可以做什么:

  • 點(diǎn)擊功能以轉(zhuǎn)儲(chǔ)到Kafka流
  • 協(xié)議解析以實(shí)現(xiàn)可觀察性(使用HTTP RPC進(jìn)行統(tǒng)計(jì),日志記錄和跟蹤鏈接)
  • 對(duì)Kafka流的影子請(qǐng)求,而不是HTTP / gRPC影子
  • 與Kafka Connect及其連接器的整個(gè)生態(tài)系統(tǒng)集成

  • 動(dòng)態(tài)路由
  • L4連接和L7消息級(jí)別的速率限制
  • 過(guò)濾,添加壓縮,…
  • 自動(dòng)主題名稱轉(zhuǎn)換(例如,用于金絲雀發(fā)布或藍(lán)色/綠色部署)

  • 請(qǐng)求日志和統(tǒng)計(jì)信息
  • 數(shù)據(jù)沿襲/審核日志
  • 通過(guò)獲取請(qǐng)求日志并用用戶信息豐富它們來(lái)審核日志。
  • 客戶特定指標(biāo)(每個(gè)客戶ID /每個(gè)客戶組的字節(jié)速率,客戶庫(kù)的版本,整個(gè)數(shù)據(jù)中心的客戶滯后監(jiān)控)

  • SSL終止
  • 相互TLS(mTLS)
  • 授權(quán)書(shū)

  • 序列化格式(JSON,Avro,Protobuf等)
  • 訊息模式
  • 標(biāo)頭,屬性等

太棒了,不是嗎?

微服務(wù),Kafka和服務(wù)網(wǎng)格–幻燈片和視頻錄制

讓我們看一下我的幻燈片和視頻記錄,以更詳細(xì)地了解使用Apache Kafka,其生態(tài)系統(tǒng),Kubernetes和Service Mesh技術(shù)構(gòu)建Service Mesh的需求,挑戰(zhàn)和機(jī)遇…

這是幻燈片平臺(tái):

來(lái)自KaiW?hner的 Apache Kafka,Kubernetes,Envoy,Istio和Linkerd的Service Mesh

來(lái)自KaiW?hner的 Apache Kafka,Kubernetes,Envoy,Istio和Linkerd的Service Mesh

錄像帶您瀏覽幻燈片:

有任何想法或反饋嗎? 請(qǐng)通過(guò)評(píng)論或推文讓我知道,或者在LinkedIn上建立聯(lián)系。

<>

翻譯自: https://www.javacodegeeks.com/2019/09/service-mesh-cloud-native-microservices-apache-kafka-kubernetes-envoy.html

總結(jié)

以上是生活随笔為你收集整理的使用Apache Kafka,Kubernetes和Envoy,Istio,Linkerd的服务网格和云原生微服务的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。