国产精品免费久久久久电影院_亚洲日韩蜜桃av无码一二三区_AV在线无码免费特黄毛片_亚洲欧美日韩电影在线专区_福利小视频午夜福利一区二区中文字幕_在线免费观看黄黄色视频_欧美菊爆视频在线观看免费_婷婷六月丁香五月_久久伊人精品中文字幕有码_强奸国产无码激情

SolarMesh新版本來襲:引入流量插件

2022-04-11

831

近日,kaiyun開云創(chuàng)新SolarMesh正式發(fā)布 v1.10.2 版本,本次版本更新的主題是流量插件。SolarMesh允許開發(fā)者對流經(jīng)服務(wù)的流量在入站、出站時進(jìn)行編碼增強(qiáng),達(dá)到對業(yè)務(wù)流量的切面編程(AOP Aspect Oriented Programming)能力。


近年來,服務(wù)網(wǎng)格(Service Mesh)一直被稱為下一代微服務(wù)技術(shù),這種技術(shù)架構(gòu)相比SOA架構(gòu)(面向服務(wù)架構(gòu))而言,更加強(qiáng)調(diào)業(yè)務(wù)邏輯與服務(wù)治理邏輯的分層及解耦,在業(yè)務(wù)邏輯和基礎(chǔ)實施邏輯間劃分出清晰的邊界。


不同于以SpringCloud為代表的SDK實現(xiàn)方式,在服務(wù)網(wǎng)格架構(gòu)下,服務(wù)與服務(wù)之間的通信通過代理服務(wù)——sidecar進(jìn)行,所有流經(jīng)的流量都會被代理劫持,再由代理轉(zhuǎn)發(fā)到業(yè)務(wù)服務(wù),以此來實現(xiàn)業(yè)務(wù)邏輯和基礎(chǔ)實施邏輯間的分離。下圖清晰地展現(xiàn)了在服務(wù)網(wǎng)格中應(yīng)用的通信結(jié)構(gòu):


圖片來自:Pattern: Service Mesh(http://philcalcado.com/2017/08/03/pattern_service_mesh.html)


這種架構(gòu)不僅實現(xiàn)了業(yè)務(wù)無侵入的流量管控,在業(yè)務(wù)上更是為業(yè)務(wù)研發(fā)人員提供了一條全新的業(yè)務(wù)拓展路線,面向流量編程。如果業(yè)務(wù)研發(fā)人員將一段業(yè)務(wù)直接注入到sidecar當(dāng)中,由sidecar執(zhí)行,就相當(dāng)于為流量做了一次動態(tài)增強(qiáng),利用服務(wù)網(wǎng)格代碼無侵入的特性,將類似于Spring的切面編程能力擴(kuò)展到所有業(yè)務(wù)服務(wù)當(dāng)中。


SolarMesh在 v1.10.2 版本中引入了流量插件的概念,將一些輕量級的業(yè)務(wù)封裝成插件,在SolarMesh的界面上為應(yīng)用流量在入站、出站時進(jìn)行編碼增強(qiáng),達(dá)到對業(yè)務(wù)流量的切面編程(AOP Aspect Oriented Programming)能力??梢詰?yīng)用于對流量有業(yè)務(wù)訴求的使用場景,例如對敏感業(yè)務(wù)數(shù)據(jù)的過濾,在系統(tǒng)需要停機(jī)更新前下發(fā)更新通知,對特定核心接口的數(shù)據(jù)上報等。


演示


示例項目


此次演示使用了一個典型的電商項目mall-swarmhttps://github.com/macrozheng/mall-swarm)


mall-swarm是一套微服務(wù)商城系統(tǒng),采用了 Spring Cloud Hoxton & Alibaba、Spring Boot 2.3、Oauth2、MyBatis、Docker、Elasticsearch、Kubernetes等核心技術(shù),同時提供了基于Vue的管理后臺方便快速搭建系統(tǒng)。mall-swarm在電商業(yè)務(wù)的基礎(chǔ)集成了注冊中心、配置中心、監(jiān)控中心、網(wǎng)關(guān)等系統(tǒng)功能。


由于mall-swarm依賴眾多,部署麻煩,我們將mall-swarm的所有中間件做了一份k8s部署yaml,讓所有的中間件都部署到集群內(nèi)方便測試,改造后源碼開源在mall-swarm-istio(https://github.com/solarmesh-cn/mall-swarm-istio),所以我們這次使用mall-swarm改造版。


前置條件


  • 安裝 SolarMesh v1.10.2 及以上版本

  • 在k8s集群中部署了mall-swarm-istio項目

  • 服務(wù)接入了sidecar,并且訪問正常


首先需要在流量插件庫中聲明已有的插件




重啟solar-controller組件,更新流量插件庫


需求


在mall-swarm-istio項目中,訪問首頁->訂單->訂單詳情頁面,可以看到,對外暴露的手機(jī)號碼是以明文形式展示在頁面上的。



在某些場景中,以明文展示真實手機(jī)會存在一些安全隱患。所以我們希望可以對手機(jī)號碼進(jìn)行加密,讓用戶不能直接拿到訂單上的真實手機(jī)號碼。在這樣的場景下,我們就可以借助流量插件的能力,在數(shù)據(jù)響應(yīng)給前端之前對數(shù)據(jù)進(jìn)行清洗,加密敏感信息。


實現(xiàn)


訪問SolarMesh的流量視圖頁面,查看整個項目的流量拓?fù)洹?/span>



由于手機(jī)號碼是從mall-admin這個應(yīng)用返回的數(shù)據(jù),所以我們只需要控制住mall-admin這個應(yīng)用的流量,讓它的敏感數(shù)據(jù)不能響應(yīng)到應(yīng)用之外。


選擇mall-admin,打開流量插件側(cè)邊欄。



添加一個數(shù)據(jù)清洗流量插件,這個插件會在響應(yīng)數(shù)據(jù)中清洗掉所有手機(jī)號碼。



保存數(shù)據(jù)清洗流量插件,這樣流量插件就會在應(yīng)用上生效了。



再次訪問首頁->訂單->訂單詳情頁面,現(xiàn)在這個頁面的手機(jī)號碼就不再是明文顯示,而是加密之后的狀態(tài)。



總結(jié)


上文中,我們使用了一個簡單的例子實現(xiàn)了對手機(jī)號碼的清洗加密工作,流量插件的工作原理是在 SolarMesh v1.9.1 版本更新中發(fā)布的WASM(https://mp.weixin.qq.com/s/I3fEuX69gAoAaSVhjcaUkg)能力的一個擴(kuò)展。


在實際使用場景中,業(yè)務(wù)研發(fā)人員只需要基于SolarMesh提供的WASM腳手架,根據(jù)企業(yè)自身的業(yè)務(wù)特點進(jìn)行輕量級的函數(shù)式編程,將打包好的插件交付給SolarMesh即可完成對插件庫本身的擴(kuò)展,并利用流量插件能力靈活的對業(yè)務(wù)服務(wù)進(jìn)行增強(qiáng)。輔助用戶利用服務(wù)網(wǎng)格的特性,滿足特定場景下的定制化需求。


技術(shù)交流
我們建立了多個云原生技術(shù)交流群,其中有來自O(shè)racle、Citrix、華為、騰訊等國內(nèi)外云計算專家,立即掃碼,拉你進(jìn)群。目前已有2000+開發(fā)者加入我們......
云原生廠商 云原生技術(shù)服務(wù)商
在云原生時代,kaiyun開云創(chuàng)新致力于通過賦能開發(fā)者,實現(xiàn)企業(yè)快速迭代與交付,大幅提升創(chuàng)新效率。
產(chǎn)品下載