Comments (7)
from stack-rpc-tutorials.
不可以,微服务的调用范式一般是命名空间(或者包名)+ 方法签名
micro call也是在预先知道服务的命名空间与方法名的情况下才能调用服务。
如果要抛开空间和方法签名直接调用,可以使用restful风格的micro api网关把通用包要调用的服务隔离起来,不过这个就撕裂了微服务之间的直接通信的桥梁。
能否把具体的场景大概说下?
from stack-rpc-tutorials.
场景:在每个服务启动前(不包括config服务),向config服务请求配置文件,并且我已拥有该config服务的一切资料。。我写一个包,嵌入在每一个服务的main中,我已通过"github.com/micro/go-micro/registry"包向consul注册中心请求到了config服务的ip和端口和方法名和参数。,先在只需像在命令行下micro call那样请求,请指点一下该怎么去请求。
from stack-rpc-tutorials.
这一段是我根据服务名向注册中心请求回来的服务的方法、参数、还有ip和端口等,转为json格式后我就知道这个服务中有什么方法,请求需要什么参数,这样我就可以完成独立封闭情况下去开发,而不用跟同事交流,我想,这也方便保密。我根据这段json格式的数据就可以自定义出请求参数和返回参数的结构体。现在问题是,如何去请求,micro框架中是否有根据ip和端口、请求的方法名、请求的结构体参数、返回的结构体数据,便可以call某服务
from stack-rpc-tutorials.
可以尝试Micro Client吧,见使用方法
这样稍微优雅些,不用写一堆Micro中已经有的请求代码
from stack-rpc-tutorials.
好的,非常感谢你的解答。这对我有很大帮助。请问命令行下的micro call源码位于哪里,想研究下怎么是么实现的,感谢
from stack-rpc-tutorials.
不客气,见:https://github.com/micro/micro/blob/master/cli/cli.go#L19
from stack-rpc-tutorials.
Related Issues (20)
- K8s示例 HOT 4
- part1 user-srv运行micro --registry=etcd call mu.micro.book.srv.user User.QueryUserByName '{"userName":"micro"}'报错 HOT 5
- part2 运行问题。 HOT 2
- Micro auto generate topic in kafka when run 1 service. HOT 1
- rpc 调用不通,一直报错 HOT 5
- 一点小提议~ HOT 3
- 根据原文件运行part1出现error HOT 3
- 获取Session中的UserId时,空指针异常 HOT 2
- examples/basic-practices/micro-service/stream/file 问题 HOT 5
- 运行part1时提交请求时出错 HOT 9
- model操作数据实现方式不太明白问题 HOT 1
- 第一章演示user protobuf的问题 HOT 1
- micro api handler value 支持的类型 HOT 2
- 【重要】part 1 根据代码库操作报错 HOT 2
- 在part1中最后的curl请求返回为空 HOT 2
- 第七章, 通过网关不能直接访问到 user_web 服务 HOT 1
- 关于micro auth 的问题 HOT 4
- v3出来了。请同步。 HOT 1
- 求更新v3文档,支持 HOT 1
- 大佬们,v2的文档能不能再放出来一下,才刚开始看就没了 --。 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from stack-rpc-tutorials.