主流程: 完成buildkit配置文件構(gòu)建并啟動(dòng),Earthly config文件的構(gòu)建,環(huán)境變量的讀取,根據(jù)傳入的target參數(shù)解析執(zhí)行earthfile為buildki...
主流程: 完成buildkit配置文件構(gòu)建并啟動(dòng),Earthly config文件的構(gòu)建,環(huán)境變量的讀取,根據(jù)傳入的target參數(shù)解析執(zhí)行earthfile為buildki...
最近關(guān)注了在構(gòu)建領(lǐng)域非常有前景的兩個(gè)項(xiàng)目Buildkit和基于Buildkit的Earthly項(xiàng)目,之前在公司一直推廣和使用Drone CI項(xiàng)目,也對其有過深入的研究,當(dāng)時(shí)就...
Earthly[https://github.com/earthly/earthly]是一個(gè)現(xiàn)代化的構(gòu)建工具,用來完成容器鏡像構(gòu)建,和提供類似Makefile的源代碼構(gòu)建功能...
Drone CI提供了多種runtime,可以利用docker方式運(yùn)行,也可以通過傳統(tǒng)ssh方式運(yùn)行,也可以采用k8s作為runtime。Drone CI實(shí)現(xiàn)了一個(gè)可拓展的r...
Dapr 實(shí)際是被定義為Distributed Application Runtime(分布式的程序運(yùn)行時(shí)),為開發(fā)人員提供一個(gè)分布式的程序的開發(fā)環(huán)境,提供分布式的程序所依賴...
容器是特殊的進(jìn)程,runc則是他們的直接管理工具,contanerd則是提供對runc的管理。contanerd通過shim(墊片代理)屏蔽底層runtime實(shí)現(xiàn)(如runc...
上篇主要介紹了server端的流程,這篇的關(guān)注點(diǎn)是Client端的流程,同樣只列出核心主流程代碼。
本文以官方提供的入門的demo helloworld(https://github.com/grpc/grpc-go/tree/master/examples/hellowo...
異步任務(wù)與消息隊(duì)列 同步任務(wù):一定要等任務(wù)執(zhí)行完了,得到結(jié)果,才執(zhí)行下一個(gè)任務(wù)。 異步任務(wù):不用等任務(wù)執(zhí)行完,直接執(zhí)行下一個(gè)任務(wù)。 異步任務(wù)最簡單可以用異步線程實(shí)現(xiàn),gola...
CI/CD在代碼開發(fā)部署中占據(jù)很重要的地位,也是微服務(wù)系統(tǒng)快速集成快速部署的關(guān)鍵,當(dāng)然也是云原生生態(tài)中不可缺少的組成部分。k8s是目前最流行的云原生系統(tǒng)核心,把代碼發(fā)布到k8...
kaniko是一個(gè)通過Dockerfile構(gòu)建鏡像的工具,是OCI image標(biāo)準(zhǔn)的一個(gè)實(shí)現(xiàn)、功能單一、代碼量相對較少,了解kaniko源碼實(shí)現(xiàn)可以更好的理解容器鏡像的構(gòu)建方...
Jaeger主要用于監(jiān)視和診斷基于微服務(wù)的分布式系統(tǒng),包括: 分布式上下文傳播、分布式事務(wù)監(jiān)控、根本原因分析、服務(wù)依賴性分析、性能/延遲優(yōu)化。用于程序間(服務(wù)間)軌跡追蹤、行...
什么是ElasticSearch 官方定義是ElasticSearch是一個(gè)基于Lucene library的分布式搜索引擎。ElasticSearch的開發(fā)者Shay Ba...
什么是 ETCD 官方定義為:Distributed reliable key-value store for the most critical data of a dis...
引言 日志對于程序非常重要,日志對于定位問題,數(shù)據(jù)分析有著十分強(qiáng)大的作用,是程序員和運(yùn)維人員重要的工具。線上90%以上Bug都是依靠程序日志輸出定位到。 日志存儲(chǔ)選擇 日志數(shù)...
什么是Service Mesh Service Mesh被譯作服務(wù)網(wǎng)格,實(shí)質(zhì)是一種網(wǎng)絡(luò)代理服務(wù)。網(wǎng)絡(luò)代理代理就是中介,可以對請求進(jìn)行攔截修改,最簡單的例子就是電信運(yùn)營商在流量...
程序不僅僅包括代碼本身,還包括整個(gè)代碼的運(yùn)行環(huán)境,如構(gòu)建的可運(yùn)行鏡像docker環(huán)境,包含程序所依賴各種服務(wù)的k8s部署整體定義,所依賴的CI/CD環(huán)境。不但有代碼而且要有一...
采用goroutine的方式使多線程編寫更加容易、代碼可讀性更好,可以簡單理解為訂閱者發(fā)布者模式,設(shè)計(jì)類似于unix管道通信模式, 對于消息隊(duì)列編程有了解的話很容易理解gor...
引子 web頁面在服務(wù)器端進(jìn)行渲染,需要根據(jù)模板和數(shù)據(jù)庫數(shù)據(jù)經(jīng)過運(yùn)算生成和渲染出最終的頁面,這些運(yùn)算和渲染過程會(huì)耗費(fèi)大量時(shí)間和資源,如果將這些運(yùn)算結(jié)果緩存起來放在內(nèi)存中,下次...