使用SpringCloudAlibaba和Nacos怎么构建一个微服务

这篇文章给大家介绍使用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控制台,服务管理->服务列表 菜单即可看到本实例的银行卡查询业务的提供者服务和消费者服务的相关信息。如下图所示。

使用SpringCloudAlibaba和Nacos怎么构建一个微服务

使用SpringCloudAlibaba和Nacos怎么构建一个微服务

4. 验证服务

通过服务消费者访问服务:http://127.0.0.1:19000/bankcard/findCardInfo?cardNo=5301

使用SpringCloudAlibaba和Nacos怎么构建一个微服务

关于使用SpringCloudAlibaba和Nacos怎么构建一个微服务就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


本文名称:使用SpringCloudAlibaba和Nacos怎么构建一个微服务
转载注明:http://scyanting.com/article/gdhooj.html