栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java > SpringBoot

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

SpringBoot 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

前言

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

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

组件
  • 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控制台,如果出现以下两个服务说明配置成功。

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

源码

https://gitee.com/52itstyle/Spring-Cloud-Alibaba

参考

https://blog.52itstyle.vip/archives/5026/

https://spring.io/projects/spring-cloud-alibaba

https://nacos.io/zh-cn/docs/quick-start.html

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/234195.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号