目錄
前言:
一、中間件概述
1.1 中間件在軟件層次中的位置
1.2 什么是中間件
1.3 為什么需要中間件
1.4 中間件應用場合(應用程序不用的底層需求:計算、存儲、通信)
1.5 中間件分類 - 按內容分
二、嵌入式系統(tǒng)的中間件
2.1 概述
2.2 案例
三、分布式系統(tǒng)的中間件
3.1 概述
3.2 案例
四、云平臺中間件
4.1 概述
4.2 案例
前言:
計算機就干三件事:計算、存儲、通信。
中間件基本上就是圍著著這三件事展開的,使得應用程序可以方便、高效地完成上述三件事。
一、中間件概述
1.1 中間件在軟件層次中的位置
中間件與數(shù)據(jù)庫、云計算平臺處于相同的位置,位于行業(yè)應用程序與操作系統(tǒng)之間。
當然,也有專門的數(shù)據(jù)庫中間件,這時候,中間件就在數(shù)據(jù)庫之上了。
1.2 什么是中間件
中間件(middleware)是指位于應用程序和操作系統(tǒng)之間的一層軟件組件或服務。它是軟件系統(tǒng)中的一種抽象層,用于處理應用程序與底層系統(tǒng)之間的交互。中間件可以提供諸如請求轉發(fā)、身份驗證、日志記錄、緩存、錯誤處理等功能。
在軟件開發(fā)中,中間件常用于構建和管理、復雜的系統(tǒng)架構。它可以用于連接不同的應用程序、服務和組件,實現(xiàn)數(shù)據(jù)傳輸、消息傳遞和功能擴展等操作。中間件的設計目標是提高系統(tǒng)的可擴展性、靈活性和可維護性,同時減少不同組件之間的耦合度。常見的中間件包括Web服務器中的HTTP中間件和消息隊列中的消息中間件。
1.3 為什么需要中間件
中間件的存在有以下幾個主要原因:
-
抽象底層細節(jié):中間件可以為開發(fā)人員提供一個抽象的接口,隱藏底層系統(tǒng)的復雜性。它允許開發(fā)人員專注于業(yè)務(應用程序)邏輯的實現(xiàn),而不必關心底層的具體實現(xiàn)細節(jié)。
-
實現(xiàn)功能擴展:中間件可以添加額外的功能和特性,對應用程序進行擴展。通過引入中間件,開發(fā)人員可以在不修改核心代碼的情況下,為應用程序添加新的功能模塊,如安全認證、日志記錄、緩存等。
-
提供可重用性和模塊化:中間件的設計追求可重用性和模塊化,可以在不同的應用程序中共享和復用。這樣可以減少重復開發(fā)的工作量,提高開發(fā)效率。
-
簡化系統(tǒng)集成:中間件可以作為應用程序和系統(tǒng)之間的橋梁,幫助不同的組件和服務進行集成。它提供一種通用的方式來處理數(shù)據(jù)傳輸、消息傳遞和協(xié)議轉換等,簡化了系統(tǒng)之間的交互和集成工作。
-
方便應用程序的移植:
中間件可以幫助方便應用程序的移植。通過使用中間件,開發(fā)人員可以將應用程序與底層系統(tǒng)之間的交互和依賴進行解耦,從而使得應用程序更具可移植性。
中間件提供了一個統(tǒng)一的接口層,將應用程序與特定的底層系統(tǒng)或硬件解耦。這使得應用程序可以在不同的平臺、操作系統(tǒng)或硬件環(huán)境中進行移植,而不需要對核心業(yè)務邏輯進行重寫或修改。
通過使用中間件,開發(fā)人員可以在不同的系統(tǒng)中共享和復用代碼。中間件提供了抽象的功能和服務,使得應用程序的開發(fā)人員可以專注于業(yè)務邏輯的實現(xiàn),而不需要關注底層系統(tǒng)的差異。這樣,當應用程序需要在不同的環(huán)境中進行移植時,只需要修改中間件的配置或適配層,而不需要對應用程序本身進行大規(guī)模的修改。
因此,中間件在應用程序移植方面起到了橋梁的作用,降低了移植的難度和工作量,提高了應用程序的可移植性和可擴展性。
????????綜上所述,中間件的存在使得應用程序開發(fā)更加高效和靈活,同時提供了模塊化和可擴展的架構設計,促進了系統(tǒng)的可維護性和可重用性。
1.4 中間件應用場合(應用程序不用的底層需求:計算、存儲、通信)
中間件在軟件開發(fā)中有廣泛的應用場景,不同的應用程序,不同的場景,如下所示:
-
Web應用程序開發(fā):在Web應用開發(fā)中,中間件常用于處理HTTP請求和響應,實現(xiàn)請求的路由、身份驗證、會話管理、日志記錄等功能。使得Web應用程序員只需要關注Web的業(yè)務邏輯部分,不需要關注HTTP協(xié)議通信。
-
應用程序數(shù)據(jù)緩存管理:中間件在應用層數(shù)據(jù)的緩存管理中扮演著關鍵角色,用于實現(xiàn)應用層緩存數(shù)據(jù)的存儲、讀取和更新,提高系統(tǒng)性能和響應速度。
-
應用程序消息隊列(通信):中間件在消息隊列系統(tǒng)中起著重要的作用,用于處理消息的發(fā)送、接收和傳遞。它可以提供可靠的消息傳遞、消息隊列管理、消息過濾和路由等功能。
-
應用程序數(shù)據(jù)庫訪問:中間件可用于數(shù)據(jù)庫訪問的抽象層,封裝底層數(shù)據(jù)庫的細節(jié),提供統(tǒng)一的接口和功能,簡化數(shù)據(jù)庫訪問和操作。
-
應用程序微服務治理:中間件在微服務架構中的服務治理中扮演重要角色,負責服務注冊、發(fā)現(xiàn)、負載均衡和容錯機制的實現(xiàn)。即為微服務應用程序建立一套微服務的平臺。
-
安全性和身份驗證:中間件可以用于實現(xiàn)安全性和身份驗證相關的功能,包括訪問控制、用戶認證、權限管理等。
-
日志和監(jiān)測:中間件常用于日志記錄和系統(tǒng)監(jiān)測,幫助開發(fā)人員跟蹤和分析應用程序的運行狀態(tài)和性能。
總的來說,中間件可以在需要處理請求、處理消息、管理數(shù)據(jù)、提供抽象層、實現(xiàn)安全性和日志記錄等方面發(fā)揮作用。它們在軟件開發(fā)中的應用場景非常廣泛,可以提供各種功能和服務,幫助開發(fā)人員構建可擴展、靈活和可維護的系統(tǒng)架構。
1.5 中間件分類 - 按內容分
按照內容的分類,中間件可以分為以下幾種類型:
-
HTTP中間件:用于處理Web應用程序中的HTTP請求和響應。它可以用于路由請求、實現(xiàn)身份驗證、處理錯誤、日志記錄等功能。常見的HTTP中間件如Express、Koa等。
-
消息中間件:用于處理消息傳遞和消息隊列。它可以負責消息的發(fā)送、接收和傳遞,并提供消息的可靠性保證和消息過濾、路由等功能。常見的消息中間件包括RabbitMQ、Apache Kafka等。
-
數(shù)據(jù)庫中間件:用于封裝數(shù)據(jù)庫的訪問和操作。它提供了統(tǒng)一的接口和功能,簡化了數(shù)據(jù)庫訪問的操作,并可以實現(xiàn)數(shù)據(jù)庫的連接池管理、數(shù)據(jù)緩存等功能。常見的數(shù)據(jù)庫中間件如Sequelize、Hibernate等。
-
緩存中間件:用于處理緩存數(shù)據(jù)的存儲和讀取。它可以將數(shù)據(jù)緩存到內存中,以提高數(shù)據(jù)的讀取速度和系統(tǒng)的性能。常見的緩存中間件包括Redis、Memcached等。
-
認證和授權中間件:用于實現(xiàn)安全性和身份驗證相關的功能。它可以處理用戶認證、訪問控制、權限管理等,確保只有授權用戶可以訪問受保護的資源。常見的認證和授權中間件如Passport、JWT(JSON Web Tokens)等。
-
日志中間件:用于記錄應用程序的日志信息。它可以記錄應用程序的運行狀態(tài)、錯誤信息、請求/響應日志等,幫助開發(fā)人員進行故障排查和系統(tǒng)監(jiān)測。常見的日志中間件如Winston、log4j等。
這些都是按照中間件的內容進行分類的常見類型,每種類型的中間件都有其特定的功能和應用場景。根據(jù)實際需求,開發(fā)人員可以選擇適合的中間件來滿足系統(tǒng)的需求。
二、嵌入式系統(tǒng)的中間件
2.1 概述
嵌入式系統(tǒng)中的中間件提供了多種功能,用于簡化和增強嵌入式系統(tǒng)的開發(fā)和運行。
以下是一些常見的嵌入式系統(tǒng)中間件功能的描述:
-
實時調度:嵌入式系統(tǒng)通常需要處理實時任務,實時調度功能可以管理和調度多個任務,并確保任務按時執(zhí)行。它提供了任務優(yōu)先級、任務調度算法、任務間通信等功能,以滿足實時要求。
-
設備驅動支持:嵌入式系統(tǒng)需要與底層硬件設備進行交互,設備驅動支持功能提供了訪問和控制硬件設備的接口。它包括設備初始化、讀寫寄存器、處理中斷等功能。
-
文件系統(tǒng):嵌入式系統(tǒng)中的文件系統(tǒng)用于管理和操作存儲介質上的數(shù)據(jù),如閃存、SD卡等。文件系統(tǒng)提供了讀寫文件、目錄管理、文件權限等功能,以方便應用程序對數(shù)據(jù)進行管理。
-
網絡通信:嵌入式系統(tǒng)中需要與其他設備或網絡進行通信,網絡通信功能提供了各種協(xié)議的支持,如TCP/IP、UDP、HTTP等。它允許嵌入式系統(tǒng)連接到互聯(lián)網,實現(xiàn)數(shù)據(jù)傳輸和遠程控制。
-
圖形用戶界面:對于有GUI需求的嵌入式系統(tǒng),GUI中間件提供了界面元素的創(chuàng)建、顯示和事件處理功能。它可以實現(xiàn)圖形界面的交互,向用戶展示信息和接收用戶輸入。
-
數(shù)據(jù)庫支持:某些嵌入式應用需要對數(shù)據(jù)進行存儲和管理,數(shù)據(jù)庫支持功能提供了輕量級、嵌入式的數(shù)據(jù)庫管理系統(tǒng)。它可以提供數(shù)據(jù)的持久化存儲和高效的數(shù)據(jù)訪問。
-
安全支持:安全是嵌入式系統(tǒng)的重要考慮因素,安全支持功能提供了數(shù)據(jù)加密、身份驗證、訪問控制等安全相關的功能。它可以保護系統(tǒng)和數(shù)據(jù)的安全性,防止未經授權的訪問和數(shù)據(jù)泄露。
-
系統(tǒng)監(jiān)測與調試:嵌入式系統(tǒng)的調試和監(jiān)測是開發(fā)和維護的重要環(huán)節(jié),此類功能提供了系統(tǒng)狀態(tài)的監(jiān)測、日志記錄和錯誤調試等工具,幫助開發(fā)人員定位和解決問題。
????????這些功能是嵌入式系統(tǒng)中間件的常見特征,不同的中間件提供不同的功能組合,開發(fā)人員可以根據(jù)具體需求選擇適合的中間件來提高開發(fā)效率和系統(tǒng)性能。
2.2 案例
嵌入式中間件是在嵌入式系統(tǒng)中提供的軟件解決方案,用于支持嵌入式設備的功能和應用程序。以下是一些常見的嵌入式中間件案例:
-
MQTT (Message Queuing Telemetry Transport):MQTT 是一種輕量級的通信協(xié)議,用于在物聯(lián)網中傳輸小型數(shù)據(jù)包。它提供了可靠的消息傳遞和發(fā)布-訂閱機制,適用于低帶寬、高延遲和不穩(wěn)定網絡環(huán)境。
-
FreeRTOS:FreeRTOS 是一種開源的實時操作系統(tǒng) (RTOS),專門設計用于嵌入式系統(tǒng)。它提供了輕量級的任務調度、內存管理、通信和同步機制,適用于資源有限的嵌入式設備。
-
uC/OS:uC/OS (Microcontroller Operating System) 是一種商業(yè)的實時操作系統(tǒng),也是一個常用的嵌入式中間件。它提供了豐富的操作系統(tǒng)服務和通信機制,適用于多種硬件平臺和應用場景。
-
SQLite:SQLite 是一個輕量級的關系型數(shù)據(jù)庫引擎,用于在嵌入式系統(tǒng)中存儲和管理數(shù)據(jù)。它提供了標準的 SQL 查詢和事務支持,適用于嵌入式設備的數(shù)據(jù)存儲和處理需求。
-
lwIP (lightweight IP):lwIP 是一個輕量級的 TCP/IP 協(xié)議棧,用于在嵌入式系統(tǒng)中提供網絡通信功能。它具有較低的資源消耗,適用于資源有限的嵌入式設備。
-
embOS:embOS 是一種商業(yè)的實時操作系統(tǒng),專門設計用于嵌入式系統(tǒng)的實時任務調度和資源管理。它提供了高效的任務切換和中斷處理機制,適用于實時性要求較高的嵌入式應用程序。
-
Mbed OS:Mbed OS 是一種開源的嵌入式操作系統(tǒng),用于支持廣泛的嵌入式設備和物聯(lián)網應用。它提供了豐富的接口和庫,簡化了嵌入式開發(fā)的過程,適用于快速構建和部署嵌入式系統(tǒng)。
這些嵌入式中間件案例涵蓋了嵌入式系統(tǒng)中的通信、操作系統(tǒng)、數(shù)據(jù)庫和網絡功能等多個方面,幫助開發(fā)人員輕松構建和管理嵌入式設備和應用程序。根據(jù)具體的需求和嵌入式設備的特點,選擇適合的嵌入式中間件可以提高開發(fā)效率、降低系統(tǒng)資源消耗,并增強嵌入式系統(tǒng)的功能和性能。
三、分布式系統(tǒng)的中間件
3.1 概述
在分布式系統(tǒng)中,中間件起著連接、通信和協(xié)調不同節(jié)點之間的作用。以下是一些常見的分布式系統(tǒng)中間件:
-
消息中間件:用于在分布式系統(tǒng)中進行異步通信和消息傳遞。它提供了可靠的消息傳遞機制,支持發(fā)布-訂閱模式和點對點模式。常見的消息中間件包括Apache Kafka、RabbitMQ、ActiveMQ等。
-
分布式緩存中間件:用于跨節(jié)點共享和管理數(shù)據(jù)緩存。它可以將數(shù)據(jù)存儲在分布式的內存中,加速數(shù)據(jù)的讀寫訪問,并減輕后端數(shù)據(jù)庫的壓力。常見的分布式緩存中間件有Redis、Memcached、Hazelcast等。
-
分布式數(shù)據(jù)庫中間件:用于在分布式環(huán)境下存儲和訪問數(shù)據(jù)。它提供了分布式數(shù)據(jù)存儲、數(shù)據(jù)復制、負載均衡等功能,以實現(xiàn)高可用性和可伸縮性。常見的分布式數(shù)據(jù)庫中間件包括MySQL Cluster、Citus、TiDB等。
-
分布式文件系統(tǒng)中間件:用于在分布式系統(tǒng)中管理文件和存儲。它提供了分布式文件存儲、文件共享、數(shù)據(jù)復制和數(shù)據(jù)冗余等功能。常見的分布式文件系統(tǒng)中間件包括HDFS、GlusterFS、Ceph等。
-
服務注冊與發(fā)現(xiàn)中間件:用于在分布式系統(tǒng)中進行服務的注冊和發(fā)現(xiàn)。它提供了服務的注冊、注銷和查詢功能,以便讓不同的服務能夠相互發(fā)現(xiàn)和通信。常見的服務注冊與發(fā)現(xiàn)中間件有Netflix Eureka、Consul、etcd等。
-
分布式事務中間件:用于管理分布式系統(tǒng)中的事務處理。它可以確保多個節(jié)點之間的一致性和隔離性,并提供分布式事務的提交和回滾機制。常見的分布式事務中間件包括Atomikos、Bitronix、Seata等。
-
分布式任務調度中間件:用于在分布式環(huán)境下管理和調度任務。它可以將任務分配給不同的節(jié)點,并監(jiān)控任務的執(zhí)行情況,以實現(xiàn)任務的并行化和負載均衡。常見的分布式任務調度中間件有Apache Mesos、Kubernetes、Celery等。
這些中間件可以幫助構建分布式系統(tǒng),提供通信、數(shù)據(jù)管理和協(xié)調等關鍵功能,以實現(xiàn)分布式系統(tǒng)的可擴展性、可靠性和高性能。開發(fā)人員可以根據(jù)具體的需求選擇適合的中間件來構建和管理分布式系統(tǒng)。
3.2 案例
分布式系統(tǒng)中的中間件在實際應用中起著重要的作用。以下是一些分布式系統(tǒng)中間件的案例:
-
Apache Kafka:Kafka是一個高吞吐量的分布式消息中間件,并廣泛應用于實時數(shù)據(jù)流處理、日志收集和消息隊列等場景。它可以處理大規(guī)模的消息流,提供可靠的消息傳遞和持久化存儲。
-
Redis:Redis是一個開源的分布式緩存中間件,它提供了高性能的鍵值存儲,并支持多種數(shù)據(jù)結構和實時數(shù)據(jù)處理。Redis被廣泛應用于緩存加速、會話管理、實時分析和排行榜等場景。
-
MySQL Cluster:MySQL Cluster是MySQL數(shù)據(jù)庫的分布式版本,它提供高可用性、可伸縮性和實時性能。MySQL Cluster使用分布式架構,將數(shù)據(jù)劃分為多個節(jié)點,并支持復制和故障轉移,從而提供了高可靠性和數(shù)據(jù)一致性。
-
Hadoop Distributed File System (HDFS):HDFS是Apache Hadoop的分布式文件系統(tǒng),用于存儲和處理大規(guī)模數(shù)據(jù)。HDFS可以跨多個節(jié)點存儲數(shù)據(jù),并通過數(shù)據(jù)切塊和復制機制提供容錯和高可用性。
-
Netflix Eureka:Eureka是Netflix開源的服務注冊與發(fā)現(xiàn)中間件,用于構建容錯和可伸縮的分布式系統(tǒng)。Eureka允許服務在分布式環(huán)境中注冊和發(fā)現(xiàn),并提供負載均衡和故障轉移等功能。
-
Apache Mesos:Mesos是一個分布式系統(tǒng)的資源管理和作業(yè)調度平臺。它可以將集群中的資源按需分配給各個任務,并實現(xiàn)任務的高效調度和執(zhí)行。Mesos被廣泛用于大規(guī)模的數(shù)據(jù)處理和容器化部署。
-
Seata:Seata是一個開源的分布式事務中間件,用于保證分布式系統(tǒng)中多個數(shù)據(jù)庫操作的一致性。Seata使用基于資源的事務管理模式,支持多種數(shù)據(jù)庫和分布式事務模型,如TCC、SAGA和AT模式。
這些中間件在各個行業(yè)和應用領域都有廣泛的應用,幫助構建高性能、可靠和可擴展的分布式系統(tǒng)。它們有助于解決分布式環(huán)境下的通信、數(shù)據(jù)管理、協(xié)調和一致性等挑戰(zhàn),提升了分布式系統(tǒng)的可用性和性能。
四、云平臺中間件
4.1 概述
云平臺中間件是在云計算環(huán)境中提供的一系列服務和工具,用于支持云應用的開發(fā)、部署和運行。以下是一些常見的云平臺中間件:
-
虛擬化管理:云平臺中間件提供虛擬機管理和容器管理服務,如虛擬機管理器(如VMware ESXi、KVM)、容器編排工具(如Docker、Kubernetes),用于管理和調度云上的虛擬資源。
-
彈性伸縮:云平臺中間件提供自動伸縮功能,根據(jù)應用負載自動增加或減少資源數(shù)量。它可以根據(jù)需求調整計算、存儲和網絡資源,實現(xiàn)應用的彈性擴展和優(yōu)化成本效益。
-
負載均衡:云平臺中間件提供負載均衡服務,將流量均勻分發(fā)到多個應用實例或服務器上,以提高系統(tǒng)的可用性和性能。常見的負載均衡服務有Elastic Load Balancer(ELB)、NGINX等。
-
數(shù)據(jù)存儲:云平臺中間件提供多種數(shù)據(jù)存儲服務,如云數(shù)據(jù)庫(如Amazon RDS、Azure SQL Database)、云存儲(如Amazon S3、Google Cloud Storage)和分布式存儲系統(tǒng)(如Hadoop HDFS、Ceph)等,用于實現(xiàn)數(shù)據(jù)的持久化和高可用性。
-
緩存服務:云平臺中間件提供分布式緩存服務,如云緩存(如Amazon ElastiCache、Azure Cache for Redis)和內存數(shù)據(jù)庫(如Redis、Memcached),用于提供高速的數(shù)據(jù)訪問和緩存請求。
-
消息隊列:云平臺中間件提供消息隊列服務,如Amazon SQS、Azure Service Bus和RabbitMQ等,用于實現(xiàn)異步通信和解耦系統(tǒng)組件,支持分布式消息傳遞。
-
日志和監(jiān)控:云平臺中間件提供監(jiān)控和日志管理服務,如Amazon CloudWatch、Azure Monitor和ELK(Elasticsearch, Logstash, Kibana)堆棧等,用于跟蹤系統(tǒng)性能、故障診斷和日志分析。
-
API管理:云平臺中間件提供API管理服務,如Amazon API Gateway、Apigee和Azure API Management等,用于管理和發(fā)布API,實現(xiàn)API的安全授權、性能管理和分析。
這些云平臺中間件提供了豐富的功能和服務,幫助開發(fā)人員和企業(yè)快速構建、部署和管理云上應用。它們通過提供高度抽象和自動化的方式,簡化了云應用的開發(fā)和運維過程,提高了開發(fā)效率和系統(tǒng)可靠性。
4.2 案例
以下是一些常見的云平臺中間件案例:
-
AWS Elastic Beanstalk:AWS Elastic Beanstalk 是一種簡化部署和管理應用程序的服務,支持多種編程語言和開發(fā)框架。它提供了自動化的應用程序部署、負載均衡和自動伸縮功能,用戶可以輕松地將應用程序部署到 AWS 云平臺上。
-
Azure App Service:Azure App Service 是微軟 Azure 云平臺上的一種托管服務,用于快速構建、部署和擴展 Web 應用程序和 API。它支持多種編程語言和開發(fā)框架,提供自動擴展、負載均衡和持續(xù)集成等功能。
-
Google Cloud Run:Google Cloud Run 是谷歌云平臺上的一種完全托管的服務器運行時環(huán)境,支持容器化的應用程序部署。它提供了自動擴展、負載均衡和安全性等功能,用戶可以將容器化的應用程序輕松地部署到 Google Cloud 上。
-
Kubernetes:Kubernetes 是一種開源的容器編排系統(tǒng),用于自動化部署、擴展和管理容器化的應用程序。它提供了負載均衡、服務發(fā)現(xiàn)、自動伸縮等功能,可以在多個云平臺上部署和管理容器化的應用程序。
-
OpenShift:OpenShift 是由 Red Hat 提供的一種開源的容器化平臺,基于 Kubernetes 構建。它提供了完整的容器編排和應用生命周期管理功能,包括應用程序部署、自動擴展和持續(xù)集成等。
-
Apache Kafka:Apache Kafka 是一種分布式的消息隊列和流式處理平臺,廣泛應用于實時數(shù)據(jù)流處理和消息傳遞場景。它提供高吞吐量、可持久化存儲和數(shù)據(jù)流處理等功能,可以在云平臺上構建可靠的實時數(shù)據(jù)處理系統(tǒng)。
-
Redis:Redis 是一種開源的內存數(shù)據(jù)庫和緩存系統(tǒng),被廣泛應用于分布式系統(tǒng)中的實時數(shù)據(jù)處理和緩存加速場景。它提供了高性能、高可用性和多種數(shù)據(jù)結構支持,可以在云平臺上部署和管理 Redis 實例。文章來源:http://www.zghlxwxcb.cn/news/detail-723045.html
這些云平臺中間件案例覆蓋了云計算中的應用部署、容器編排、消息傳遞、數(shù)據(jù)存儲等多個方面,幫助用戶實現(xiàn)應用程序的快速部署和彈性伸縮,提高系統(tǒng)的可用性和性能。它們提供了豐富的功能和服務,幫助開發(fā)人員和企業(yè)輕松構建和管理云上的應用程序和服務。文章來源地址http://www.zghlxwxcb.cn/news/detail-723045.html
到了這里,關于[架構之路-239]:目標系統(tǒng) - 縱向分層 - 中間件middleware的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!