亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

把Go語言加入OpenStack開發中需要考慮哪些問題

發布時間:2022-01-18 10:19:16 來源:億速云 閱讀:150 作者:iii 欄目:大數據

這篇文章主要介紹“把Go語言加入OpenStack開發中需要考慮哪些問題”,在日常操作中,相信很多人在把Go語言加入OpenStack開發中需要考慮哪些問題問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”把Go語言加入OpenStack開發中需要考慮哪些問題”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

在新版本Newton出爐的周期中,技術評估委員會接到了一份把Go語言作為OpenStack官方開發語言的提議。隨后進行了許多討論,這里不過多贅述過程,只是談談幾點討論的結果。

決議是暫時拒絕讓Go作為官方開發語言,但表示未來可以接著討論,我覺得Go被拒絕可能有以下幾方面的原因:

1.技術委員會成員擔心增加新的語言會對社區造成的影響。會不會對社區帶來分裂,會不會形成一個孤島,會不會給新入門的人帶來額外的門檻?
2.技術委員會的一些成員認為如今對社區中的一些方面缺乏信息,研究和工作。 Go代碼如何在整個社區中共享? 認證怎么做? 消息層怎么弄? 如何產出版本? 如何維持分支的穩定?
3.提議Go語言的團隊除了自己的項目以外根本就沒做過跨項目的任務,這不由得引起了懷疑,使得許多技術委員會的質疑是否能夠順利完成。

接受一門新的語言需要哪些條件呢?

我先聲明,我所說的不代表技術委員會而僅代表我個人意見,從而方便交流,好會讓整個社區的人發表意見,無論是同意或者反對我的想法。

討論期間我最關心的是第一部分,主要是因為我覺得向“Big Tent”的遷移還沒完成。我也不知道怎么才會讓我覺得這遷移已經完成了,我能肯定的是我們在解決大的變化發生前需要解決的問題。

言歸正傳,我越來越喜歡給許多東西設定期望,尤其是一些能帶來改變的請求。把預期列出來之后,就能讓相關的人了解到他們正在向哪一個方向行進,并且找到改變可能會面臨的問題。

我對第二個問題遠沒有第一個問題那么擔心。它會對參與討論這一變化的團隊表現出很強的承諾,因為這涉及到未來對社區所有成員使用和參考的基礎知識庫。我以為第二部分的工作可能有些超綱,但并不是這樣。通過研究怎么共享代碼,怎么測試代碼,怎么輸出代碼,怎么做認證庫等,我們在設定未來實際工作中需要用到的基礎的東西。

無論如何,我上面提到的“基礎的東西”是什么呢?我將在下面不太詳盡的列表中簡單談一下:

為新語言定義分享代碼和庫的方式

Oslo Team負責維護整個OpenStack社區需要經常用到的庫。這些庫包括消息庫(oslo.messaging),i18n庫(oslo.i18n),數據庫層庫(oslo.db)等關鍵庫。

這些庫本身并不能讓Oslo組的人忙起來,它們是為了收集以前在社區中存在于許多項目中的重復性的公共代碼。這個代碼現在由Oslo移除,穩定和發布。

我覺得作為一個社區,這是無可避免的。一旦越來越多的項目使用相同的語言就會出現共享代碼的需求。 因此,我覺得我們需要更好地定義一個編程語言的代碼怎么在社區共享,這個挺重要的,哪怕是在編程語言被接受之前就很重要。

我覺得提前做一些事情不意味著將來沒事可做,我們都知道會有許多為預料到的事情和發生變化的事情,我覺得這些工作能涉及到大部分初始化的工作。

關于OpenStack基本服務的基本庫

這可能看起來像一個相當高的目標。雖然想搞清楚代碼如何共享是一個很困難的需求,但我認為這離OpenStack服務的最低要求還差很遠。

集成在生態系統中的OpenStack服務至少需要以下任意一個庫:

?keystoneauth / keystone-client
?oslo.config
?oslo.db
?oslo.messaging

如果在使用數據庫或者消息隊列抽象庫的時候沒有任何消耗的話,很可能提供的抽象層是錯的,從而導致糟糕的API。從另一個方面說,認證層是幾乎所有OpenStack服務都會用到的部分,應該可以很方便使用才對,但這不是說這件事本身很簡單。

通過處理這些庫中的任何一個,都可以進行CI(自動測試系統)作業,通過這些作業來確保新項目的基礎設置是正確。

定義可交付項如何分布

OpenStack的發布過程幾乎完全是自動化的,發布過程中涉及到的所有可交付項都是由社區自動產出并由發布團隊來管理的。最后,將每個交付項生成壓縮包。

目前使用Python編程語言(以及其他幾門編程語言)的時候 ,這些壓縮包因為只包含這些源代碼所以還很簡單。對于像Go這樣的編譯型語言,我們就得考慮壓縮包里要壓縮什么了,壓縮編譯過的二進制代碼嗎?是不是應該加入源代碼呢?如果要包含二進制代碼,是不是也應該考慮兩種不同的壓縮包呢?一個是二進制代碼,一個是源代碼。

維護穩定分支部分的工作怎么辦?

穩定的分支在社區經常被遺忘,維護這些穩定分支的團隊得到的感謝比較少。然而穩定分支的代碼運行在許多OpenStack云環境下,它們對于向后兼容的后端遷移修復非常關鍵。

每一門語言都有自己發布庫的方式,管理兼容性的方式。當為社區加入新的編程語言,與原有的其他團隊之間的合作是至關重要的。

為新的語言設置CI管道

還有就是與基礎設施組討論設置CI(自動測試系統)管道。

這個任務可能是許多工作的基礎。為了解決之前的許多任務,有必要設置CI(自動測試系統)作業,這涉及與基礎架構團隊協調。后者是至關重要的。 基礎設施團隊的參與對于添加任何新語言都至關重要,他們的反饋將在許多決策中發揮重要作用。

回顧一下為Python語言做的一些基礎工作,其實是大多數項目都需要做的事情。我希望致力于加入新語言的團隊可以做一些通用性的事情,為以后跨多個項目的時候使用。

比如會有以下幾方面的通用性工作:

?Lint checkers
?Doc builders
?Release Pipelines

到此,關于“把Go語言加入OpenStack開發中需要考慮哪些問題”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新闻| 辽阳县| 郧西县| 中山市| 韩城市| 黄冈市| 赣州市| 丰原市| 祁阳县| 行唐县| 洛阳市| 察哈| 宁波市| 天全县| 五大连池市| 图们市| 商都县| 汨罗市| 江川县| 博客| 清苑县| 怀仁县| 正蓝旗| 鲜城| 通渭县| 横山县| 加查县| 孝感市| 合江县| 五河县| 探索| 扎囊县| 邹平县| 阿鲁科尔沁旗| 射阳县| 元江| 确山县| 临海市| 南充市| 高阳县| 汉川市|