第一个问题:我是用GRPC实现了微服务,并且打包进docker,问题是一般微服务如何实时提交日志?
第二个问题:如果1个微服务需要调用其他3个微服务,那么是不是调用的时候要用3个协程?因为并发运行。
第三个问题:还有go语言的协程是多核运行的吗?
第一个问题:我是用GRPC实现了微服务,并且打包进docker,问题是一般微服务如何实时提交日志?
第二个问题:如果1个微服务需要调用其他3个微服务,那么是不是调用的时候要用3个协程?因为并发运行。
第三个问题:还有go语言的协程是多核运行的吗?
可以直接上 ELK 一整套方案;另外还可以找云服务商的日志采集服务;
这个取决于你的业务是不是需要同步调用。如果不需要同,那么肯定是并发效率更高。这里推荐 errgroup 这个包很方便的控制如何并发 goroutine
goroutine 的特点就是可以利用多核
2 回答1.4k 阅读
2 回答1.4k 阅读
2 回答1.3k 阅读
2 回答1.3k 阅读
3 回答876 阅读
2 回答1k 阅读
2 回答1.1k 阅读
1.第一个问题如果用k8s跑的话,可以同步起一个sidecar容器来给日志的agent端做采集,efk全家桶,loki等等都可以。
2.第二个问题取决于你使用的场景,可以采用依赖注入的方式注册相关rpc-service的实例调用,也可以使用mq消息队列的方式去进行处理,也有其他的一些方式,主要还是结合自己的应用场景选型
3.多核,通过设置参数也可以让它单核跑