Go micro 開發微服務步驟


1.寫 proto文件,定義接口和服務

2.實現 接口,注冊 handle

3.調用服務:直接用rpc 客戶端調用,或者用 api http web等調用

 

api http web 等服務可以對客戶端請求做轉發,將請求轉向到 srv

 

在傳統的應用中,所有的功能都是存在於單一的代碼庫(Monotholic Code Base)中。在表面上看,代碼庫中的代碼可以有幾種聚合方式。可能會按照其類型分割,比如controllers, entity, factories,也有可能按照其功能拆分成幾個包,比如auth, articles等等。但無論如何,整個應用是建立在一個單一代碼庫上的。

微服務是對於上述第二種聚合方式的拓展。我們依舊將應用按照其功能拆分成幾個包,但不同的是,這些功能包現在都是一個可獨立運行的代碼庫。

 

何為protobuf/gRPC

由於每個微服務對應一個獨立運行的代碼庫,一個很自然的問題就是如何在這些微服務之間通信。gRPC使用protobuf來描述數據格式。使用Protobuf,你可以清晰的定義一個微服務的接口。gRPC支持全新的HTTP 2協議,正好可以使用二進制數據。gRPC甚至可以建立雙向的流數據。HTTP 2是gRPC的基礎

 

message由protobuf處理,而service則是由protobuf的grpc插件處理。這個grpc插件使我們定義的service能使用message

protoc自動生成的,它將proto文件中的service轉化成了需要我們在Golang代碼中需要編寫的interface


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM