色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

華為云的Go語言編程的眾多干貨

華為開發(fā)者社區(qū) ? 來源:華為開發(fā)者社區(qū) ? 作者:華為云云原生 ? 2020-12-17 17:59 ? 次閱讀

近日,國內(nèi)較權(quán)威的Go大會(huì)——Gopher China召開,眾多一線互聯(lián)網(wǎng)公司的大神們匯聚一堂,深入探討了Go語言并產(chǎn)生了諸多干貨。其中,華為云微服務(wù)首席架構(gòu)師田曉亮老師也受邀參與本次大會(huì),以《華為云的Go語言云原生實(shí)戰(zhàn)經(jīng)驗(yàn)》為題進(jìn)行了分享,今天小編整理匯總了田曉亮老師分享中的技術(shù)干貨

有理論、有實(shí)操、有深度、需細(xì)品!

2016年華為成立Cloud BU以來,就引入了Go語言編寫的Kubernetes,Prometheus等CNCF項(xiàng)目,華為云研發(fā)團(tuán)隊(duì)也開始用Go語言來構(gòu)建云服務(wù)。不過,當(dāng)時(shí)Go的生態(tài)并不完善,所以要自己從頭到尾編寫基礎(chǔ)能力模塊。那么,如何用Go構(gòu)建云服務(wù)并將基礎(chǔ)能力慢慢建立起來,有哪些經(jīng)驗(yàn)和方法?且聽我們慢慢道來……

從一個(gè)簡單云應(yīng)用看如何構(gòu)筑一個(gè)云服務(wù)

和Eureka一樣,一個(gè)簡單的注冊(cè)發(fā)現(xiàn)服務(wù)Service Center可以通過多種手段來增強(qiáng)。

1.靜態(tài)與動(dòng)態(tài)信息定義

減少數(shù)據(jù)信息量,抽出公共部分統(tǒng)一管理,通過靜態(tài)信息來劃分實(shí)例組。這樣微服務(wù)與微服務(wù)實(shí)例為1對(duì)n的映射,將微服務(wù)名、版本、數(shù)據(jù)中心等信息都抽到了公共部分,通過降低冗余度,來減少網(wǎng)絡(luò)的開銷,同時(shí)也規(guī)范化了微服務(wù)模型。

2.契約化微服務(wù)

上一張圖我們看到微服務(wù)靜態(tài)信息里面包含了多個(gè)Schemas,里面關(guān)聯(lián)了微服務(wù)所關(guān)聯(lián)的契約文檔,同樣是1對(duì)n的映射關(guān)系。通過手動(dòng)上傳或者代碼自動(dòng)生成文檔上傳,可以在注冊(cè)中心中查看微服務(wù)文檔,且文檔與微服務(wù)版本綁定,不允許更改。

對(duì)比客戶端開發(fā)團(tuán)隊(duì)等待后端的服務(wù)編寫完成后,才開始進(jìn)行集成開發(fā)的方式。高效方式是以文檔為基準(zhǔn),客戶端與服務(wù)端同時(shí)開發(fā),客戶端通過Mock去除對(duì)服務(wù)端的依賴。

為何要保證文檔先行?如果文檔不及時(shí)審視,那么將會(huì)出現(xiàn)非常糟糕的情況。比如不一致的命名規(guī)范,定義相似的API,擴(kuò)展能力差,任何一點(diǎn)都會(huì)大大增加研發(fā)成本。及早審視并規(guī)避十分重要,這就是為何注冊(cè)中心加入文檔上傳與查詢能力。

3.服務(wù)間依賴管理

調(diào)用層級(jí)過高將引起定位困難、性能下降的問題,合理的層級(jí)是3個(gè)服務(wù):a->b->c的調(diào)用就可以完成一次調(diào)用。彼此互相依賴的兩個(gè)服務(wù)在功能升級(jí)或者變更時(shí)要花費(fèi)更多時(shí)間來分析影響,比如ab互相依賴,一個(gè)新功能涉及2個(gè)都要更改,那怎么一起上線?

簡單的依賴有助于系統(tǒng)測試和分析,這給架構(gòu)師一個(gè)很好的審視方式,可以及時(shí)看到微服務(wù)間的依賴關(guān)系,以及時(shí)對(duì)架構(gòu)調(diào)整。

4.緩存機(jī)制

由于Service Center內(nèi)部本身是不存數(shù)據(jù)的,一旦etcd出現(xiàn)網(wǎng)絡(luò)故障的時(shí)候,就會(huì)導(dǎo)致Service Center不可用。所以Service Center引入了異步緩存機(jī)制,啟動(dòng)之初,Service Center會(huì)與etcd建立一個(gè)長連接,也就是watch。為了防止建立watch時(shí)間窗發(fā)生變化,又做了一層保護(hù),在watch之前做全量的查詢。運(yùn)行過程中查詢所得到的資源變化會(huì)緩存到Service Center本地,然后進(jìn)行異步的循環(huán)。

總的來說,我們通過了多種手段來提升微服務(wù)研發(fā)效率,減少網(wǎng)絡(luò)開銷,并通過異步緩存提升性能。這是華為云積累的能力,但交付一個(gè)云服務(wù)遠(yuǎn)遠(yuǎn)不止交付業(yè)務(wù)功能這么簡單,還要考慮微服務(wù)的安全、韌性、隱私、可運(yùn)維等能力。

我們剛才看到的只是水面之上的冰山,水面之下還隱藏著大量的基礎(chǔ)能力需要編寫。真的要達(dá)成微服務(wù)架構(gòu)模式的愿景,需要繁重的工作量。就像冰山那樣,我們要將通用能力沉淀下去,能夠復(fù)用。如果讓各個(gè)業(yè)務(wù)團(tuán)隊(duì)同時(shí)照顧冰山上下,各自開發(fā)各自的,那結(jié)果將是災(zāi)難性的,企業(yè)用人成本極高,下面讓我們展開Service Center的架構(gòu)看看。

立足Service Center架構(gòu),

“冰山下”的基礎(chǔ)能力庫編寫很重要

下面這個(gè)組件主要負(fù)責(zé)微服務(wù)的注冊(cè)發(fā)現(xiàn),提供Restful API。

它有四個(gè)主要的模塊:

服務(wù)注冊(cè)發(fā)現(xiàn):通過注冊(cè)發(fā)現(xiàn)完成服務(wù)拓?fù)涞母兄?/p>

契約發(fā)現(xiàn):每個(gè)服務(wù)具備一個(gè)契約記錄,支持多種格式如Open API,gRPC proto;

RBAC:基于角色的訪問控制,管理員可以管理賬號(hào),將賬號(hào)分發(fā)給微服務(wù)或者不同人員;

服務(wù)治理:針對(duì)微服務(wù)下發(fā)治理規(guī)則,比如重試,限流,熔斷,路由策略等。

交付一個(gè)云服務(wù)遠(yuǎn)遠(yuǎn)不止交付業(yè)務(wù)功能,而是要去全方面的考慮安全,韌性,隱私,可運(yùn)維等能力,當(dāng)然我們將部分的能力可以交給一些中間件來完成,比如網(wǎng)關(guān)。然而仍有大量功能需要自己編寫,且可以復(fù)用在每個(gè)微服務(wù)中,這就是基礎(chǔ)能力庫編寫的初衷。

配額管理:云資源按照租戶進(jìn)行配額管理,租戶所能使用的資源受到嚴(yán)格限制

告警:當(dāng)微服務(wù)發(fā)生關(guān)鍵問題時(shí)要直接上報(bào)告警系統(tǒng),而非通過云服務(wù)設(shè)置閾值等告警策略

安全:加解密證書,密碼

ID生成:ID的生成算法,用于生成微服務(wù)ID,實(shí)例ID等

多種中間件:調(diào)用過程需要被審計(jì),調(diào)用鏈追蹤,生成指標(biāo)監(jiān)控等

該項(xiàng)目已經(jīng)開源并捐獻(xiàn)給Apache,項(xiàng)目地址:

https://github.com/apache/servicecomb-service-center

對(duì)于這些能力,抽取普通的庫函數(shù)也是完全不夠用的,所以要做到如下能力:

可插拔:也就是按需在編譯期引入(受限于Go語言能力),例如配額系統(tǒng)的具體實(shí)現(xiàn)在社區(qū)是不需要的。

異構(gòu)系統(tǒng):也就是一個(gè)功能要有多種具體實(shí)現(xiàn),比如審計(jì),公有云存在一套審計(jì)系統(tǒng)需要對(duì)接,而社區(qū)則是本地日志打印。

不同的算法:解密工具、ID生成器……面對(duì)不同的交付場景或安全要求,都要通過不同實(shí)現(xiàn)來替換算法。比如ID生成可以是snowflake、UUID;加解密算法使用AES或者其他公開算法。

如何通過Go Chassis加速云服務(wù)開發(fā)?

為了滿足上面提到的需求多樣性,并且讓所有新規(guī)劃的組件受益、快速進(jìn)行開發(fā),我們需要統(tǒng)一的框架和標(biāo)準(zhǔn)來加速開發(fā),這就是華為云用Go語言編寫的開發(fā)框架Go Chassis誕生的原因。所以大家看可以看到go chassis的源碼和設(shè)計(jì)有著service center代碼的影子。

責(zé)任編輯:xj

原文標(biāo)題:掀開華為云的Go語言編程底座!有深度、有點(diǎn)難、需細(xì)品

文章出處:【微信公眾號(hào):華為開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3614

    瀏覽量

    93686
  • 華為云
    +關(guān)注

    關(guān)注

    3

    文章

    2445

    瀏覽量

    17410

原文標(biāo)題:掀開華為云的Go語言編程底座!有深度、有點(diǎn)難、需細(xì)品

文章出處:【微信號(hào):Huawei_Developer,微信公眾號(hào):華為開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    編程語言的誤區(qū)與常見問題

    誤區(qū)一:編程語言的選擇 常見問題: 初學(xué)者在選擇編程語言時(shí),往往會(huì)被市場上的熱門語言所吸引,而忽視了自己的實(shí)際需求和興趣。 一些開發(fā)者認(rèn)為某
    的頭像 發(fā)表于 11-15 09:35 ?270次閱讀

    在學(xué)習(xí)go語言的過程踩過的坑

    作為一個(gè)5年的phper,這兩年公司和個(gè)人都在順應(yīng)技術(shù)趨勢,新項(xiàng)目慢慢從php轉(zhuǎn)向了go語言,從2021年到現(xiàn)在,筆者手上也先后開發(fā)了兩個(gè)go項(xiàng)目。在學(xué)習(xí)go
    的頭像 發(fā)表于 11-11 09:22 ?159次閱讀

    MCU編程語言和開發(fā)環(huán)境介紹

    微控制器單元(Microcontroller Unit,簡稱MCU)是嵌入式系統(tǒng)的核心,廣泛應(yīng)用于各種電子產(chǎn)品中。隨著技術(shù)的發(fā)展,MCU編程語言和開發(fā)環(huán)境也在不斷進(jìn)步,以適應(yīng)不同的應(yīng)用需求。 1.
    的頭像 發(fā)表于 11-01 11:51 ?670次閱讀

    go語言如何解決并發(fā)問題

    作為一個(gè)后端開發(fā),日常工作中接觸最多的兩門語言就是PHP和GO了。無可否認(rèn),PHP確實(shí)是最好的語言(手動(dòng)狗頭哈哈),寫起來真的很舒爽,沒有任何心智負(fù)擔(dān),字符串和整型壓根就不用區(qū)分,開發(fā)速度真的是比
    的頭像 發(fā)表于 10-23 13:38 ?133次閱讀
    <b class='flag-5'>go</b><b class='flag-5'>語言</b>如何解決并發(fā)問題

    plc編程語言編程相關(guān)技巧有哪些

    PLC(可編程邏輯控制器)編程語言及相關(guān)編程技巧是工業(yè)自動(dòng)化領(lǐng)域中不可或缺的知識(shí)。 一、PLC編程語言
    的頭像 發(fā)表于 10-21 16:56 ?320次閱讀

    干貨分享:Air780E怎么連接華為

    ?眾所周知,市面上有很多云平臺(tái),阿里、騰訊、中移OneNET、華為、百度、涂鴉、TLi
    的頭像 發(fā)表于 10-15 07:30 ?285次閱讀
    <b class='flag-5'>干貨</b>分享:Air780E怎么連接<b class='flag-5'>華為</b><b class='flag-5'>云</b>?

    三十分鐘入門基礎(chǔ)Go Java小子版

    與Java功能上的對(duì)比來闡述Go語言 的基礎(chǔ)語法、面向?qū)ο?b class='flag-5'>編程、并發(fā)與錯(cuò)誤四個(gè)方面。 一、基礎(chǔ)語法 Go語言的基礎(chǔ)語法與常規(guī)的
    的頭像 發(fā)表于 08-12 14:32 ?722次閱讀
    三十分鐘入門基礎(chǔ)<b class='flag-5'>Go</b> Java小子版

    PLC的編程方式及編程語言

    在工業(yè)自動(dòng)化領(lǐng)域,PLC(Programmable Logic Controller,可編程邏輯控制器)因其強(qiáng)大的控制功能和靈活的編程方式而得到了廣泛應(yīng)用。PLC的編程方式和編程
    的頭像 發(fā)表于 06-27 14:08 ?707次閱讀

    華為自研倉頡編程語言首次對(duì)外亮相

    在科技界的星辰大海中,華為再次展現(xiàn)了其深邃的探索精神和不懈的創(chuàng)新追求。在近日舉行的華為開發(fā)者大會(huì)2024上,華為正式發(fā)布其自研的倉頡編程語言
    的頭像 發(fā)表于 06-24 15:11 ?830次閱讀

    華為自研倉頡編程語言引領(lǐng)全場景智能編程新紀(jì)元

    在科技飛速發(fā)展的今天,編程語言作為軟件開發(fā)的基石,其創(chuàng)新與突破一直備受矚目。近日,華為開發(fā)者大會(huì)論壇上傳來了一則振奮人心的消息:華為自研的倉頡編程
    的頭像 發(fā)表于 06-22 11:30 ?1019次閱讀

    abb工業(yè)機(jī)器人的編程語言是什么

    ABB工業(yè)機(jī)器人的編程語言主要是RAPID(Robot Application Programming Interface for Development),它是一種高級(jí)編程語言,專門
    的頭像 發(fā)表于 06-16 16:49 ?2504次閱讀

    PLC編程語言和C語言的區(qū)別

    在工業(yè)自動(dòng)化和計(jì)算機(jī)編程領(lǐng)域中,PLC(可編程邏輯控制器)編程語言和C語言各自扮演著重要的角色。盡管兩者都是
    的頭像 發(fā)表于 06-14 17:11 ?2783次閱讀

    華為開發(fā)者桌面全新發(fā)布 CodeArts IDE for Python,極致優(yōu)雅云原生開發(fā)體驗(yàn)

    近日,華為正式發(fā)布 CodeArts IDE for Python,這是一款內(nèi)置華為自研 Python 語言服務(wù),提供智能編程、靈活調(diào)試能
    的頭像 發(fā)表于 05-10 00:27 ?1235次閱讀
    <b class='flag-5'>華為</b><b class='flag-5'>云</b>開發(fā)者桌面全新發(fā)布 CodeArts IDE for Python,極致優(yōu)雅云原生開發(fā)體驗(yàn)

    華為正式發(fā)布CodeArts IDE for Python

    近日,華為正式發(fā)布CodeArts IDE for Python,這是一款內(nèi)置華為自主創(chuàng)新的Python語言服務(wù),提供智能編程、靈活調(diào)試能
    的頭像 發(fā)表于 05-08 14:58 ?490次閱讀

    fpga用的是什么編程語言 fpga用什么語言開發(fā)

    fpga用的是什么編程語言 FPGA(現(xiàn)場可編程邏輯門陣列)主要使用的編程語言是硬件描述語言(H
    的頭像 發(fā)表于 03-14 17:09 ?3488次閱讀
    主站蜘蛛池模板: 岛国片在线免费观看| 久久黄色免费网站| 乳女教师欲乱动漫无修版动画| 在线播放午夜理论片| 国内精品偷拍在线观看| 爽爽窝窝午夜精品一区二区| videos gratis欧美另类| 免费看的一级毛片| 中文字幕成人| 精品国产三级a| 亚洲精品色播一区二区| 国产蜜臀AV在线一区视频| 少妇厨房愉情理9伦片视频| 成人免费毛片观看| 青青视频国产依人在线| gogogo在线观看| 尿了么app| 99国内偷揿国产精品人妻| 麻豆精品传媒一二三区| 在线 日韩 欧美 国产 社区| 久久黄视频| 一个人在线观看免费高清视频在线观看| 国内2018年午夜福利5678| 亚洲第一综合天堂另类专| 国产午夜永久福利视频在线观看| 无限资源在线看影院免费观看| 国产成人在线视频播放| 天天靠天天擦天天摸| 国产精品99久久久精品无码| 我与旗袍老师疯狂床震| 国产精品视频yy9099| 亚洲 日本 中文字幕 制服| 国产亚洲精品AV片在线观看播放| 亚洲AV色香蕉一区二区三区| 国产午夜亚洲精品不卡电影| 亚洲免费高清视频| 久久re这里视频只有精品首页| 伊在香蕉国产在线视频| 乱亲女H秽乱长久久久| 97色伦亚洲自偷| 全身无赤裸裸美女网站|