在創(chuàng)建軟件即服務(wù)現(xiàn)代云手機(jī)APP軟件的過(guò)程中使用了十二因素手機(jī)APP軟件開(kāi)發(fā)的方法,可以最大限度地減少分歧,并且可以在不進(jìn)行重大更改的情況下進(jìn)行擴(kuò)展。它是一組最佳實(shí)踐,旨在確保最終產(chǎn)品易于橫向擴(kuò)展。
作為跟蹤數(shù)據(jù)庫(kù)的副本的單個(gè) repo 或一組 repo 共享一個(gè)根提交,該根提交在 Git 中分散 - 一個(gè)版本控制系統(tǒng)。基于十二因素方法的手機(jī)APP軟件有一個(gè)代碼庫(kù),但有許多部署——手機(jī)APP軟件的運(yùn)行實(shí)例。這意味著該手機(jī)APP軟件可以在生產(chǎn)、暫存和本地開(kāi)發(fā)環(huán)境中運(yùn)行。
支持庫(kù)(如 Ruby 的 gems 或 Nodejs 的 npm)通常都有打包系統(tǒng),可以在安裝過(guò)程中使用。這些庫(kù)以后可以在系統(tǒng)范圍內(nèi)安裝。在該方法中,手機(jī)APP軟件從不依賴于隱式系統(tǒng)范圍的包。它通過(guò)依賴聲明清單聲明依賴,并使用隔離工具來(lái)確保沒(méi)有隱式依賴“逃逸”。這些手機(jī)APP軟件也不依賴于任何系統(tǒng)工具的存在。
在配置的情況下,該方法需要將代碼與配置分開(kāi),這與代碼相反,這在部署中會(huì)有所不同。這可以通過(guò)使代碼庫(kù)成為開(kāi)源來(lái)輕松檢查,而無(wú)需犧牲任何憑據(jù)。更重要的是,使用這種方法開(kāi)發(fā)的手機(jī)APP軟件將配置存儲(chǔ)在環(huán)境變量中,使其易于修改而無(wú)需更改代碼。
在這種開(kāi)發(fā)方法中,手機(jī)APP軟件代碼不區(qū)分本地服務(wù)和第三方服務(wù)。這意味著手機(jī)APP軟件的部署可以隨時(shí)將本地?cái)?shù)據(jù)庫(kù)與第三方數(shù)據(jù)庫(kù)交換,而無(wú)需對(duì)代碼進(jìn)行任何更改。多虧了這一點(diǎn),當(dāng)遇到問(wèn)題時(shí),可以分離當(dāng)前的生產(chǎn)數(shù)據(jù)庫(kù)并附加一個(gè)新的數(shù)據(jù)庫(kù),而無(wú)需更改代碼。
十二因素手機(jī)APP軟件代碼庫(kù)可以分三個(gè)階段轉(zhuǎn)換為部署:構(gòu)建、發(fā)布和運(yùn)行階段。這種方法嚴(yán)格地將這些階段分開(kāi),因?yàn)闊o(wú)法在運(yùn)行時(shí)對(duì)代碼進(jìn)行更改。
流程的特點(diǎn)是無(wú)共享架構(gòu)并且是無(wú)狀態(tài)的。要持久化的數(shù)據(jù)必須存儲(chǔ)在數(shù)據(jù)庫(kù)中。使用所討論的方法開(kāi)發(fā)的手機(jī)APP軟件從不假設(shè)存儲(chǔ)在磁盤或內(nèi)存中的內(nèi)容稍后將可用。
遵循十二因素規(guī)則的手機(jī)APP軟件是自包含的,這意味著它們不依賴運(yùn)行時(shí)注入來(lái)創(chuàng)建面向 Web 的服務(wù)。例如,通過(guò)綁定到端口并確認(rèn)來(lái)自給定端口的請(qǐng)求,將 HTTP 作為服務(wù)導(dǎo)出。因此,應(yīng)該使用端口綁定來(lái)直接通過(guò)端口公開(kāi)和授予訪問(wèn)權(quán)限。
該方法表明,這些流程是一等公民。多虧了這一點(diǎn),開(kāi)發(fā)人員可以將各種類型的工作分配給流程類型。開(kāi)發(fā)的手機(jī)APP軟件的本質(zhì)是它們是水平縮放的,而不是垂直縮放的。這意味著添加更多并發(fā)性很容易執(zhí)行。
這些過(guò)程是一次性的,這意味著它們可以在任何給定時(shí)間停止或啟動(dòng)。多虧了這一點(diǎn),該手機(jī)APP軟件確保了快速和彈性的擴(kuò)展以及快速部署或配置更改。另一方面,關(guān)閉應(yīng)該是優(yōu)雅的,以最大限度地提高魯棒性。
生產(chǎn)和部署之間的差距是確保十二因素手機(jī)APP軟件持續(xù)部署的原因。生產(chǎn)、登臺(tái)和開(kāi)發(fā)環(huán)境應(yīng)盡可能相似。使用相同的支持服務(wù)可確保完全兼容。
日志應(yīng)被視為事件流,不應(yīng)處理手機(jī)APP軟件輸出流或其路由的存儲(chǔ)。手機(jī)APP軟件不應(yīng)寫入或管理日志文件。
一次性管理進(jìn)程以及手機(jī)APP軟件的長(zhǎng)時(shí)間運(yùn)行進(jìn)程應(yīng)在同一環(huán)境中運(yùn)行。他們使用相同的配置和代碼庫(kù)。
十二因素手機(jī)APP軟件開(kāi)發(fā)方法是一組很好的最佳實(shí)踐,可以創(chuàng)建可以輕松橫向擴(kuò)展的產(chǎn)品。遵循這種方法可確保手機(jī)APP軟件可以作為服務(wù)交付,并且可靠、快速且可移植。更重要的是,十二因素手機(jī)APP軟件可以用任何語(yǔ)言編寫。
接入ChatGPT系統(tǒng)多少錢?
APP如何接入ChatGPT系
小程序開(kāi)發(fā)費(fèi)用,開(kāi)發(fā)小程序需要
怎么選擇一家靠譜的小程序制作公
app制作流程-策略|評(píng)估規(guī)劃
開(kāi)發(fā)一個(gè)app多少錢?
客服QQ:121446412 聯(lián)系電話:15321250321
京ICP備17026149號(hào)-1版權(quán)所有@2011-2022 北京天品互聯(lián)科技有限公司 公司地址:北京市海淀區(qū)上地南路科貿(mào)大廈408