摘要:文件學(xué)習(xí)配置文件這個(gè)文件中需要改動(dòng)的地方執(zhí)行下面的命令時(shí),必須切換到你的項(xiàng)目的根目錄可參考七其他備注截圖執(zhí)行。
Docker 安裝
通過(guò) Homebrew 來(lái)安裝 Docker
brew install docker
這個(gè)安裝可能比較慢,可以通過(guò)阿里云鏡像服務(wù)來(lái)下載 Docker.dmg
http://mirrors.aliyun.com/doc...
https://github.com/docker/kit...
golang 語(yǔ)言環(huán)境配置brew install go
go 環(huán)境變量配置參考:https://www.jianshu.com/p/358...
protobuf 安裝brew install protobuf
如果安裝不成功的話,可手動(dòng)安裝
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
如果在執(zhí)行 ./autogen.sh 出現(xiàn)如下錯(cuò)誤:
+ 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
然后再執(zhí)行 ./ autogen.sh 就不報(bào)錯(cuò)了
萬(wàn)里長(zhǎng)城第一步,終于把docker和兩個(gè)語(yǔ)言環(huán)境搭好了,接下來(lái)繼續(xù)。
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
如果你在自己的電腦執(zhí)行上述命令可能會(huì)出現(xiàn)問(wèn)題,go get 被墻,就算有vpn,網(wǎng)速不好會(huì)超時(shí):
此時(shí)怎么辦呢?先安裝 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.在你的機(jī)器上創(chuàng)建 docker 數(shù)據(jù)卷目錄,例如,我的目錄是:
/Users/shifeifei/Software/docker-mount
可將 envoy 的數(shù)據(jù)卷目錄設(shè)置成如下形式:/Users/shifeifei/Software/docker-mount/envoyproxy
(1) 創(chuàng)建 envoy.yml 文件存目錄,存放在 config 目錄下
(2) 創(chuàng)建 protobuf 代理文件目錄,存放在 proto 目錄
(3) 創(chuàng)建 docker-compose.yml 文件
目錄結(jié)構(gòu)如下:
2.配置 docker-compose.yml 文件。docker-compose.yml 文件學(xué)習(xí)
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
這個(gè)文件中需要改動(dòng)的地方:proto_descriptor 、port_value
4.執(zhí)行下面的命令時(shí),必須切換到你的項(xiàng)目的根目錄;可參考(七、其他備注截圖)執(zhí)行。或者按照下圖的路徑執(zhí)行
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.啟動(dòng) docker ,在 docker-compose.yml 同級(jí)目錄下執(zhí)行該命令
docker-compose -f docker-compose.yaml up -d envoy-proxy
6.envoy 系列文章:https://www.lijiaocn.com/%E9%...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/27860.html
摘要:社區(qū)團(tuán)隊(duì)高級(jí)軟件工程師補(bǔ)充說(shuō)這產(chǎn)生了大量浪費(fèi)的資源。和大會(huì)日期會(huì)議日程通告日期年月日會(huì)議活動(dòng)舉辦日期年月至日和贊助方案和多元化獎(jiǎng)學(xué)金現(xiàn)正接受申請(qǐng)和即將首次合體落地中國(guó) VSCO:移動(dòng)應(yīng)用如何通過(guò)云原生節(jié)省70%的EC2賬單 showImg(https://segmentfault.com/img/bVboP4E?w=721&h=440); 公司:VSCO地點(diǎn):加州奧克蘭行業(yè):照片移動(dòng)應(yīng)...
摘要:社區(qū)團(tuán)隊(duì)高級(jí)軟件工程師補(bǔ)充說(shuō)這產(chǎn)生了大量浪費(fèi)的資源。和大會(huì)日期會(huì)議日程通告日期年月日會(huì)議活動(dòng)舉辦日期年月至日和贊助方案和多元化獎(jiǎng)學(xué)金現(xiàn)正接受申請(qǐng)和即將首次合體落地中國(guó) VSCO:移動(dòng)應(yīng)用如何通過(guò)云原生節(jié)省70%的EC2賬單 showImg(https://segmentfault.com/img/bVboP4E?w=721&h=440); 公司:VSCO地點(diǎn):加州奧克蘭行業(yè):照片移動(dòng)應(yīng)...
摘要:在第二部分中,我們將詳細(xì)介紹如何啟用其他彈性功能,如超時(shí)和重試。在此部署模型中,被部署為服務(wù)的在本例中為客戶端。這些示例的上游服務(wù)是。它們可以幫助傳播故障或?qū)赡苷趻暝膬?nèi)部服務(wù)造成類型攻擊。此延遲應(yīng)足以觸發(fā)超時(shí)。 本博客是深入研究Envoy Proxy和Istio.io 以及它如何實(shí)現(xiàn)更優(yōu)雅的方式來(lái)連接和管理微服務(wù)系列文章的一部分。 這是接下來(lái)幾個(gè)部分的想法(將在發(fā)布時(shí)更新鏈接):...
摘要:,托管于騰訊云容器平臺(tái)容器編排工具。適配我們目前的服務(wù)部署在騰訊云托管,節(jié)點(diǎn)使用核的網(wǎng)絡(luò)增強(qiáng)型機(jī)器,所有的后端服務(wù)都以部署,集群外部署高可用支持集群內(nèi)服務(wù)發(fā)現(xiàn),數(shù)據(jù)庫(kù)以為主,消息隊(duì)列采用。 距離2017年的見聞技術(shù)架構(gòu)調(diào)整接近2年,隨著業(yè)務(wù)線的發(fā)展,見聞技術(shù)部的項(xiàng)目數(shù)量、項(xiàng)目架構(gòu)類型、基礎(chǔ)設(shè)施規(guī)模、服務(wù)變更頻率都在不斷地增長(zhǎng),帶給SRE的挑戰(zhàn)是如何能更快地助力于開發(fā)人員更快更穩(wěn)定地部署...
摘要:從實(shí)驗(yàn)到生產(chǎn),簡(jiǎn)單快速部署機(jī)器學(xué)習(xí)模型一直是一個(gè)挑戰(zhàn)。總結(jié)上面我們快速實(shí)踐了使用和部署機(jī)器學(xué)習(xí)服務(wù)的過(guò)程,可以看到,提供了非常方便和高效的模型管理,配合,可以快速搭建起機(jī)器學(xué)習(xí)服務(wù)。 從實(shí)驗(yàn)到生產(chǎn),簡(jiǎn)單快速部署機(jī)器學(xué)習(xí)模型一直是一個(gè)挑戰(zhàn)。這個(gè)過(guò)程要做的就是將訓(xùn)練好的模型對(duì)外提供預(yù)測(cè)服務(wù)。在生產(chǎn)中,這個(gè)過(guò)程需要可重現(xiàn),隔離和安全。這里,我們使用基于Docker的TensorFlow Se...
閱讀 1921·2021-11-22 15:24
閱讀 1367·2021-11-12 10:36
閱讀 3285·2021-09-28 09:36
閱讀 1921·2021-09-02 15:15
閱讀 2821·2019-08-30 15:54
閱讀 2442·2019-08-30 11:02
閱讀 2460·2019-08-29 13:52
閱讀 3598·2019-08-26 11:53