微服務(wù)實(shí)踐分享與探討

服務(wù)調(diào)用關(guān)系

API網(wǎng)關(guān)優(yōu)缺點(diǎn)

  • 簡化溝通方式
    API網(wǎng)關(guān)對所有微服務(wù)提供單一的訪問點(diǎn)
  • 安全性
    對客戶端隱藏了服務(wù)發(fā)現(xiàn)和服務(wù)版本
    阻止大規(guī)模攻擊,包括SQL注入,XML解析漏洞和Dos攻擊
    驗(yàn)證token,certificates和其他credentials
  • 混合通訊協(xié)議
    API網(wǎng)關(guān)翻譯并支持不同的通訊協(xié)議
  • 調(diào)用頻率库物,跨域拗秘,緩存配置
  • 需要額外的配置
  • 需要管理路由的配置


常見的微服務(wù)組件及概念

  • 身份認(rèn)證
    用戶、客戶端草穆、資源交互過程中的身份認(rèn)證授權(quán)框架

  • 服務(wù)注冊
    服務(wù)提供方將自己調(diào)用地址注冊到服務(wù)注冊中心灌灾,讓服務(wù)調(diào)用方能夠方便地找到自己。

  • 服務(wù)發(fā)現(xiàn)
    服務(wù)調(diào)用方從服務(wù)注冊中心找到自己需要調(diào)用的服務(wù)的地址悲柱。

  • 負(fù)載均衡
    服務(wù)提供方一般以多實(shí)例的形式提供服務(wù)锋喜,負(fù)載均衡功能能夠讓服務(wù)調(diào)用方連接到合適的服務(wù)節(jié)點(diǎn)。并且,節(jié)點(diǎn)選擇的工作對服務(wù)調(diào)用方來說是透明的嘿般。

  • 服務(wù)網(wǎng)關(guān)
    服務(wù)網(wǎng)關(guān)是服務(wù)調(diào)用的唯一入口段标,可以在這個組件是實(shí)現(xiàn)用戶鑒權(quán)、動態(tài)路由炉奴、灰度發(fā)布逼庞、A/B 測試、負(fù)載限流等功能瞻赶。

  • 配置中心
    將本地化的配置信息(properties, xml, yaml 等)注冊到配置中心往堡,實(shí)現(xiàn)程序包在開發(fā)、測試共耍、生產(chǎn)環(huán)境的無差別性虑灰,方便程序包的遷移。

  • API 管理
    以方便的形式編寫及更新 API 文檔痹兜,并以方便的形式供調(diào)用者查看和測試穆咐。

  • 集成框架
    微服務(wù)組件都以職責(zé)單一的程序包對外提供服務(wù),集成框架以配置的形式將所有微服務(wù)組件(特別是管理端組件)集成到統(tǒng)一的界面框架下字旭,讓用戶能夠在統(tǒng)一的界面中使用系統(tǒng)对湃。

  • 分布式事務(wù)
    對于重要的業(yè)務(wù),需要通過分布式事務(wù)技術(shù)(TCC遗淳、高可用消息服務(wù)拍柒、最大努力通知)保證數(shù)據(jù)的一致性。

  • 調(diào)用鏈
    記錄完成一個業(yè)務(wù)邏輯時調(diào)用到的微服務(wù)屈暗,并將這種串行或并行的調(diào)用關(guān)系展示出來拆讯。在系統(tǒng)出錯時,可以方便地找到出錯點(diǎn)养叛。

  • 支撐平臺
    系統(tǒng)微服務(wù)化后种呐,系統(tǒng)變得更加碎片化,系統(tǒng)的部署弃甥、運(yùn)維爽室、監(jiān)控等都比單體架構(gòu)更加復(fù)雜,那么淆攻,就需要將大部分的工作自動化阔墩。
    現(xiàn)在,可以通過 Docker 等工具來中和這些微服務(wù)架構(gòu)帶來的弊端瓶珊。 例如持續(xù)集成啸箫、藍(lán)綠發(fā)布、健康檢查艰毒、性能健康等等筐高。嚴(yán)重點(diǎn),以我們兩年的實(shí)踐經(jīng)驗(yàn),可以這么說柑土,如果沒有合適的支撐平臺或工具蜀肘,就不要使用微服務(wù)架構(gòu)。

身份認(rèn)證架構(gòu)的演變

開發(fā)過程中常見的交互
  • 瀏覽器與Web應(yīng)用程序通信, B/S
  • 瀏覽器與web API通信 B/S
  • 基于瀏覽器的應(yīng)用程序與Web API通信(有時是獨(dú)立的稽屏,有時代表用戶) electron node-webkit H/S
  • 桌面程序程序與Web API通信 C/S
  • 后臺Service與web API通信 S/S
  • Web API與Web API通信(有時是獨(dú)立的扮宠,有時代表用戶)S/S



  • Users 用戶
    使用客戶端訪問微服務(wù)資源的人。
  • Clients 客戶端
    請求令牌的軟件狐榔,用于驗(yàn)證用戶(請求身份令牌)或訪問微服務(wù)的程序(請求訪問令牌)坛增。
    如:Web應(yīng)用程序,本地移動或桌面應(yīng)用程序薄腻,SPA收捣,服務(wù)器進(jìn)程等。
  • Resources(微服務(wù)) 資源
    想要使用IdentityServer保護(hù)的資源 - 您的用戶的身份數(shù)據(jù)或API庵楷。
    (每個資源都有1個唯一的名稱 - 客戶端使用這個名稱來指定他們想要訪問的資源罢艾。)
  • Identity Data 身份資源
    用戶的標(biāo)識符,可以包含其他身份數(shù)據(jù)尽纽。
  • Access Token 訪問令牌
    訪問API資源的令牌咐蚯。包含有關(guān)客戶端和用戶的信息(如果存在)。API使用該信息來驗(yàn)證授權(quán)并判斷是否可訪問其數(shù)據(jù)弄贿。
    附上:微軟Azure AspNetCore微服務(wù)實(shí)戰(zhàn)PPT
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末春锋,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子差凹,更是在濱河造成了極大的恐慌期奔,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,692評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件直奋,死亡現(xiàn)場離奇詭異能庆,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)脚线,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來弥搞,“玉大人邮绿,你說我怎么就攤上這事∨世” “怎么了船逮?”我有些...
    開封第一講書人閱讀 162,995評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長粤铭。 經(jīng)常有香客問我挖胃,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,223評論 1 292
  • 正文 為了忘掉前任酱鸭,我火速辦了婚禮吗垮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘凹髓。我一直安慰自己烁登,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,245評論 6 388
  • 文/花漫 我一把揭開白布蔚舀。 她就那樣靜靜地躺著饵沧,像睡著了一般。 火紅的嫁衣襯著肌膚如雪赌躺。 梳的紋絲不亂的頭發(fā)上狼牺,一...
    開封第一講書人閱讀 51,208評論 1 299
  • 那天,我揣著相機(jī)與錄音礼患,去河邊找鬼锁右。 笑死,一個胖子當(dāng)著我的面吹牛讶泰,可吹牛的內(nèi)容都是我干的咏瑟。 我是一名探鬼主播,決...
    沈念sama閱讀 40,091評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼痪署,長吁一口氣:“原來是場噩夢啊……” “哼码泞!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起狼犯,我...
    開封第一講書人閱讀 38,929評論 0 274
  • 序言:老撾萬榮一對情侶失蹤余寥,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后悯森,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體宋舷,經(jīng)...
    沈念sama閱讀 45,346評論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,570評論 2 333
  • 正文 我和宋清朗相戀三年瓢姻,在試婚紗的時候發(fā)現(xiàn)自己被綠了祝蝠。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,739評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡幻碱,死狀恐怖绎狭,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情褥傍,我是刑警寧澤儡嘶,帶...
    沈念sama閱讀 35,437評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站恍风,受9級特大地震影響蹦狂,放射性物質(zhì)發(fā)生泄漏誓篱。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,037評論 3 326
  • 文/蒙蒙 一凯楔、第九天 我趴在偏房一處隱蔽的房頂上張望窜骄。 院中可真熱鬧,春花似錦啼辣、人聲如沸啊研。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽党远。三九已至,卻和暖如春富弦,著一層夾襖步出監(jiān)牢的瞬間沟娱,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評論 1 269
  • 我被黑心中介騙來泰國打工腕柜, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留济似,地道東北人。 一個月前我還...
    沈念sama閱讀 47,760評論 2 369
  • 正文 我出身青樓盏缤,卻偏偏與公主長得像砰蠢,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子唉铜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,647評論 2 354

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理台舱,服務(wù)發(fā)現(xiàn),斷路器潭流,智...
    卡卡羅2017閱讀 134,652評論 18 139
  • 1. 微服務(wù)架構(gòu)介紹 1.1 什么是微服務(wù)架構(gòu)竞惋? 形像一點(diǎn)來說,微服務(wù)架構(gòu)就像搭積木灰嫉,每個微服務(wù)都是一個零件拆宛,并使...
    靜修佛緣閱讀 6,641評論 0 39
  • 摘要:本文中,我們將進(jìn)一步理解微服務(wù)架構(gòu)的核心要點(diǎn)和實(shí)現(xiàn)原理讼撒,為讀者的實(shí)踐提供微服務(wù)的設(shè)計模式浑厚,以期讓微服務(wù)在讀者...
    Java架構(gòu)師Carl閱讀 5,776評論 0 20
  • 最重要的事情只有一件瞻颂。 我一直不太認(rèn)同這個觀點(diǎn)。還記得多任務(wù)操作系統(tǒng)的說法郑象,總自信自己也可以做到。直到最近開始反思...
    來是春初閱讀 632評論 6 7
  • 文/常一 當(dāng)?shù)搅诉x擇的階段茬末,就說明已經(jīng)出現(xiàn)變革的時期厂榛。難道不是嗎盖矫?就如紙質(zhì)書與電子書的選擇。 紙與字的...
    常一閱讀 694評論 0 1