老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

go語言微服務,Go語言微服務實踐之DDD

Go語言的應用

Go語言由Google公司開發,并于2009年開源,相比Java/Python/C等語言,Go尤其擅長并發編程,性能堪比C語言,開發效率肩比Python,被譽為“21世紀的C語言”。

目前成都創新互聯已為成百上千家的企業提供了網站建設、域名、虛擬空間、網站托管、服務器托管、企業網站設計、白塔網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協力一起成長,共同發展。

Go語言在云計算、大數據、微服務、高并發領域應用應用非常廣泛。BAT大廠正在把Go作為新項目開發的首選語言。

Go語言應用范圍:

1、服務端開發:以前你使用C或者C++做的那些事情,用Go來做很合適,例如日志處理、文件系統、監控系統等;

2、DevOps:運維生態中的Docker、K8s、prometheus、grafana、open-falcon等都是使用Go語言開發;

3、網絡編程:大量優秀的Web框架如Echo、Gin、Iris、beego等,而且Go內置的 net/http包十分的優秀;

4、Paas云平臺領域:Kubernetes和Docker Swarm等;

5、分布式存儲領域:etcd、Groupcache、TiDB、Cockroachdb、Influxdb等;

6、區塊鏈領域:區塊鏈里面有兩個明星項目以太坊和fabric都使用Go語言;

7、容器虛擬化:大名鼎鼎的Docker就是使用Go語言實現的;

8、爬蟲及大數據:Go語言天生支持并發,所以十分適合編寫分布式爬蟲及大數據處理。

Go微服務--常見的微服務框架

近幾年誕生了很多微服務框架,比如JAVA的Spring Cloud、Dubbo;Golang的GoKit和GoMicro以及NodeJs的Seneca。幾乎每種主流語言都有其對應的微服務框架。

Go在微服務框架中有其獨特的優勢,至于優勢在哪,自行google。

1、GoKit框架

這是一個工具包的集合,可以幫助攻城獅構建強大、可靠和可維護的微服務。提供了用于實現系統監控和彈性模式組件的庫,例如日志、跟蹤、限流、熔斷等。

基于這個框架的應用程序架構由三個主要的部分組成:

傳輸層:用于網絡通信,服務通常使用HTTP或者gRPC等網絡傳輸協議,或者使用NATS等發布訂閱系統相互通信。

接口層:是服務器和客戶端的基本構建塊。每個對外提供的接口方法都會定義為一個Endpoint,一遍在服務器和客戶端之間進行網絡通信,每個端點使用傳輸層通過HTTP或gRPC等具體通信模式對外提供服務

服務成:具體的業務邏輯實現

2、GoMicro框架

這是一個基于Go語言實現的插件化RPC微服務框架。提供了服務發現、負載均衡、同步傳輸、異步通信以及事件驅動等機制,嘗試簡化分布式系統之間的通信,讓開發者更專注于自身業務邏輯的開發。

GoMicro的設計哲學是可插拔的架構理念,提供了可快速構建系統的組件,并且可以根據自身的需求對GoMicro提供的默認實現進行定制。所有插件都可在倉庫github.com/micro/go-plugins 中找到。

Go - Micro微服務框架實踐 - Proxy(十五)

micro proxy 其實就是客戶端的代理。

如果服務運行環境不能直接訪問,那么就需要通過代理來訪問,micro proxy就是來干這事的,它提供http api,這個api可以把客戶端的請求轉向那些沒有直接暴露給客戶端的服務。

代理基于go-micro開發,也就是說它是依賴服務發現的。

安裝Consul

Micro代理默認是運行在8081端口下。

啟動代理:

服務默認使用ACME安全協議

可以選擇性配置主機白名單

命令行如果要指定代理,可以像下面這樣設置:

《Go Micro 微服務》之安裝體驗

首先保證 Git 和 Go 已經安裝成功??梢詤⒖?

其次配置好 GOPATH 環境變量。

Go Micro 是基于 Go 語言用于開發的微服務的 RPC 框架,它是 Micro 的基礎,執行下面當命令安裝:

核心是 gogetgithub.com/micro/go-micro,但一些包需預先安裝好(由于網絡或映射原因)。

Protocol Buffers (a.k.a., protobuf) 是 Google 的數據交換格式。 在 下載安裝源碼,編譯安裝。本文選擇的 cpp 的版本:

還需要安裝 Go 對 Protobuf 的支持,和 Protobuf 代碼生成器:

Micro 用于提供構建微服務的關鍵元素集合。

時間會比較久。

至此一個基本的 Go Micro 環境就安裝完畢。

官方網站給了一個測試用例,我們先體驗一下:

先安裝官方測試案例 srv:

安裝完成后,會在 $GOPATH/bin 下生成 srv 執行文件,啟動他。本文已經將 $GOPATH/bin 設置到環境變量 path 中。

通過命令查看當前運行的微服務實例:

調用微服務:

得到以上結果,表示 Go Micro 的相關產品安裝完畢!

GO 微服務GO-Micro -(2)Consul 基本認知

作用:基于GO語言開發,用于實現分布式系統的服務發現與配置的等管理。

特性:

開發模式的下,一般我們的都是基于客戶端的自注冊的模式進行,意思就是服務啟動的時候,把服務的信息都提交到的我們的注冊中心上。

當我們的Consumerl消費者請求Prodcuer的是,會先從Consul獲取到存貯Producter的數據(地址IP 和端口等)的臨時表,從這個臨時表里面任選一個Producr是的IP和Port,進行服務的請求

Go - Micro微服務框架實踐 - API(十三)

Micro的api就是api網關

API參考了 API網關模式 為服務提供了一個單一的公共入口?;诜瞻l現,使得micro api可以提供具備http及動態路由的服務。

Micro的API基于HTTP協議。請求的API接口通過HTTP協議訪問,并且路由是基于服務發現機制向下轉發的。 Micro API在 go-micro 之上開發,所以它集成了服務發現、負載均衡、編碼及基于RPC的通信。

因為micro api內部使用了go-micro,所以它自身也是可插拔的。 參考 go-plugins 了解對gRPC、kubernetes、etcd、nats、及rabbitmq等支持。另外,api也使用了 go-api ,這樣,接口handler也是可以配置的。

ACME( Automatic Certificate Management Environment)是由 Let’s Encrypt 制定的安全協議。

可以選擇是否配置白名單

API服務支持TLS證書

API使用帶分隔符的命名空間來在邏輯上區分后臺服務及公開的服務。命名空間及http請求路徑會用于解析服務名與方法,比如 GET /foo HTTP/1.1 會被路由到 go.micro.api.foo 服務上。

API默認的命名空間是 go.micro.api ,當然,也可以修改:

我們演示一個3層的服務架構:

完整示例可以參考: examples/greeter

先決條件:我們使用Consul作為默認的服務發現,所以請先確定它已經安裝好了,并且已經運行,比如執行 consul agent -dev 這樣子方式運行。

向micro api發起http請求

HTTP請求的路徑 /greeter/say/hello 會被路由到服務 go.micro.api.greeter 的方法 Say.Hello 上。

繞開api服務并且直接通過rpc調用:

使用JSON的方式執行同一請求:

micro api提供下面類型的http api接口

請看下面的例子

Handler負責持有并管理HTTP請求路由。

默認的handler使用從注冊中心獲取的端口元數據來決定指向服務的路由,如果路由不匹配,就會回退到使用”rpc” hander。在注冊時,可以通過 go-api 來配置路由。

API有如下方法可以配置請求handler:

通過 /rpc 入口可以繞開handler處理器。

API處理器接收任何的HTTP請求,并且向前轉發指定格式的RPC請求。

RPC處理器接收json或protobuf格式的HTTP POST請求,然后向前轉成RPC請求。

代理Handler其實是內置在服務發現中的反向代理服務。

事件處理器使用go-micro的broker代理接收http請求并把請求作為消息傳到消息總線上。

Web處理器是,它是內置在服務發現中的HTTP反向代理服務,支持web socket。

/rpc 端點允許繞過主handler,然后與任何服務直接會話。

示例:

更多信息查看可運行的示例: github.com/micro/examples/api

解析器,Micro使用命名空間與HTTP請求路徑來動態路由到具體的服務。

API命名的空間是 go.micro.api ??梢酝ㄟ^指令 --namespace 或者環境變量 MICRO_NAMESPACE= 設置命名空間。

下面說一下解析器是如何使用的:

RPC解析器示例中的RPC服務有名稱與方法,分別是 go.micro.api.greeter , Greeter.Hello 。

URL會被解析成以下幾部分:

帶版本號的API URL也可以很容易定位到具體的服務:

代理解析器只處理服務名,所以處理方案和RPC解析器有點不太一樣。

URL會被解析成以下幾部分:


網站題目:go語言微服務,Go語言微服務實踐之DDD
本文來源:http://www.xueling.net.cn/article/hdssdo.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 二级特黄绝大片免费视频大片 | 亚洲熟妇中文字幕五十中出 | 日韩精品东京热无码视频播放 | 日韩精品一区二区葵司亚洲91 | 欧美日韩高清一区二区三区 | 中文字幕无码日韩专区免费 | 久久久精彩 | 免费在线一级视频 | 精品国产自在现线看久久 | 欧美丝袜一区二区三区 | 免费一级a毛片夜夜看 | 久久久久国精品产熟女久色 | 成人性生生活性生交全黄 | 国产福利一区二区三区视频 | 在线高清视频免费观看视频 | 99久久免费国产精精品 | 把腿扒开让我添个痛快 | 亚洲欧美日本韩国 | 国产爆乳无码av在线播放 | 中文无码日韩欧 | 久久国产偷 | 小次郎av收藏家 | 亚洲最大AV资源网在线观看 | 亚洲欧美综合精品成人网站 | 国内盗摄视频一区二区三区 | 成人毛片免费看 | 精品视频一区二区在线观看 | 天天插av | 学生妹人人摸碰 | 久热精品在线视频 | 免费av不卡在线观看 | 久久亚洲综合 | www一区二区三区 | 调教小奴高潮惩罚PLAY露出 | 嗯啊av | 性饥渴艳妇性色生活片在线播放 | 日日摸处处碰夜夜爽 | 亚洲—本道在线无码AV发 | 日本黄色片在线观看 | 国产精一品亚洲二区在线视频 | 国产成人精品久久免费动漫 |