在計算中,解決方案堆疊或軟件棧是一套用於創建完整平台的軟件子系統或部件,而無需額外的軟件(即應用程式「運行於」目標平台上)。[1]
舉個例子,要開發一款網絡應用程式,架構師需要定義目標作業系統、網頁伺服器、數據庫及程式語言(即棧),或可能需要定義作業系統、中間件、數據庫及應用程式。[2]通常情況下,不同的開發者負責開發不同的軟件棧部分。
從歷史角度探究,術語「解決方案棧」有時也會將硬件部分包含在內,故此詞既可描述軟件層面或硬件層面,也可包含兩者。[3][4]
部分部件或子系統的組合常被使用,因此產生了下列首字母縮略字的簡稱組合。[5]
- BCHS[6]
- OpenBSD(作業系統)
- C(程式語言)
- httpd(網頁伺服器)
- SQLite(數據庫)
- ELK[7]
- Elasticsearch(搜尋引擎)
- Logstash(事件及日誌管理工具)
- Kibana(數據可視化)
- Ganeti[8]
- Xen或KVM(虛擬機監視器)
- 搭配LVM的Linux(大容量存儲設備管理)
- 分佈式複製塊設備(存儲複製)
- Ganeti(虛擬機集群管理工具)
- Ganeti Web Manager(網頁界面)
- GLASS[9]
- GemStone(數據庫及應用程式伺服器)
- Linux(作業系統)
- Apache(網頁伺服器)
- Smalltalk(程式語言)
- Seaside(網頁框架)
- JAMstack[10]
- JavaScript(程式語言)
- 應用程式接口(應用程式接口)
- 置標語言(內容)
- LAMP[11]
- Linux(作業系統)
- Apache(網頁伺服器)
- MySQL或MariaDB(數據庫管理系統)
- Perl、PHP或Python(腳本語言)
- LAPP[12]
- Linux(作業系統)
- Apache(網頁伺服器)
- PostgreSQL(數據庫管理系統)
- Perl、PHP或Python(腳本語言)
- LEAP[13]
- Linux(作業系統)
- Eucalyptus(亞馬遜彈性計算雲的自由開源替代方案)
- AppScale(雲計算框架及Google應用服務引擎的自由開源替代方案)
- Python(程式語言)
- LEMP/LNMP[14]
- Linux(作業系統)
- Nginx(網頁伺服器)
- MySQL或MariaDB(數據庫管理系統)
- Perl、PHP或Python(腳本語言)
- LLMP[15]
- Linux(作業系統)
- Lighttpd(網頁伺服器)
- MySQL或MariaDB(數據庫管理系統)
- Perl、PHP或Python(腳本語言)
- LYME及LYCE[16]
- Linux(作業系統)
- Yaws(網頁伺服器,使用Erlang編寫)
- Mnesia或CouchDB(數據庫,使用Erlang編寫)
- Erlang(函數程式語言)
- MAMP[17]
- Mac OS X(作業系統)
- Apache(網頁伺服器)
- MySQL或MariaDB(數據庫)
- PHP、Perl或Python(程式語言)
- MARQS[11]
- Apache Mesos(節點開關)
- Akka(Actor實現)
- Riak(數據儲存)
- Apache Kafka(發信)
- Apache Spark(大數據及MapReduce)
- MEAN[11]
- MongoDB(數據庫)
- Express.js(應用程式控制器層)
- Angular.js(網頁應用呈現)
- Node.js(網頁伺服器)
- MERN[18]
- MongoDB(數據庫)
- Express.js(應用程式控制器層)
- React.js(網頁應用呈現)
- Node.js(網頁伺服器)
- MEVN[19]
- MongoDB(數據庫)
- Express.js(應用程式控制器層)
- Vue.js(網頁應用呈現)
- Node.js(網頁伺服器)
- NMP[20]
- Nginx(網頁伺服器)
- MySQL或MariaDB(數據庫)
- PHP(程式語言)
- OpenACS[21]
- Linux或Windows(作業系統)
- AOLserver(網頁伺服器)
- OpenACS(Web應用框架)
- PostgreSQL或Oracle數據庫(數據庫)
- Tcl(腳本語言)
- SMACK[11]
- Apache Spark(大數據及MapReduce)
- Apache Mesos(節點開關)
- Akka(Actor實現)
- Apache Cassandra(數據庫)
- Apache Kafka(串流處理)
- WAMP[22]
- Windows(作業系統)
- Apache(網頁伺服器)
- MySQL或MariaDB(數據庫)
- PHP、Perl或Python(程式語言)
- WIMP[23]
- Windows(作業系統)
- 互聯網資訊服務(網頁伺服器)
- MySQL或MariaDB(數據庫)
- PHP、Perl或Python(程式語言)
- WINS[24]
- Windows Server(作業系統)
- 互聯網資訊服務(網頁伺服器)
- .NET(軟件框架)
- Microsoft SQL Server(數據庫)
- WISA[25]
- Windows Server(作業系統)
- 互聯網資訊服務(網頁伺服器)
- Microsoft SQL Server(數據庫)
- ASP.NET(網頁框架)
- XAMPP[26]
- cross-platform(作業系統)
- Apache(網頁伺服器)
- MariaDB or MySQL(數據庫)
- PHP(程式語言)
- Perl(程式語言)
- XRX[27]
- XML database(諸如BaseX、eXist、MarkLogic Server一類的數據庫)
- XQuery(查詢語言)
- REST(客戶端界面)
- XForms(客戶端)
Solution stack. Computer Desktop Encyclopedia. The Computer Language Company. 2015 [5 July 2018]. (原始內容存檔於2020-07-21).
Dzonsons, K. BCHS Stack. [5 July 2018]. (原始內容存檔於2021-03-29).
Solution Stack. Idiosyncratic Knowledge. 9 July 2016 [9 July 2016]. (原始內容存檔於2020-07-21).
Coucouvanis, N. Get Your Wiki On. Mac Life. 2007, (5): 83–86 [6 July 2018]. (原始內容存檔於2020-07-21).
WAMP. Softaculous Ltd. [6 July 2018]. (原始內容存檔於2021-01-22).
McCreary, D. XRX. danmccreary.com. [6 July 2018]. (原始內容存檔於2018-07-06).