ZSERVER4D是一套高級通訊系統的地基平台,它偏向於開發工藝和多平台支持
注意:ZS以後不再維護(見ZNet中的說明),更新請轉ZNet(自帶ZS升級程序,可一鍵升級到ZNet) https://github.com/PassByYou888/ZNet
ZServer4D為SAAS自動化群集構建的基礎支持庫,詳見https://github.com/PassByYou888/zCloud
支持運行平台Android,IOS,Win32/64,Linux,OSX,物聯網IOT(任意版本的linux均能支持,包括樹莓1-3代,香橙,高通,三星,小序列cpu mips linux)
支持編譯器:FPC3.0.4以及DelphiXE10.2和以後的版本
並行計算支持HPC服務器,並行深度參數服務器可配置
良好支持輕量雲主機,騰訊雲,阿里雲,亞馬遜雲,均有數千台使用ZServer4D的服務器在運行中(2019一季度狀態)
支持內置的Pascal語系的內網穿透穩定核心庫XNat(直接內核支持,非外部支持)
支持基於FRP的內網穿透(外部shell方式支持),在公司或家裡自己架設宅服宅服架設說明
ZServer4D的前後台均支持蘋果要求的IPV6審核條件,支持AAAA,A記錄秒切,支持所有IPV6的雲主機
內置高級加密系統,一萬在線客戶端會有一萬把密鑰,並且能動態定時更換密鑰(請參考ZServer4D的附屬開源項目https://github.com/PassByYou888/CoreCipher )
支持去中心化網絡群集,支持去中心化網絡群集一鍵對接
內置抗量子密碼支持https://en.wikipedia.org/wiki/SHA-3
支持了5大美國國家標準技術研究所(NIST)高級加密標準算法
支持5G萬兆以太: 需要先升級服務器的CPU和內存,zServer內置高速CompleteBuffer,可以讓後台平滑過渡至萬兆以太,音頻+視頻+圖片+文件均可使用CompleteBuffer
架構設計可以輕鬆實現IP池和入口網絡秒切,非常利於在國內商業環境中防止對手DDos攻擊
全面支持Linux服務器開發(fpc方向)
內置NoSQL並行化內核,良好支持大數據,良好支持聚類分析,支持分佈式數據庫負載,支持分佈式數據查詢結果匯集(NoSQL技術體係從11月初開始一直處於整理中,工程較大,可能短期不能完成,但是未來會以開源形式為Delphi國內帶來前沿的數據庫支持體系)
必讀:
編譯指南
IOT完全攻略
內網穿透:
關於XNAT內網穿透庫
宅服架設(FRP外殼支持)
內核:
zDefine過程定義詳解
BigStream機制詳解
多媒體通訊CompleteBuffer
BatchStream機制詳解
HPC服務器的工作機制詳解
延遲反饋機制詳解
序列化的命令隊列機制詳解
組合技術:
基於序列包的斷線重連繫統StableIO
Zserver中的序列包機制詳解
組合技術:
雙通道機制詳解
p2pVM隧道技術
p2pVM第二篇機理說明
必讀:
部署Ubuntu服務器的開發環境(delphi方向)
Linux桌面開髮指南(fpc方向)
在各開源項目中,為什麼DisposeObject會比Free使用頻率更高
問答:
解疑:為什麼通過網絡傳任何文件都要驗證
解疑:為什麼ZServer4D不能在線程中使用
ZDB:
使用ZDB:1.認識ZDB
使用ZDB:2.查詢工作原理
使用ZDB:3.數據策略
其它
雙通道多線下載技術
雲調度服務器用法詳解
百度翻譯服務後台(支持Ubuntu16.04LTS服務器)
百度翻譯服務API(支持Ubuntu16.04LTS服務器)
雲服務器框架怎樣開發基於ZS的底層通訊IO接口console模式的後台程序開發
CodeTyphon多架構及多平台開發陷阱
在Lazarus或則CodeTyphon編譯時出現缺失mtprocs庫的解決辦法
日常問題
庫說明
1.indy 阻塞模式的通訊組件,已在ZServer4D內部集成(客戶端兼容性好,服務器質量差強人意)
(open source) http://www.indyproject.org/
2.CrossSocket 異步式通訊組件,已在ZServer4D內部集成(服務器,客戶端兩邊的質量都極好)
(open source) https://github.com/winddriver/Delphi-Cross-Socket
3.ICS異步式通訊組件,已在ZServer4D內部集成(質量很好)
(open source) http://www.overbyte.be
4.DIOCP 國人所開發的穩定DIOCP通訊庫(服務器端的質量極好)
(Open source) https://github.com/ymofen/diocp-v5
1.synapse4(open source) 已經在ZServer4D內部集成,主要支持fpc,同時也兼容delphi(客戶端的兼容性好,服務器端質量很好)
synapse是支持ssl的優秀開源項目
在ZServer4D中使用Synapse的最大連接數被限制為100.
萬兆以太構建多使用CompleteBuffer機制即可,該機制可以適應未來5G的後台場景,視頻+圖片+大文件,均可平滑過度至5G,無需改動
ZServer4D對IoT平台的開發要求必須使用FPC編譯器,ZServer4D對物聯網的支持的標準系統包含一切Linux系統,要求最低FPC編譯器版本為3.0.4(需要和它對應的RT內核庫)
關於IoT平台的開發測試機:本文提及到的IOT開發板都可以通過網購獲取,自己動手diy Linux需要一定的耐心,懶人建議使用CodeTyphon,或則直接apt安裝內置的fpc+Lazarus
早期的PPC處理器架構都是大端字節序,這也造成了,早期的網絡通訊標準,都是大端,它一直在影響我們使用。但是後來,到現在,大端字節序已經慢慢消失,主流的Intel處理器架構,包括ARM,X86,現在都採用了小端字節序。因此,在ZServer中,所有的二進制收發,都是以小端字節序工作的。假如你在後台需要處理大端字節序,使用外部自定義協議模式即可。
大端字節序的典型場景:比如在Indy的通訊接口中,我們發送Integer時,如果打開轉換參數,它會被轉換成大端字節序。
ZServer4D內置的服務器有:Indy, ICS, CrossSocket, DIOCP, Synapse所有的服務器均無內存洩漏
ZServer4D內置的客戶端接口,某些庫採用的是用完拋棄的設計方式,這是針對應用程序使用的客戶端庫,並不是後台使用,這會有少量內存洩漏,它們是:indy,DIOCP(客戶端)
有內存洩漏行為的客戶端接口
無內存洩漏行為的安全客戶端
在ZServer4D中所捆綁的類,包括編解碼,鍊錶,數據庫,均無內存洩漏
必須先通過註冊表開放windows的socket限制,然後再用PerformanceServer+PerformanceClient進行測試
壓力測試如果鏈接超過6萬,Windows系統會自動關閉偵聽端口,具體原因不詳,壓測請盡量保持在6萬以內,超過6萬服務器偵聽端口會自動關閉,只需要將服務器重開一次即可
ZServer4D有點偏向多平台通訊架構類型,目前主流架構技術是p2pVM上面做應用模型,因為長時間維護和升級導致之前遺留許多演示和框架,例如雲服務器。在應用到項目之前,可與qq600585來個消息印證下使用思路。因為對某些網絡模型理解不到位可能導致項目架錯,不是開玩笑的。
ZServer4D是系統化的生產工藝地基,它並不像VCL那樣傻瓜,可以拿來就用,你需要自行動手進行需求的提煉,簡單來說,你必須自己動手封裝,然後再使用。 ZServer4D有豐富Demo和文檔提供技術參考。
注意:2020/12月期間項目繁多,我在項目開發中使用10.3.3在ARM平台ARC會自動釋放我的變量,調試一天無解。如果使用ZS開發手機,請換10.4或則以後的版本。開發Win32/Linux可以繼續使用現有工具
在linux使用fpc時需要外掛一個MM庫,jemalloc/tcmalloc均可,自行編譯接口
by.qq600585
更多更新日誌
REST,BAAS等等單項式的HTTP服務請自行在服務器開發和集成,ZServer4D不提供外部http支持
如果你在使用ZServer4D,並且對開發有疑問,請加群去尋找答案(請不要直接聯繫作者)
qq群490269542
支持ZServer4D的後續開發支付寶轉賬
不轉帳也沒事,遇上問題及時反饋一下.你們都是我的用戶:〉