要掌握好SpringCloud需要从SpringCloud项目搭建开始,下面就给家详解SpringCloud项目搭建的4大步骤@mikechen
SpringCloud介绍
SpringCloud是基于SpringBoot提供的一套微服务解决方案,包括:服务注册与发现,配置中心,全链路监控,微服务网关,负载均衡,服务熔断等组件。
如下图所示:
SpringCloud项目搭建
如果你想搭建完整一个SpringCloud项目,需要搭建上图相关的组件: Eureka、Ribbon、Fegin、Hystrix、Zuul等。
下面我就带着大家来搭建SpringCloud:
1.创建 Eureka Server
创建一个新的 Spring Boot 项目,在 pom.xml 中添加 Spring Cloud 和 Eureka Server 依赖。
org.springframework.boot spring-boot-starter-web org.springframework.cloud spring-cloud-starter-netflix-eureka-server
在 application.properties 中配置 Eureka Server。
spring.application.name=eureka-server server.port=8761 eureka.client.register-with-eureka=false eureka.client.fetch-registry=false
2.创建微服务应用
创建两个新的 Spring Boot 项目,每个项目表示一个微服务,在每个微服务项目的 pom.xml 中添加 Spring Cloud 和 Eureka Client 依赖。
org.springframework.boot spring-boot-starter-web org.springframework.cloud spring-cloud-starter-netflix-eureka-client
在每个微服务项目的 application.properties 中配置 Eureka Client 和服务端口。
spring.application.name=service-name server.port=8081 eureka.client.service-url.defaultZone=http://localhost:8761/eureka
3.使用 Feign 调用
在每个微服务应用中,实现一些简单的逻辑,例如一个接口返回一些数据。
然后,在一个微服务项目中,创建一个 Feign 接口。
@FeignClient(name = "service-name") // 指定微服务名称 public interface ServiceClient { @GetMapping("/endpoint") String getEndpointData(); }
在另一个微服务项目中,注入 Feign 客户端并使用。
@Autowired private ServiceClient serviceClient; // 使用 serviceClient 调用微服务接口
4.运行项目
首先:启动 Eureka Server,作为服务注册中心。
然后:启动每个微服务应用,它们将注册到 Eureka Server 中。
打开浏览器,访问 Eureka Server 控制台:http://localhost:8761。
如下图所示:
在控制台中,应该能够看到注册的微服务实例。
以上就是Spring Cloud 项目搭建示例,涉及到服务注册与发现、Feign 调用等基本概念,实际项目可能会涉及更多的配置和功能。
陈睿mikechen
十余年BAT架构经验,资深技术专家,就职于阿里、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多技术干货!
后台回复【面试】即可获取《史上最全阿里Java面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》