摘要:文件學習配置文件這個文件中需要改動的地方執行下面的命令時,必須切換到你的項目的根目錄可參考七其他備注截圖執行。
Docker 安裝
通過 Homebrew 來安裝 Docker
brew install docker
這個安裝可能比較慢,可以通過阿里云鏡像服務來下載 Docker.dmg
http://mirrors.aliyun.com/doc...
https://github.com/docker/kit...
golang 語言環境配置brew install go
go 環境變量配置參考:https://www.jianshu.com/p/358...
protobuf 安裝brew install protobuf
如果安裝不成功的話,可手動安裝
protobuf 下載:https://github.com/protocolbu...
下載完成后解壓安裝
tar -zxf protobuf-all-3.7.1.tar.gz cd protobuf-3.7.1 ./autogen.sh ./configure make make check sudo make install
如果在執行 ./autogen.sh 出現如下錯誤:
+ mkdir -p third_party/googletest/m4 + autoreconf -f -i -Wall,no-obsolete ./autogen.sh: line 37: autoreconf: command not found
解決方法:
brew install autoconf brew install automake brew install libtool
然后再執行 ./ autogen.sh 就不報錯了
萬里長城第一步,終于把docker和兩個語言環境搭好了,接下來繼續。
go get -u -v github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway go get -u -v github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger go get -u -v github.com/golang/protobuf/protoc-gen-go
如果你在自己的電腦執行上述命令可能會出現問題,go get 被墻,就算有vpn,網速不好會超時:
此時怎么辦呢?先安裝 gopm 命令
go get -u -v github.com/gpmgo/gopm gopm get -u -v github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway gopm get -u -v github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger gopm get -u -v github.com/golang/protobuf/protoc-gen-goDocker 中安裝 Envoy 鏡像
docker pull envoyproxy/envoy:latest
1.在你的機器上創建 docker 數據卷目錄,例如,我的目錄是:
/Users/shifeifei/Software/docker-mount
可將 envoy 的數據卷目錄設置成如下形式:/Users/shifeifei/Software/docker-mount/envoyproxy
(1) 創建 envoy.yml 文件存目錄,存放在 config 目錄下
(2) 創建 protobuf 代理文件目錄,存放在 proto 目錄
(3) 創建 docker-compose.yml 文件
目錄結構如下:
2.配置 docker-compose.yml 文件。docker-compose.yml 文件學習
envoy-proxy: image: envoyproxy/envoy:latest ports: - "51051:51051" volumes: - /Users/shifeifei/Software/docker-mount/envoyproxy/config:/envoy - /Users/shifeifei/Software/docker-mount/envoyproxy/proto:/protos command: sh -c "/usr/local/bin/envoy --config-path /envoy/envoy.yaml"
3.配置 envoy.yml 文件
admin: access_log_path: /tmp/admin_access.log address: socket_address: { address: 0.0.0.0, port_value: 9901 } static_resources: listeners: - name: listener1 address: socket_address: { address: 0.0.0.0, port_value: 51051 } filter_chains: - filters: - name: envoy.http_connection_manager config: stat_prefix: grpc_json codec_type: AUTO route_config: name: local_route virtual_hosts: - name: local_service domains: ["*"] routes: - match: { prefix: "/" } route: { cluster: grpc, timeout: { seconds: 60 } } cors: allow_origin: - static.stage-5.yinxiang.com allow_methods: GET, POST, PUT, HEAD, OPTIONS allow_headers: Authorization,Content-Type http_filters: - name: envoy.grpc_json_transcoder config: proto_descriptor: "/protos/payment-service.pb" services: ["payment.PaymentService"] print_options: add_whitespace: true always_print_primitive_fields: true always_print_enums_as_ints: false preserve_proto_field_names: false - name: envoy.router - name: envoy.cors clusters: - name: grpc type: STRICT_DNS connect_timeout: 0.25s lb_policy: LEAST_REQUEST http2_protocol_options: {} hosts: - socket_address: protocol: TCP address: host.docker.internal port_value: 6789
這個文件中需要改動的地方:proto_descriptor 、port_value
4.執行下面的命令時,必須切換到你的項目的根目錄;可參考(七、其他備注截圖)執行。或者按照下圖的路徑執行
protoc -I/usr/local/include -I. -I$GOPATH/src -I$GOPATH/src/github.com/grpc-ecosystem/grpc-gateway/third_party/googleapis --include_imports --include_source_info --descriptor_set_out=payment-service.pb proto/payment.proto
把生成的 payment-service.pb 文件拷貝到目錄 :/Users/shifeifei/Software/docker-mount/envoyproxy/proto 中
--descriptor_set_out=payment-service.pb proto/payment.proto 前面是生成的代理文件名稱,后面是你的源文件名稱
5.啟動 docker ,在 docker-compose.yml 同級目錄下執行該命令
docker-compose -f docker-compose.yaml up -d envoy-proxy
6.envoy 系列文章:https://www.lijiaocn.com/%E9%...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/27860.html
摘要:社區團隊高級軟件工程師補充說這產生了大量浪費的資源。和大會日期會議日程通告日期年月日會議活動舉辦日期年月至日和贊助方案和多元化獎學金現正接受申請和即將首次合體落地中國 VSCO:移動應用如何通過云原生節省70%的EC2賬單 showImg(https://segmentfault.com/img/bVboP4E?w=721&h=440); 公司:VSCO地點:加州奧克蘭行業:照片移動應...
摘要:社區團隊高級軟件工程師補充說這產生了大量浪費的資源。和大會日期會議日程通告日期年月日會議活動舉辦日期年月至日和贊助方案和多元化獎學金現正接受申請和即將首次合體落地中國 VSCO:移動應用如何通過云原生節省70%的EC2賬單 showImg(https://segmentfault.com/img/bVboP4E?w=721&h=440); 公司:VSCO地點:加州奧克蘭行業:照片移動應...
摘要:在第二部分中,我們將詳細介紹如何啟用其他彈性功能,如超時和重試。在此部署模型中,被部署為服務的在本例中為客戶端。這些示例的上游服務是。它們可以幫助傳播故障或對可能正在掙扎的內部服務造成類型攻擊。此延遲應足以觸發超時。 本博客是深入研究Envoy Proxy和Istio.io 以及它如何實現更優雅的方式來連接和管理微服務系列文章的一部分。 這是接下來幾個部分的想法(將在發布時更新鏈接):...
摘要:,托管于騰訊云容器平臺容器編排工具。適配我們目前的服務部署在騰訊云托管,節點使用核的網絡增強型機器,所有的后端服務都以部署,集群外部署高可用支持集群內服務發現,數據庫以為主,消息隊列采用。 距離2017年的見聞技術架構調整接近2年,隨著業務線的發展,見聞技術部的項目數量、項目架構類型、基礎設施規模、服務變更頻率都在不斷地增長,帶給SRE的挑戰是如何能更快地助力于開發人員更快更穩定地部署...
摘要:從實驗到生產,簡單快速部署機器學習模型一直是一個挑戰。總結上面我們快速實踐了使用和部署機器學習服務的過程,可以看到,提供了非常方便和高效的模型管理,配合,可以快速搭建起機器學習服務。 從實驗到生產,簡單快速部署機器學習模型一直是一個挑戰。這個過程要做的就是將訓練好的模型對外提供預測服務。在生產中,這個過程需要可重現,隔離和安全。這里,我們使用基于Docker的TensorFlow Se...
閱讀 1848·2021-11-22 15:24
閱讀 1307·2021-11-12 10:36
閱讀 3194·2021-09-28 09:36
閱讀 1837·2021-09-02 15:15
閱讀 2745·2019-08-30 15:54
閱讀 2391·2019-08-30 11:02
閱讀 2392·2019-08-29 13:52
閱讀 3539·2019-08-26 11:53