点击▲关注 “ 爪哇笔记 ” 给公众号标星置顶
更多精彩 第一时间直达
前段时间,撸主为了调用小黄图
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。
<!--服务端、客户端--> <modules> <module>nacos-feign-server</module> <module>nacos-feign-client</module> </modules> <properties> <java.version>1.8</java.version> <spring-boot.version>2.2.0.RELEASE</spring-boot.version> <spring-cloud.version>Greenwich.SR3</spring-cloud.version> <spring-cloud-alibaba.version>2.1.0.RELEASE</spring-cloud-alibaba.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>${spring-boot.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>${spring-cloud-alibaba.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
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
如果返回
来调戏我啊
说明调用成功。
最后还是福利时间,有需要源码的小伙伴可以自行阅读原文拉取,为了方便大家调试,里面还内置了免费的 Nacos 注册中心额。
1 . 分享几个有趣实用的福利给大家
2. 周末,撸一个鉴黄 API 给大家
3. 高速下载小视频神器,墙裂推荐
4. 深夜,给小黄图撸了一件漂亮的外壳
5. 小黄图升级了,接入更加强大的鉴黄功能
▲一个有温度的公众号,期待与你一起进步