spring cloud alibaba 学习(一)环境搭建

spring cloud alibaba 学习(一)环境搭建,第1张

spring cloud alibaba 学习(一)环境搭建

目录

前言一、安装nacos二、服务提供者三、服务消费者四、测试


前言

Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。

依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。

五大组件选择:

1.服务注册中心 Nacos
2.服务负载均衡 Openfeign
3.服务熔断降级 sentinel
4.服务网关组件 Gateway
5.统一配置中心组件 Nacos


一、安装nacos

下载 : nacos-server-2.0.4.tar.gz

解压: tar -zxvf nacos-server-2.0.4.tar.gz

启动: 进入解压出来的 nacos/bin/ 目录,执行 ./startup.sh -m standalone

访问: 访问8848默认端口,http://172.16.10.159:8848/nacos

输入用户名密码 nacos/nacos

二、服务提供者

(1)引入依赖

springboot版本使用较低一些的 2.4.13,
spring-cloud-dependencies 版本使用 2020.0.5,
nacos-discovery 版本使用 2021.1


		org.springframework.boot
		spring-boot-starter-parent
		2.4.13



		
			org.springframework.boot
			spring-boot-starter
		

		
		
			org.springframework.cloud
			spring-cloud-dependencies
			2020.0.5
			pom

		
		
		
			com.alibaba.cloud
			spring-cloud-starter-alibaba-nacos-discovery
			2021.1
		

		
			org.springframework.boot
			spring-boot-starter-web
		
	

(2)配置文件

#指定端口
server.port=9000
#指定服务名称
spring.application.name=server
#指定nacas地址
spring.cloud.nacos.discovery.server-addr=172.16.10.159:8848

(3)创建服务接口

@RestController
@RequestMapping("/server")
public class ServerController {

    @GetMapping("/test/{id}")
    public Object test(@PathVariable String id) {
        Map map = new HashMap();
        map.put("server", id);
        return map;
    }
}
三、服务消费者

(1)引入依赖

在服务提供者依赖的基础上,加入 openfeign 和 loadbalancer 依赖


		org.springframework.boot
		spring-boot-starter-parent
		2.4.13



		
			org.springframework.boot
			spring-boot-starter
		

		
		
			org.springframework.cloud
			spring-cloud-dependencies
			2020.0.5
			pom

		
		
		
			com.alibaba.cloud
			spring-cloud-starter-alibaba-nacos-discovery
			2021.1
		

		
			org.springframework.boot
			spring-boot-starter-web
		
		
		
			org.springframework.cloud
			spring-cloud-starter-openfeign
			3.0.0
		
		
		
			org.springframework.cloud
			spring-cloud-starter-loadbalancer
			3.0.0
		
	

(2)配置文件

#指定端口
server.port=9001
#指定服务名称
spring.application.name=client
#指定nacas地址
spring.cloud.nacos.discovery.server-addr=172.16.10.159:8848

(3)启动类

加上注解@EnableFeignClients

@SpringBootApplication
@EnableFeignClients
public class CloudApplication {

	public static void main(String[] args) {
		SpringApplication.run(CloudApplication.class, args);
		System.out.println("started...");
	}

}

(4)创建服务api接口

用@FeignClient 注解标识,value = “server” 表示要访问的服务提供者的名称是server

@FeignClient(value = "server")
@Component
public interface ServerApi {

    @GetMapping("/server/test/{id}")
    Map test(@PathVariable String id);
}

(5)客户端接口

@RestController
@RequestMapping("/client")
public class ClientController {

    @Autowired
    private ServerApi serverApi;

    @GetMapping("/test/{id}")
    public Map test(@PathVariable String id){
        return serverApi.test(id);
    }
}
四、测试

(1)查看nacos
启动服务提供者和服务消费者,查看服务注册


(2)访问服务消费者接口

访问:

http://192.168.100.73:9001/client/test/100

结果:

{
    "server": "100"
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5716414.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存