基于SpringCloudAlibaba和Nacos构建微服务入门实例
myclouds3.x技术预演系列:基于SpringCloudAlibaba和Nacos构建微服务入门实例。
SpringCloudAlibaba简介
Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。[more]
Nacos简介
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。[more]
基于SpringCloudAlibaba和Nacos构建微服务入门实例
说明:以查询银行卡信息为业务背景,编写服务提供者服务。
1. 编写服务提供者:myclouds-nacos-discovery-provider-example
1.1. 服务代码
@RestController @RequestMapping("bankCard") public class BankCardController { @GetMapping("findCardInfo") public BankCard findCardInfo(String cardNo, HttpServletRequest request) { System.out.println(cardNo); BankCard bankCard = new BankCard().setCardNo("5301001").setName("XC") .setBalance(BigDecimal.valueOf(1000000L)); return bankCard; } }
1.2. 服务启动类
@EnableDiscoveryClient @SpringBootApplication public class ProviderApplication { public static void main(String[] args) { SpringApplication.run(ProviderApplication.class, args); } }
1.3. 配置文件和其它项目依赖关系
2. 编写服务消费者:myclouds-nacos-discovery-consumer-example
2.1. 服务消费接口
@FeignClient(value = "myclouds-nacos-discovery-provider-example") public interface BankCardFeignClient { @GetMapping("bankCard/findCardInfo") BankCard findCardInfo(@RequestParam("cardNo") String cardNo); }
2.2. 服务消费代码
@RestController @RequestMapping("bankcard") public class BankCardConsumerController { @Autowired private BankCardFeignClient bankCardFeignClient; @GetMapping("findCardInfo") public BankCard findCardInfo(String cardNo) { BankCard bankCard = bankCardFeignClient.findCardInfo(cardNo); System.out.println(bankCard); return bankCard; } }
2.3. 消费服务启动类
@SpringBootApplication @EnableDiscoveryClient @EnableFeignClients public class ConsumerApplication { public static void main(String[] args) { SpringApplication.run(ConsumerApplication.class, args); } }
2.4. 配置文件和其它项目依赖关系
3. 服务注册&发现
3.1 启动nacos。
startup.cmd
nacos控制台:http://127.0.0.1:9999/nacos 账号/密码:nacos/nacos
3.2 分别启动服务提供者和服务消费者
进入nacos控制台,服务管理->服务列表 菜单即可看到本实例的银行卡查询业务的提供者服务和消费者服务的相关信息。如下图所示。
4. 验证服务
通过服务消费者访问服务:http://127.0.0.1:19000/bankcard/findCardInfo?cardNo=5301
写在最后
完整实例代码请访问我的myclouds代码仓库。https://gitee.com/osworks/myclouds
- 基于SpringCloudAlibaba和Nacos微服务体系下的FeignClient客户端负载均衡入门实例
- Spring Cloud Alibaba从入门到放弃-构建服务注册中心(Nacos)
- Spring Cloud Alibaba从入门到放弃-Nacos构建配置中心
- SpringCloud Finchley 实战入门(基于springBoot 2.0.3)【九 zuul 微服务网关配置】
- 基于kubernetes和SpringCloud微服务构建方案
- Spring Cloud Alibaba | Nacos服务中心初探
- Spring Cloud Alibaba从入门到放弃-Nacos注解实现熔断限流降级
- Spring Cloud Alibaba | Nacos服务中心初探
- SpringCloud构建微服务入门架构(二)服务注册与发现Eureka集群搭建
- Spring Cloud Alibaba | Nacos服务注册与发现
- Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现
- Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现
- Spring Cloud Alibaba之服务发现组件 - Nacos
- Spring Cloud Alibaba练习Demo(一):使用Nacos实现服务注册与发现
- 史上最简单的springcloud微服务入门实例,满足企业日常需求,开箱即用,工资翻倍不是梦...
- 基于kubernetes和SpringCloud微服务构建方案
- [转载]基于 Spring Boot、Spring Cloud、Spring Oauth2 和 Spring Cloud Netflix 等框架构建的微服务项目
- SpringCloud Finchley 实战入门(基于springBoot 2.0.3)【二 服务治理 Eureka】
- Spring Cloud Alibaba从入门到放弃-Nacos配置加载规则详解
- Spring Cloud Alibaba实现服务配置管理和动态服务发现(使用Nacos)