翼輝在最新發(fā)布的 SylixOS 3.0 版本中已完成對 Go 語言的適配,目前 SylixOS 是全球首個完整支持 Go 語言的大型實時操作系統(tǒng),二者的結(jié)合將會給 SylixOS 用戶帶來全新的開發(fā)體驗。
Go 語言的特點
Go 語言也稱 Golang,是一門開源編程語言,其特點是兼具編譯型語言的高性能以及動態(tài)語言的開發(fā)效率。
Go 語言是一門編譯型語言,繼承了編譯型語言的高性能、類型安全以及對計算機(jī)底層的高可控性等特點,其運(yùn)行性能可與C/C++媲美。Go 語言自帶編譯器,安裝使用極其方便,編譯效率高,能夠輕松實現(xiàn)跨平臺交叉編譯。Go 語言編譯器采用靜態(tài)鏈接,因此 Go 應(yīng)用程序不依賴任何第三方庫,部署極其方便,對運(yùn)行環(huán)境的依賴很低。
Go 語言同時具備動態(tài)語言的諸多優(yōu)勢,如支持自動垃圾回收、模塊化管理,集成豐富的標(biāo)準(zhǔn)庫等。Go 語言產(chǎn)生于互聯(lián)網(wǎng)時代,對互聯(lián)網(wǎng)與云計算有著天然的親和性,目前已成為最流行的互聯(lián)網(wǎng)與云計算開發(fā)語言之一。Go 原生支持高并發(fā),無須引入第三方庫,不依賴開發(fā)者的編程技巧和開發(fā)經(jīng)驗。Go 的高并發(fā)和網(wǎng)絡(luò)特性以及高度的可移植性使其非常適合構(gòu)建云原生和分布式應(yīng)用,事實上,Go 已被用于構(gòu)建云原生計算的多個基石,包括 Docker 和 Kubernetes。
全新的 SylixOS 技術(shù)棧
SylixOS 是全球頂尖的大型實時操作系統(tǒng),現(xiàn)已大批量部署運(yùn)行在各行各業(yè)的嵌入式設(shè)備上。長久以來嵌入式與互聯(lián)網(wǎng)就如同IT的兩極,其工程師技術(shù)棧大相徑庭,無法互通。而今這一現(xiàn)狀將徹底改變,依托于 SylixOS 對 Go 和 JavaScript 等業(yè)務(wù)開發(fā)語言的完備支持,翼輝將互聯(lián)網(wǎng)與云計算技術(shù)棧引入到嵌入式領(lǐng)域,實現(xiàn)開發(fā)模式的巨大升級。先進(jìn)的開發(fā)方法可以實現(xiàn)更高的開發(fā)效率、更靈活的軟件設(shè)計、更豐富的產(chǎn)品功能、更少的軟件缺陷以及更加可控的產(chǎn)品生命周期管理方法。同時由于 Go 語言具備輕量化、高性能等特點,嵌入式應(yīng)用不會喪失原有的高效率、高可靠性與高安全性。
目前 SylixOS 支持 Go 運(yùn)行時和標(biāo)準(zhǔn)庫的所有功能,Go 內(nèi)置的 7000 多個功能測試用例全部測試通過。翼輝發(fā)布與社區(qū)版 Go 完全兼容的工具包,Go 語言工程師可以專注業(yè)務(wù)開發(fā),無需關(guān)心操作系統(tǒng)類型。未來 SylixOS 版 Go 及其開發(fā)工具也將合并到 Go 語言主線。
下面用一個簡單的高并發(fā) Web 服務(wù)器實例展示 Go 語言在 SylixOS 中的運(yùn)行情況。

以上代碼可以看出,Go 語言代碼非常簡練,功能強(qiáng)大的標(biāo)準(zhǔn)庫以及輕量級協(xié)程使得開發(fā)人員無需考慮底層 Web 通信以及高并發(fā)實現(xiàn)。下圖展示 Go 應(yīng)用程序的編譯以及在 SylixOS 下的運(yùn)行效果。

Go 語言 SylixOS 開發(fā)入門教程可參考翼輝“任務(wù)關(guān)鍵型云原生”文檔《Golang開發(fā)示例》 章節(jié)。
ECS 容器生態(tài)全面升級
SylixOS ECS 實時容器是基于 SylixOS 打造的新一代輕量級實時容器技術(shù),是翼輝面向 “任務(wù)關(guān)鍵型云原生架構(gòu)” 推出的系列產(chǎn)品之一。相比 Docker 容器,ECS容器具備極輕量化、啟動速度快、高實時性等特點。
SylixOS 對 Go 語言的支持意味著Go 應(yīng)用可以運(yùn)行在 ECS 容器中,所有 Go 語言編寫的云原生應(yīng)用都可以平滑遷移到 ECS 容器,豐富的 Go 語言生態(tài)能夠幫助 ECS 容器用戶快速搭建穩(wěn)定高效的業(yè)務(wù)系統(tǒng),提高業(yè)務(wù)開發(fā)效率。

ECS 容器啟動速度比 Docker 容器快10倍以上,磁盤空間消耗以及運(yùn)行內(nèi)存消耗低于 Docker 的10%,也就是說同樣的硬件資源將能夠承載更多的容器應(yīng)用,并發(fā)運(yùn)行更多服務(wù)。ECS 容器的特點意味著其相比 Docker 容器更加適合嵌入式系統(tǒng)。Go 的加入能夠使 ECS 容器既擁有輕量、高效、高實時性等優(yōu)點,又能支撐先進(jìn)高效的業(yè)務(wù)開發(fā)技術(shù)體系。
Go 應(yīng)用在 ECS 容器中的部署和打包可參考翼輝“任務(wù)關(guān)鍵型云原生”文檔《打包 Golang 微服務(wù)》章節(jié)。
VSOA
VSOA 是?個輕量級的適用于任務(wù)關(guān)鍵領(lǐng)域的微服務(wù)架構(gòu),其主要特點為架構(gòu)簡潔、資源占用小、服務(wù)響應(yīng)速度快、支持多種編程語言、多處理器架構(gòu)及多操作系統(tǒng)平臺。VSOA 目前支持 JavaScript、C/C++、Java 開發(fā)語言,隨著 SylixOS 對 Go語言的全面支持,翼輝將發(fā)布 Go 語言版 VSOA。使用 Go 語言開發(fā)的微服務(wù)通過 VSOA 可以方便地接入業(yè)務(wù)系統(tǒng),Go 開發(fā)者只需專注業(yè)務(wù)邏輯開發(fā),無需關(guān)心平臺和運(yùn)行環(huán)境差異。VSOA 豐富的開發(fā)語言支持及統(tǒng)一的通信協(xié)議使得用戶可以最大程度集成現(xiàn)有技術(shù)組件,構(gòu)建更加多元化的云原生業(yè)務(wù)系統(tǒng)。
VSOA 開發(fā)詳細(xì)介紹可參考翼輝“任務(wù)關(guān)鍵型云原生”文檔《基礎(chǔ)開發(fā)》章節(jié)。
RealEvo 6.0
RealEvo 6.0 將在近期發(fā)布,其將集成 SylixOS 3.0 內(nèi)核,除新增 Go 語言支持外,RealEvo 6.0 還將新增多體系架構(gòu)編譯、SDK 制作等新功能,支持更豐富的調(diào)試與圖形化分析工具,更容易分析整個系統(tǒng)各方面性能指標(biāo)與潛在的性能瓶頸,同時支持更多的基礎(chǔ)組件。RealEvo 6.0 將成為翼輝發(fā)布的最強(qiáng)技術(shù)基座!
未來展望
隨著 IT 技術(shù)的高速發(fā)展,分布式計算、云原生等技術(shù)在開發(fā)中被廣泛使用,嵌入式等設(shè)備開發(fā)領(lǐng)域也急需進(jìn)行技術(shù)棧升級,以提高開發(fā)效率,降低開發(fā)難度。翼輝圍繞任務(wù)關(guān)鍵型云原生架構(gòu)提供了整套產(chǎn)品方案,包括 Go語言在內(nèi)的多種開發(fā)語言支持將大大提速任務(wù)關(guān)鍵型云原生系列產(chǎn)品的推廣,進(jìn)而助力整個產(chǎn)業(yè)的技術(shù)升級。
編輯:黃飛
?
電子發(fā)燒友App



















評論