SpringCloud搭建

记录springcloud项目搭建过程中遇到的一些问题,待后续整理

1. Eureka注册中心启动时报错:com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server   

不影响注册中心启动,未解决

### 如何使用 Spring Cloud 搭建微服务架构项目 搭建一个基于 Spring Cloud 的微服务架构项目涉及多个核心模块,包括但不限于服务注册与发现、配置管理、负载均衡以及熔断机制等功能。以下是关于如何使用 Spring Cloud 构建项目的详细介绍。 #### 1. 创建父工程 为了统一管理和维护子模块的依赖版本,通常会先创建一个多模块 Maven 工程作为父工程。这一步可以通过标准的 Maven 配置完成[^2]。 在 `pom.xml` 文件中定义全局依赖和插件: ```xml <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.0.0</version> <relativePath/> <!-- lookup parent from repository --> </parent> <dependencyManagement> <dependencies> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>2021.1</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> ``` #### 2. 添加服务注册中心 (Eureka 或 Nacos) 服务注册与发现是微服务的核心功能之一。可以选用 Eureka 或者更现代化的 Nacos 来实现这一目标。Nacos 是 Spring Cloud Alibaba 推荐的服务注册工具。 以 Nacos 为例,在其中一个子模块中的 `application.yml` 中添加如下配置: ```yaml spring: cloud: nacos: discovery: server-addr: localhost:8848 # 设置 Nacos 地址 server: port: 8081 # 当前服务端口 ``` 同时引入必要的依赖项到该模块的 `pom.xml` 文件中: ```xml <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> ``` #### 3. 实现配置管理 (Config Server/Bus or Nacos Config) 动态化配置管理允许运行时更新应用程序参数而不需重启服务。Spring Cloud 提供了多种方式来支持此特性,其中一种推荐的方式就是借助于 Nacos Config 功能。 同样需要修改对应模块下的 `pom.xml` 并加入以下片段: ```xml <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency> ``` 接着调整 `bootstrap.properties` (注意不是 application.properties),指定远程存储位置: ```properties spring.application.name=config-client-sample spring.cloud.nacos.config.server-addr=127.0.0.1:8848 ``` #### 4. 使用 Feign 进行声明式 REST 调用 Feign 客户端简化了 HTTP API 请求过程,使得跨服务调用更加直观简洁[^1]。下面展示了一个基本的例子: 首先增加依赖至相关模块的 POM 文件里: ```xml <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency> ``` 随后编写接口类并标注 @FeignClient 注解: ```java @FeignClient(name="service-provider", url="${provider.url}") public interface ProviderService { @GetMapping("/api/resource") String getResource(); } ``` 最后只需注入上述接口即可发起请求操作。 --- 通过以上几个主要步骤就可以初步建立起一套完整的 Spring Cloud 微服务体系框架[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值