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