了解最新公司動態(tài)及行業(yè)資訊
1.服務(wù)器介紹
對應(yīng)于客戶端,服務(wù)器通常也稱為服務(wù)器。產(chǎn)品經(jīng)理在設(shè)計產(chǎn)品時,雖然設(shè)計的客戶端產(chǎn)品較多,但兩個客戶端之間的信息交互和數(shù)據(jù)傳輸都是通過服務(wù)器完成的。服務(wù)器扮演中間核心處理器的角色,負責(zé)處理復(fù)雜的業(yè)務(wù)邏輯以及存儲和管理數(shù)據(jù)。
客戶端和服務(wù)器使用網(wǎng)絡(luò)進行數(shù)據(jù)傳輸。數(shù)據(jù)傳輸基于基本數(shù)據(jù)傳輸協(xié)議。定義數(shù)據(jù)傳輸?shù)囊?guī)則通常稱為數(shù)據(jù)接口??蛻舳撕头?wù)端需要交互很多函數(shù)和數(shù)據(jù),會有很多Data接口,每個接口處理一個功能邏輯。
服務(wù)器扮演協(xié)調(diào)和處理所有客戶端的角色。一直有很多客戶端訪問服務(wù)器。如果產(chǎn)品的用戶數(shù)大,活躍度高,服務(wù)器將承受巨大的訪問壓力。
2.常見服務(wù)器技術(shù)介紹
常見的服務(wù)器端開發(fā)語言有:PHP、Java等,開發(fā)平臺Java EE是常用的Java語言。PHP 是一種可用于 Web 開發(fā)的腳本語言。PHP有很多現(xiàn)成的框架可以使用,很多功能可以通過框架很容易的實現(xiàn)。Node.js 也是一種使用語言進行開發(fā)的服務(wù)器端開發(fā)技術(shù)。Node.js 可以覆蓋從網(wǎng)頁前端到后端服務(wù)的全流程。它是一種具有良好靈活性和可擴展性的服務(wù)器端技術(shù)。還有多種服務(wù)器端技術(shù),如基于語言的服務(wù)器技術(shù)和基于C#語言的APS.NET。
服務(wù)器端處理請求的部分可以通過不同的技術(shù)選擇來實現(xiàn)。對于平臺安全性和支持性強的產(chǎn)品和系統(tǒng),Java EE企業(yè)級開發(fā)平臺是更好的選擇。一些銀行或政府系統(tǒng)是基于 Java EE 開發(fā)的。選擇Java EE的缺點是體積大,系統(tǒng)升級和維護成本高。每次系統(tǒng)升級都需要重新編譯打包。這個過程很長,導(dǎo)致系統(tǒng)更新和安裝成本很高。對于一些需要快速迭代和快速發(fā)布的輕量級產(chǎn)品或系統(tǒng),可以選擇PHP或Node.js等服務(wù)器端技術(shù)。這些技術(shù)的特點是重量輕,不需要特殊的編譯和包裝,因為它們是腳本語言??梢灾苯舆\行發(fā)布,所以對于一些做業(yè)務(wù)邏輯處理的網(wǎng)站產(chǎn)品或者產(chǎn)品服務(wù)器來說,選擇這種技術(shù)比較合適。
3.服務(wù)器的基本架構(gòu)
服務(wù)器通常稱為云,也就是所謂的云服務(wù)器。云服務(wù)器是指由第三方托管的物理機房,而不是自建機房。每個機房由應(yīng)用服務(wù)器、數(shù)據(jù)庫服務(wù)器、交換機、網(wǎng)口和外網(wǎng)光纜組成。
服務(wù)器架構(gòu)圖
負載均衡服務(wù)器:客戶端通過互聯(lián)網(wǎng)請求訪問服務(wù)器。請求進來后,首先經(jīng)過負載均衡服務(wù)器。它是用于處理大規(guī)模請求的服務(wù)器。通常,對于一些流量比較大的系統(tǒng),負載均衡就顯得尤為重要。,負載均衡服務(wù)器的作用是根據(jù)應(yīng)用服務(wù)器的繁忙程度,動態(tài)調(diào)度同時進來的大量訪問請求。負載均衡服務(wù)器可以理解為服務(wù)器的調(diào)度中心,負責(zé)流量的動態(tài)分配。根據(jù)對應(yīng)的應(yīng)用服務(wù)器負載動態(tài)分配請求到不同的應(yīng)用服務(wù)器。
應(yīng)用服務(wù)器:客戶端請求經(jīng)過負載服務(wù)器后,根據(jù)各個應(yīng)用服務(wù)器的負載進行合理分配,到達其所在的應(yīng)用服務(wù)器后,API服務(wù)器主要根據(jù)不同的客戶端進行相應(yīng)的業(yè)務(wù)邏輯處理請求,并將處理完成的應(yīng)用程序服務(wù)器。結(jié)果返回給客戶端。同一個應(yīng)用服務(wù)器通常有多個同時運行。當客戶端訪問的次數(shù)足夠多時服務(wù)器運維技術(shù),一臺服務(wù)器就不能忙了。因此,使用多條水路來分流客戶端請求,分流調(diào)度是通過負載均衡服務(wù)器完成的。的。
數(shù)據(jù)庫服務(wù)器:數(shù)據(jù)庫服務(wù)器對應(yīng)應(yīng)用服務(wù)器。數(shù)據(jù)庫服務(wù)器負責(zé)運行后端數(shù)據(jù)庫。例如,當用戶通過客戶端訪問某商品信息時,應(yīng)用服務(wù)器會根據(jù)用戶的請求從數(shù)據(jù)庫中查詢商品信息,并返回給客戶端。
4.數(shù)據(jù)接口及結(jié)構(gòu)
數(shù)據(jù)接口是指客戶端和服務(wù)器之間進行數(shù)據(jù)傳輸和交互的數(shù)據(jù)協(xié)議。數(shù)據(jù)接口是數(shù)據(jù)交換的標準。數(shù)據(jù)接口起到信息傳送器的作用。根據(jù)產(chǎn)品功能不同,對應(yīng)的數(shù)據(jù)接口會有所不同。
數(shù)據(jù)接口的組成通常采用“key-value”的形式,即一個key-value對,key(key)代表一個數(shù)據(jù)字段所表達的意思,value(value)就是內(nèi)容的數(shù)據(jù)字段。
一個簡單的數(shù)據(jù)接口結(jié)構(gòu)
{:布魯斯,:}
在這個數(shù)據(jù)接口結(jié)構(gòu)中,我們定義了兩個字段,“”代表用戶,“”代表登錄密碼。這兩個字段對應(yīng)的值分別是“Burse”。
5.1 個 JSON
JSON是一種輕量級的數(shù)據(jù)交換格式,是一種用來表示數(shù)據(jù)接口結(jié)構(gòu)的形式。
一個簡單的 JSON 結(jié)構(gòu)
{
"":"布魯斯",
“”:“”
}
數(shù)組結(jié)構(gòu)也可以用 JSON 表示
{
“名稱”:“布魯斯”
“技能”:[“足球”,“籃球”,“羽毛球”
}
在“技能”之后,一個數(shù)組用方括號表示,兩個數(shù)組的值用逗號隔開。數(shù)組本身的元素也可以是鍵值對或 JSON 對象。
{
“名稱”:“中國”
“”:[{
"name":"黑龍江",
“”:{
"城市":["哈爾濱","大慶"]
}
},{
"name":"湖南",
“”:{
"城市":["長沙","株洲"]
}
},{
"名稱": "廣東",
“”:{
"城市":["廣州","珠海","深圳"]
}
}]
}
JSON體積小,易于理解,非常適合作為數(shù)據(jù)接口進行數(shù)據(jù)傳輸。
5.2 XML
XML 代表可擴展標記語言。與 JSON 一樣,XML 也是一種數(shù)據(jù)交換格式,也可以用來存儲簡單的結(jié)構(gòu)化文本數(shù)據(jù)。XML的基本元素由標簽組成,每個標簽由標簽頭和標簽尾組成,內(nèi)容放在標簽頭和標簽尾之間。與 JSON 類似,XML 標簽元素也可以相互嵌套,標簽中的值也可以是標簽標題。
中國
黑龍江
大慶
哈爾濱
粵
廣州
深圳
珠海
湖南
長沙
株洲
在上述 XML 結(jié)構(gòu)中,第一行 XML 結(jié)構(gòu)的頭部表示版本號和編碼格式。編碼格式指的是如何解析 XML 結(jié)構(gòu)中的內(nèi)容?!皍tf-8”為統(tǒng)一轉(zhuǎn)換編碼格式,可支持繁體中文、簡體中文及英文、日文、韓文等解析。
XML的結(jié)構(gòu)比JSON大,閱讀結(jié)構(gòu)不如JSON清晰。在生產(chǎn)開發(fā)中服務(wù)器運維技術(shù),使用 JSON 作為數(shù)據(jù)傳輸和交換的數(shù)據(jù)接口就更多了。
XML的應(yīng)用領(lǐng)域非常廣泛。在開發(fā)中,界面布局文件是通過XML結(jié)構(gòu)實現(xiàn)的,很多服務(wù)器配置文件也是通過XML結(jié)構(gòu)實現(xiàn)的。目前的數(shù)據(jù)接口,JSON是主流。
6.1 服務(wù)器-客戶端交互模型
它由三部分組成:客戶端、服務(wù)器和。
數(shù)據(jù)通過數(shù)據(jù)接口傳輸。首先,客戶端發(fā)起功能請求??蛻舳送ㄟ^數(shù)據(jù)接口發(fā)送請求,數(shù)據(jù)接口通過互聯(lián)網(wǎng)將請求發(fā)送給服務(wù)器。數(shù)據(jù)分析處理完成后,服務(wù)器通過數(shù)據(jù)接口將結(jié)果回傳??蛻舳耍蛻舳藦姆?wù)端獲取請求響應(yīng),同時也對數(shù)據(jù)進行解析處理,然后將結(jié)果通知給用戶。
6.2 服務(wù)器部署與運維
在線:將開發(fā)的系統(tǒng)部署到公網(wǎng)服務(wù)器。部署過程就像在生產(chǎn)線上生產(chǎn)產(chǎn)品,然后將成品上架銷售。您可以租用云服務(wù)器提供商的機房,將服務(wù)器部署在云端。
服務(wù)器部署好之后,接下來就是長期的維護和調(diào)優(yōu)過程,這就是所謂的運維。服務(wù)器運維工程師專門負責(zé)這個過程。服務(wù)器運維包括發(fā)布新服務(wù)、更新和維護服務(wù)器、對服務(wù)器進行整體監(jiān)控。緊急情況需要及時處理。
產(chǎn)品開發(fā)完成并測試通過后,需要檢查客戶端代碼是否已經(jīng)更新到最新狀態(tài),可以打包了。同時,服務(wù)端代碼已經(jīng)更新到最新狀態(tài),已經(jīng)處于可部署狀態(tài)。通知運維人員更新部署服務(wù)器,將最新的服務(wù)器上線到公網(wǎng)服務(wù)器。
云服務(wù)器
您只需將自己的服務(wù)器代碼部署到云服務(wù)機房的服務(wù)器上,相當于租用了云服務(wù)器提供商的服務(wù)器,使用第三方公司提供的服務(wù)器托管和維護服務(wù)來運行自己的產(chǎn)品. 這種方法稱為云服務(wù)器。
6.3 如何判斷產(chǎn)品問題是否來自服務(wù)器
服務(wù)端的作用是接收客戶端請求,并將處理結(jié)果返回給客戶端,作為中間派發(fā)器。服務(wù)器不僅與客戶端進行交互和通信,還與數(shù)據(jù)庫進行交互。
當客戶端無法顯示數(shù)據(jù)時,問題也可能來自服務(wù)器。具體原因可能是服務(wù)器在查詢數(shù)據(jù)庫時沒有查詢到信息??蛻舳送ㄟ^網(wǎng)絡(luò)請求獲取數(shù)據(jù)時,接收到的數(shù)據(jù)集為空,所以在客戶端產(chǎn)品中顯示No data。通過信息提示分析問題,有助于快速定位和解決產(chǎn)品問題。