服务消费者调用服务提供者的时候使用RestTemplate技术
    存在不方便之处
    1)拼接url
    2)restTmp;ate.getForObject
    这两处代码都比较模板化,能不能不让我们来写这种模板化的东西,另外来说,拼接url非常low,拼接字符串,拼接参数,很low还容易出错。

    Feign是Netflix开发的一个轻量级RESTful的HTTP客户端(用它来发起请求,远程调用的),是以java接口注解的方式调用Http请求,而不用像java中通过封装HTTP请求报文的方式直接调用,Feign被广泛应用在Spring Cloud的解决方案中。
    类似于Dubbo,服务消费者通过拿到服务提供者的接口,然后像调用本地接口的方式一样去调用,实际发出是远程的请求。
    Fegin可帮助我们更加快捷,优化的调用HTTP API:不需要我们去拼接url然后调用restTemplate的api,在SpringCloud中,使用Fegin非常简单,创建一个接口(在消费者-服务端调用这一端),并在接口上添加一些注解,代码就完成了
    SpringCloud对Fegin进行了增强,使Feign支持了SpringMVC注解(OpenFegin)
    本质:封装了Http调用流程,更符合面向接口化的编程习惯,类似于Dubbo的服务调用。