企業服務資源數字化
詠南微服務使用2種接口:rest api 和 google protobuf。
換用這2種有公共協議的序列和接口,因為考慮支持跨語言。
rest api 使用json序列,google protobuf是二進制序列,json是明文,google protobuf 因為是二進制,所以效率高於JSON。
google protobuf 通過 .proto 協議文件支持所有主流語言,主流語言一般有工具將 .proto 協議文件里面的數據結構和接口自動轉為本語言的。
下面講下GOOGLE PROTOBUF:
微服務提供的服務接口,目的是要讓所有語言都能調用。這點不同於DELPHI傳統的中間件接口
.proto 里面的語法是GOOGLE PROTOBUF的中立標准
轉為delphi 記錄
其他語言類似調用,rest api 和google protobuf api,都是通過http get\post\put\delete 來調用。調用接口都是url。
服務即接口,接口即服務。
下面是rest api:
rest api, protobuf api,都是通過 標准的數據結構來序列和還原,有點orm的味道。
同mormot orm有異曲同工之妙。
下面是Mormot orm api:
沒錯這就是orm,數據結構讓序列、還原 有法可依。
這才是服務接口,其實這也是webservice api的奧妙所在,為了跨語言,大家最終想到了一塊兒。
現在提倡 服務接口,一個接口就是一個企業服務資源,服務通過接口提供,這就是現在 流行 微服務的原因,將企業資源轉化為數字化服務,轉化為一種靈活的輕資源,這是微服務的內涵。
服務接口目的:跨任何設備,跨任何語言。
可以按業務功能,划分不同粒度的微服務,各種微服務組成自己的集群,可以任意增加或減少微服務服務器,自動故障轉移,負載均衡,在架構上來說,這是解放3大戰役的 總決戰規模,一場戰役動用N個集團軍,這是真正的高並發。
重要的是傳統delphier思想上的轉變,架構思想上的轉變,接口思想上的轉變,服務接口有別於傳統接口的轉變,企業服務資源數字化是無可阻擋的潮流。