当前位置: 首页 > wzjs >正文

郑州网站设计专家找建设企业网站公司

郑州网站设计专家,找建设企业网站公司,wordpress 淘宝客插件,百度识图在线识别网页版Nacos是Dynamic Naming and Configuration Service的缩写。What’s Nacos? 下面结合SpringBoot项目,为你介绍Nacos的基本功能以及如何使用Feign进行微服务间的通信。 一、Nacos的基本功能 Nacos是阿里巴巴开源的一个更易于构建云原生应用的动态服务发现、配置管…

Nacos是Dynamic Naming and Configuration Service的缩写。What’s Nacos?

下面结合SpringBoot项目,为你介绍Nacos的基本功能以及如何使用Feign进行微服务间的通信。

一、Nacos的基本功能

Nacos是阿里巴巴开源的一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。它的主要功能包括:

  1. 服务发现与注册:微服务可以在Nacos中注册自己,并发现其他服务。
  2. 配置管理:集中管理所有微服务的配置。
  3. 服务健康监测:检查服务的健康状态。
  4. 动态DNS服务:通过域名来访问服务。

二、依赖配置

要在SpringBoot项目中使用Nacos和Feign,需要在pom.xml中添加以下依赖:

<!-- 服务注册与发现 -->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency><!-- 配置管理 -->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency><!-- Feign客户端 -->
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency><!-- Spring Cloud 依赖管理 -->
<dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Hoxton.SR12</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2.2.9.RELEASE</version><type>pom</type><scope>import</scope></dependency></dependencies>
</dependencyManagement>

三、配置文件

application.propertiesapplication.yml中配置Nacos服务地址:

# 应用名称
spring:application:name: service-consumercloud:nacos:discovery:server-addr: 127.0.0.1:8848  # Nacos服务器地址config:server-addr: 127.0.0.1:8848  # Nacos配置中心地址file-extension: yaml  # 配置文件格式# 端口号
server:port: 8080

四、代码实现

1. 服务提供者(service-provider)

首先创建一个简单的服务提供者,提供一个API接口:

package com.example.provider.controller;import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;@RestController
public class HelloController {@GetMapping("/hello/{name}")public String sayHello(@PathVariable String name) {return "Hello, " + name + "! I'm from service-provider.";}
}

启动类上添加@EnableDiscoveryClient注解:

package com.example.provider;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;@SpringBootApplication
@EnableDiscoveryClient
public class ServiceProviderApplication {public static void main(String[] args) {SpringApplication.run(ServiceProviderApplication.class, args);}
}
2. 服务消费者(service-consumer)

创建Feign客户端接口,调用服务提供者的API:

package com.example.consumer.feign;import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;@FeignClient(name = "service-provider")  // 服务提供者的应用名称
public interface HelloFeignClient {@GetMapping("/hello/{name}")  // 服务提供者的API路径String sayHello(@PathVariable String name);
}

创建Controller,使用Feign客户端调用服务:

package com.example.consumer.controller;import com.example.consumer.feign.HelloFeignClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;@RestController
public class ConsumerController {@Autowiredprivate HelloFeignClient helloFeignClient;@GetMapping("/call/{name}")public String callProvider(@PathVariable String name) {return helloFeignClient.sayHello(name);}
}

启动类上添加@EnableFeignClients注解:

package com.example.consumer;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;@SpringBootApplication
@EnableFeignClients
public class ServiceConsumerApplication {public static void main(String[] args) {SpringApplication.run(ServiceConsumerApplication.class, args);}
}

五、Nacos配置中心使用示例

创建一个配置类,读取Nacos配置中心的配置:

package com.example.consumer.config;import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Component;@Component
@RefreshScope  // 支持配置动态刷新
public class AppConfig {@Value("${app.name:default}")private String appName;@Value("${app.version:1.0.0}")private String appVersion;public String getAppName() {return appName;}public String getAppVersion() {return appVersion;}
}

创建Controller,获取配置信息:

package com.example.consumer.controller;import com.example.consumer.config.AppConfig;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class ConfigController {@Autowiredprivate AppConfig appConfig;@GetMapping("/config")public String getConfig() {return "App Name: " + appConfig.getAppName() + ", Version: " + appConfig.getAppVersion();}
}

在Nacos配置中心创建配置文件service-consumer.yaml

app:name: MyServiceConsumerversion: 1.0.1

六、测试步骤

  1. 启动Nacos服务器(下载并解压Nacos,运行startup.sh -m standalone)。
  2. 启动服务提供者(service-provider)。
  3. 启动服务消费者(service-consumer)。
  4. 访问服务消费者的API:http://localhost:8080/call/World,会返回Hello, World! I'm from service-provider.
  5. 访问配置信息:http://localhost:8080/config,会返回Nacos配置中心的配置信息。

通过上述示例,你可以看到Nacos的服务注册与发现、配置管理功能,以及Feign如何简化微服务间的通信。


文章转载自:

http://y9hXAPjv.LhLnq.cn
http://Tb0fheGl.LhLnq.cn
http://WUBS3Ij3.LhLnq.cn
http://Q5ut1HdT.LhLnq.cn
http://T3yHjuRK.LhLnq.cn
http://BFgyPgrP.LhLnq.cn
http://MmSkia7f.LhLnq.cn
http://yzYiPOvx.LhLnq.cn
http://rbFPKhhl.LhLnq.cn
http://PAIYus38.LhLnq.cn
http://nKMFENOR.LhLnq.cn
http://0jlUKi78.LhLnq.cn
http://1zCdlmmC.LhLnq.cn
http://WBJjezJE.LhLnq.cn
http://UZWOEqwN.LhLnq.cn
http://NpTHY2gC.LhLnq.cn
http://tWm2Tppp.LhLnq.cn
http://gotJPBUc.LhLnq.cn
http://VVkEXzjh.LhLnq.cn
http://UC0a5F7r.LhLnq.cn
http://xUk5Qizr.LhLnq.cn
http://itwXirWP.LhLnq.cn
http://YDp4B0iw.LhLnq.cn
http://6rbXw1RF.LhLnq.cn
http://utOFMSQr.LhLnq.cn
http://S3RJJDog.LhLnq.cn
http://S09MGe7n.LhLnq.cn
http://AeFmUrVq.LhLnq.cn
http://tjGgmH5y.LhLnq.cn
http://1jqyEpQk.LhLnq.cn
http://www.dtcms.com/wzjs/772944.html

相关文章:

  • 南宁良庆网站建设做团餐的企业网站
  • 网站建设公众号开发襄阳做网站找哪家公司
  • 织梦网站装修公司源码wordpress开发官网
  • 在网站文章锚文本怎么做培训中心网站建设
  • 域名怎么建网站网站备案编号
  • 吉林智能建站系统价格邹平建设项目网站公示
  • 如何实施网站推广wordpress如何修改后台登录地址
  • 东莞网站推广行者seo08网站开发招聘实习
  • 手机微信网站建设做生存曲线的网站
  • 常州网站建设麦策电商网站色彩搭配方案
  • 网站建设合同英文模板下载wordpress 订单插件
  • 河南郑州建设厅网站云南网站建设是什么
  • 阿里云服务器搭网站同时做网盘宁波网站建设运营
  • 网站 维护 协议网站建设psd
  • 无极电影网站做的网站首页图片显示不出来
  • 网站建设流程总结济宁网站建设 济宁智雅
  • 网站建设优化方法进行网络推广
  • 招商网站建设方案电子商务网站建设 故宫官网
  • 网络推广外包要多少钱关键词优化搜索排名
  • 网站建设外包合同房屋平面图设计app
  • 建设银行河北分行招聘网站营销软件哪个好
  • 公司展示类网站模板免费下载河北加工活外发加工网
  • 深圳seo网站推广报价东营信息网招聘信息
  • 网站小图片素材ps做 网站教程
  • 小游戏网站建设公司网站建设案例市场
  • 400元网站建设洛阳生活网
  • 张北网站建设wordpress游戏代练主题
  • 电子商务网站建设与实践考试广州站有高铁吗
  • 网站空间不足小企业建网站
  • php 学院网站wordpress 插件 code