问题标签 [go-micro]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
docker - 通过 Traefik 从 Go 客户端调用 gRPC 服务(Go-micro)
我正在使用Go-micro、Docker、Traefik来部署我的服务。我部署了 go-micro 服务并注册了Traefik。这是我在 Traefik 仪表板中的 sum(grpc service) 状态。当我在终端卷曲它时,我得到了这个结果,我认为它是二进制的 grpc 消息。但是当我使用这段代码时
我收到此错误rpc error: code = Unimplemented desc = Not Found: HTTP status code 404; 传输:收到意外的内容类型 "text/plain; charset=utf-8"。由于地址或 grpc 元数据(主机标头),我不知道这个错误是如何发生的。请帮我解决这个问题。非常感谢!
docker - 让docker在docker compose中访问consul
码头工人撰写文件:
rs
是一个 go 微型服务器应用程序,它将访问 consul 和配置在文件中的 consul 地址,例如:
但是这不起作用,rs
报告错误日志:
我可以通过http://127.0.0.1:8500访问主机中的 consul ui ,它工作正常。
如何配置网络让rs可以访问consul?
go - go get -u 创建一个失败的 go.mod
按照这个使用 go-micro 的例子。当我执行 ago mod init github.com/username/blahblah
后跟 go get -u 时,我在 go.mod 文件中得到了这个:
它失败并显示此消息:
尝试构建go build main.go
失败并显示相同的消息。
这看起来像来自 Java 的 .jar 地狱。罪魁祸首是go get
。有没有办法go get
解决这个问题?
docker-compose - 在 docker-compose 中运行时,Go micro 仪表板未注册我的服务
我是 go-micro 的新手,试图micro server
在我的 docker-compose 设置中作为另一个服务运行,但是我的第一个微服务没有在 Micro Web(Go Micro 仪表板)中显示。如果我micro server
在 docker-compose 外部运行,我可以在仪表板中看到几个与 go-micro 相关的微服务,但在 docker-compose 内部没有显示。
我已经整理了一个示例代码,它重现了我的体验,我使用它生成了服务micro new
并且没有改变它,这docker-compose.yml
反映了我如何在我开始体验的项目中设置它:
https://github.com/shackra/go-micro-docker-compose-bug
我做错了什么,如何让微型仪表板在 docker-compose 中按预期工作?
编辑
我在 docker compose 中添加了一个网络,但没有任何运气,也使我的示例服务可以在 docker 中编译。
编辑 2
如果我重新启动服务微抱怨它:
我真的不明白,为什么它会报告没有找到服务或客户但仍然能够连接到我的服务?
go - go micro 在运行 make build 时给了我这种错误
我已经安装了 micro 来学习微服务然后去。但是当我尝试运行 make build 时,我收到了这种奇怪的错误。谁能帮我解决这个问题
docker - 将 Go-Micro 与 docker-compose 一起使用时出错
我使用 micro v3 来编写我的服务。它在本地工作,但我想使用 docker-compose 来部署我的服务。
我的服务是pubsub 示例,但出现错误:
我的码头工人撰写文件:
pubsub.Dockerfile
完整日志:
go - 使用 Micro.mu 启动微服务时出现权限错误
我刚刚micro new <microservice_name>
使用Micro创建了一个新的微服务。make proto
然后,我按照官方文档中的说明安装了所需的依赖项(protobuf)并运行。但是,当我跑步时micro run .
,我得到Fork/exec /usr/local/Cellar/go: permission denied:
.
我已经尝试过:
- 使用 sudo 运行相同的命令;
- 检查 /usr/local/Cellar/go (drwxr-xr-x) 的权限;
- 检查 $HOME/bin/micro (.rwxr-xr-x) 的权限;
- 重新安装 Go (
brew reinstall go
)。
没有任何改变:我仍然收到相同的错误消息。
api - 向第三方 API 发送 POST 请求
我一直想做一个从我的 go 微服务到 Rapyd API 的简单 POST 请求。我在网上搜索了许多解决方案,但没有一个有效......如果我尝试发出请求,我要么收到 400 Bad Request,要么收到包含“网络无法访问”的错误我尝试使用 Go 结构制作正文有效负载,JSON 来自字符串,但似乎没有任何效果,这是我的代码:(对不起,我不得不插入带有代码段的结构,因为它不适用于代码示例)
非常感谢您阅读我,我不知道该怎么做...如果我的英语不好,请随时向我询问更多信息,对不起!
编辑
使用我的代码,我收到此错误:Post "https://sandboxapi.rapyd.net/v1/payments": dial tcp: lookup sandboxapi.rapyd.net on [::1]:53: dial udp [::1]:53: connect: cannot assign requested address
并且 curlcurl --header "Content-Type: application/json" --request POST --data '{"amount":9.99,"currency":"USD","payment_method":{"type":"us_visa_card","fields":{"number":"4111111111111111","expiration_month":"10","expiration_year":"21","cvv":"123"}},"error_payment_url":"https://error_example.net","capture":true}' -v https://sandboxapi.rapyd.net/v1/payments
在详细模式下执行,我收到:
go - 执行微运行时出现微 blob.db 错误。在 Windows 10 中
我写了一个基本的微服务。两者都micro new
工作make proto
正常。已安装所有依赖项。micro server
也在运行,但是,当我这样做时cd myservice
(micro run .
顺便说一下,我有本地环境)这个错误显示:
Rpc error: code = Unknown desc = Error writing source to blob store: open C:\Windows\micro\store\blob.db: El sistema no puede encontrar la ruta especificada(System can not find the specified route)
.
我的微二进制文件是installfolder/bin
这样的
我不知道我错过了什么,但go mod tidy
执行go mod vendor
得很好。反正我有感觉在windows中运行micro是一件很头疼的事情。