溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

使用SpringCloudAlibaba和Nacos怎么構(gòu)建一個(gè)微服務(wù)

發(fā)布時(shí)間:2021-06-18 16:41:03 來(lái)源:億速云 閱讀:142 作者:Leah 欄目:大數(shù)據(jù)

這篇文章給大家介紹使用SpringCloudAlibaba和Nacos怎么構(gòu)建一個(gè)微服務(wù),內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

SpringCloudAlibaba簡(jiǎn)介

Spring Cloud Alibaba 致力于提供微服務(wù)開(kāi)發(fā)的一站式解決方案。此項(xiàng)目包含開(kāi)發(fā)分布式應(yīng)用微服務(wù)的必需組件,方便開(kāi)發(fā)者通過(guò) Spring Cloud 編程模型輕松使用這些組件來(lái)開(kāi)發(fā)分布式應(yīng)用服務(wù)。依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以將 Spring Cloud 應(yīng)用接入阿里微服務(wù)解決方案,通過(guò)阿里中間件來(lái)迅速搭建分布式應(yīng)用系統(tǒng)。[more]

Nacos簡(jiǎn)介

Nacos 致力于幫助您發(fā)現(xiàn)、配置和管理微服務(wù)。Nacos 提供了一組簡(jiǎn)單易用的特性集,幫助您快速實(shí)現(xiàn)動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、服務(wù)配置、服務(wù)元數(shù)據(jù)及流量管理。Nacos 幫助您更敏捷和容易地構(gòu)建、交付和管理微服務(wù)平臺(tái)。 Nacos 是構(gòu)建以“服務(wù)”為中心的現(xiàn)代應(yīng)用架構(gòu) (例如微服務(wù)范式、云原生范式) 的服務(wù)基礎(chǔ)設(shè)施。[more]

基于SpringCloudAlibaba和Nacos構(gòu)建微服務(wù)入門實(shí)例

說(shuō)明:以查詢銀行卡信息為業(yè)務(wù)背景,編寫(xiě)服務(wù)提供者服務(wù)。

1. 編寫(xiě)服務(wù)提供者:myclouds-nacos-discovery-provider-example
1.1. 服務(wù)代碼
@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. 服務(wù)啟動(dòng)類

@EnableDiscoveryClient
@SpringBootApplication
public class ProviderApplication {
	public static void main(String[] args) {
		SpringApplication.run(ProviderApplication.class, args);
	}
}

1.3. 配置文件和其它項(xiàng)目依賴關(guān)系

可以直接訪問(wèn)實(shí)例源碼。

2. 編寫(xiě)服務(wù)消費(fèi)者:myclouds-nacos-discovery-consumer-example
2.1. 服務(wù)消費(fèi)接口
@FeignClient(value = "myclouds-nacos-discovery-provider-example")
public interface BankCardFeignClient {
	@GetMapping("bankCard/findCardInfo")
	BankCard findCardInfo(@RequestParam("cardNo") String cardNo);
}
2.2. 服務(wù)消費(fèi)代碼
@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. 消費(fèi)服務(wù)啟動(dòng)類 

@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class ConsumerApplication {
	public static void main(String[] args) {
		SpringApplication.run(ConsumerApplication.class, args);
	}
}

2.4. 配置文件和其它項(xiàng)目依賴關(guān)系

可以直接訪問(wèn)實(shí)例源碼。

3. 服務(wù)注冊(cè)&發(fā)現(xiàn)

3.1 啟動(dòng)nacos。

startup.cmd

nacos控制臺(tái):http://127.0.0.1:9999/nacos  賬號(hào)/密碼:nacos/nacos

3.2 分別啟動(dòng)服務(wù)提供者和服務(wù)消費(fèi)者

進(jìn)入nacos控制臺(tái),服務(wù)管理->服務(wù)列表 菜單即可看到本實(shí)例的銀行卡查詢業(yè)務(wù)的提供者服務(wù)和消費(fèi)者服務(wù)的相關(guān)信息。如下圖所示。

使用SpringCloudAlibaba和Nacos怎么構(gòu)建一個(gè)微服務(wù)

使用SpringCloudAlibaba和Nacos怎么構(gòu)建一個(gè)微服務(wù)

4. 驗(yàn)證服務(wù)

通過(guò)服務(wù)消費(fèi)者訪問(wèn)服務(wù):http://127.0.0.1:19000/bankcard/findCardInfo?cardNo=5301

使用SpringCloudAlibaba和Nacos怎么構(gòu)建一個(gè)微服務(wù)

關(guān)于使用SpringCloudAlibaba和Nacos怎么構(gòu)建一個(gè)微服務(wù)就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI