Dubbo 、 OpenFegin 远程服务调用的使用区别

Dubbo 与 OpenFegin 都利用于远程调用层面,其中包括协议、负载均衡等都有不同的点,并且在使用上面也有不同的形式。简约记录一下两者的用法。

1. 服务端

dubbo

1.添加dubbo依赖
2.服务类添加@DubboService

@DubboService
public class ProductServiceImpl implements IProductService {}

3.启动类 添加@EnableDubbo

openFegin

1.需撰写controller

   @GetMapping("/getUser")
    Result getUser() {
        return Result.success("成功");
    }

2.启动类 添加@EnableDiscoveryClient

2. 消费端

dubbo

1.直接引用 @Reference

@Service
public class LogServiceImpl implements ILogService {
	@Reference
	IProductService productService;
}

openFegin

1.添加接口 @FeignClient,并接口撰写与服务端相同的controller方法

@Component
@FeignClient(value = "product-service-name")
public interface ProductServiceApi {
    @GetMapping("/getUser")
    Result getUser() {};
}

区别

区别类型dubboopenfeign
协议Triple 协议声明式的 HTTP
协议随机、轮询、活跃度、Hash一致性客户端负载均衡

版权声明:本文为weixin_45229417原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。