Spring Cloud Alibaba 开发案例之 Nacos 整合 Feign

点击▲关注 “爪哇笔记”   给公众号标星置顶

更多精彩 第一时间直达

Spring Cloud Alibaba 开发案例之 Nacos 整合 Feign_第1张图片

一、前言

前段时间,撸主为了调用小黄图API特意引入的Feign,这显然不是最优雅的使用方式。但是对于大部分中小公司来说,服务已经拆了辣么多了,基本能满足需求就可以了,什么熔断、集群啊可以都先一边靠靠。

这里先撸一个最贱单的例子分享给大家。

Spring Cloud Alibaba 开发案例之 Nacos 整合 Feign_第2张图片

二、组件

  • Spring-Boot 2.2.0.RELEASE

  • Spring-Cloud Greenwich.SR3

  • Spring-Cloud-Alibaba 2.1.0.RELEASE

  • Nacos 注册中心

  • Feign HTTP客户端

说明一下,Spring Cloud Alibaba 已在2019年8月1日顺利毕业,并在 Spring 官方正式挂牌,挂牌成功后的最新版本是2.1.0。

三、主项目

    
    
        nacos-feign-server
        nacos-feign-client
    
    
        1.8
        2.2.0.RELEASE
        Greenwich.SR3
        2.1.0.RELEASE
    
    
        
            org.springframework.boot
            spring-boot-starter-web
        
         
            org.springframework.cloud
            spring-cloud-starter-alibaba-nacos-discovery
        
        
            org.springframework.cloud
            spring-cloud-starter-openfeign
        
    
    
        
           
                org.springframework.boot
                spring-boot-dependencies
                ${spring-boot.version}
                pom
                import
            
            
                org.springframework.cloud
                spring-cloud-dependencies
                ${spring-cloud.version}
                pom
                import
            
            
                com.alibaba.cloud
                spring-cloud-alibaba-dependencies
                ${spring-cloud-alibaba.version}
                pom
                import
            
        
    

四、服务端

application.properties 配置:

# 项目contextPath 科帮网https://blog.52itstyle.vip
server.servlet.context-path=/
# 服务端口
server.port=8080
# session最大超时时间(分钟),默认为30
server.session-timeout=60
# tomcat最大线程数,默认为200
server.tomcat.max-threads=100
# tomcat的URI编码
server.tomcat.uri-encoding=UTF-8
# Nacos 注册中心
spring.application.name = nacos-discovery-server
spring.cloud.nacos.discovery.server-addr = 47.104.197.9:8848

简单的服务提供接口:

/**
 * 启动类
 */
@SpringBootApplication
@RestController
public class Application {
    private static final Logger logger = LoggerFactory.getLogger(Application.class);
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
        logger.info("nacos-discovery-server启动");
    }
    @GetMapping("getMessage")
    public String getMessage(){
        return "来调戏我啊!!!";
    }
}

五、客户端

application.properties 配置:

# 项目contextPath 科帮网https://blog.52itstyle.vip
server.servlet.context-path=/
# 服务端口
server.port=8081
# session最大超时时间(分钟),默认为30
server.session-timeout=60
# tomcat最大线程数,默认为200
server.tomcat.max-threads=100
# tomcat的URI编码
server.tomcat.uri-encoding=UTF-8
# Nacos 注册中心
spring.application.name = nacos-discovery-client
spring.cloud.nacos.discovery.server-addr = 47.104.197.9:8848

配置客户端调用接口:

/**
 * 客户端调用
 */
@FeignClient(value = "nacos-discovery-server")
public interface FeignClientService {
    @RequestMapping(value="/getMessage")
    String getMessage();
}

客户端调用示例:

/**
 * 启动类
 */
@SpringBootApplication
@RestController
@EnableFeignClients
public class Application {
    private static final Logger logger = LoggerFactory.getLogger(Application.class);
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
        logger.info("nacos-discovery-client启动");
    }
    @Autowired
    private  FeignClientService feignClientService;
    @GetMapping("getMessage")
    public String getMessage(){
        return feignClientService.getMessage();
    }
}

六、测试服务

分别启动 feign-server 和 feign-client,然后登录Nacos控制台,如果出现以下两个服务说明配置成功。

Spring Cloud Alibaba 开发案例之 Nacos 整合 Feign_第3张图片

客户端访问 http://localhost:8081/getMessage 如果返回来调戏我啊说明调用成功。

七、小结

最后还是福利时间,有需要源码的小伙伴可以自行阅读原文拉取,为了方便大家调试,里面还内置了免费的Nacos注册中心额。

Spring Cloud Alibaba 开发案例之 Nacos 整合 Feign_第4张图片

1分享几个有趣实用的福利给大家

2. 周末,撸一个鉴黄 API 给大家

3. 高速下载小视频神器,墙裂推荐

4. 深夜,给小黄图撸了一件漂亮的外壳

5. 小黄图升级了,接入更加强大的鉴黄功能


▲一个有温度的公众号,期待与你一起进步

你可能感兴趣的:(Spring Cloud Alibaba 开发案例之 Nacos 整合 Feign)