如何在Spring Cloud中的微服务之间传递二进制数据?

时间:2016-06-15 15:29:12

标签: spring spring-cloud microservices

我想问一下。如何在Spring Cloud中的微服务之间传递二进制数据?

我应该使用@FeignClient或@RibbonClient吗?怎么样?我已经读过@FeignClient不处理这个问题还有什么? OkHttp?

提前谢谢

1 个答案:

答案 0 :(得分:2)

Spring Cloud与一些http客户端集成,就像你提到的那样。功能区有一些non-http clients/transports built in,但我没有使用它和AFIAK,netflix也没有使用它们。

您可以使用Spring Cloud LoadBalancerClient interface directly。它允许您访问主机和端口,然后您可以使用任何您想要的客户端。

public class MyClass {
    @Autowired
    private LoadBalancerClient loadBalancer;

    public void doStuff() {
        ServiceInstance instance = loadBalancer.choose("myService");
        String host = instance.getHost();
        int port = instance.getPort();
        // ... do something with the host and port
    }
}

我还与OkHttp进行了示例集成。