当前位置:首页 > 数码 >

系统服务列表怎么删除(系统管家服务通知怎么去掉)

来源:原点资讯(www.yd166.com)时间:2024-06-17 22:57:14作者:YD166手机阅读>>

系统服务列表怎么删除,系统管家服务通知怎么去掉(1)

Spring Cloud Alibaba Nacos 作为近几年最热门的注册中心和配置中心,也被国内无数公司所使用,今天我们就来看下 Nacos 作为注册中心时,调用它的接口有几种方式?

1.什么是注册中心?

注册中心(Registry)是一种用于服务发现和服务注册的分布式系统组件。它是在微服务架构中起关键作用的一部分,用于管理和维护服务实例的信息以及它们的状态。

它的执行流程如下图所示:

系统服务列表怎么删除,系统管家服务通知怎么去掉(2)

注册中心充当了服务之间的中介和协调者,它的主要功能有以下这些:

  1. 服务注册:服务提供者将自己的服务实例信息(例如 IP 地址、端口号、服务名称等)注册到注册中心。通过注册中心,服务提供者可以将自己的存在告知其他服务。
  2. 服务发现:服务消费者通过向注册中心查询服务信息,获取可用的服务实例列表。通过注册中心,服务消费者可以找到并连接到需要调用的服务。
  3. 健康检查与负载均衡:注册中心可以定期检查注册的服务实例的健康状态,并从可用实例中进行负载均衡,确保请求可以被正确地转发到可用的服务实例。
  4. 动态扩容与缩容:在注册中心中注册的服务实例信息可以方便地进行动态的增加和减少。当有新的服务实例上线时,可以自动地将其注册到注册中心。当服务实例下线时,注册中心会将其从服务列表中删除。

使用注册中心有以下优势和好处:

  • 服务自动发现和负载均衡:服务消费者无需手动配置目标服务的地址,而是通过注册中心动态获取可用的服务实例,并通过负载均衡算法选择合适的实例进行调用。
  • 服务弹性和可扩展性:新的服务实例可以动态注册,并在发生故障或需要扩展时快速提供更多的实例,从而提供更高的服务弹性和可扩展性。
  • 中心化管理和监控:注册中心提供了中心化的服务管理和监控功能,可以对服务实例的状态、健康状况和流量等进行监控和管理。
  • 降低耦合和提高灵活性:服务间的通信不再直接依赖硬编码的地址,而是通过注册中心进行解耦,使得服务的部署和变更更加灵活和可控。

常见的注册中心包括 ZooKeeper、Eureka、Nacos 等。这些注册中心可以作为微服务架构中的核心组件,用于实现服务的自动发现、负载均衡和动态扩容等功能。

2.方法概述

当 Nacos 中注册了 Restful 接口时(一种软件架构风格,它是基于标准的 HTTP 协议和 URI 的一组约束和原则),其调用方式主要有以下两种:

  1. 使用 RestTemplate Spring Cloud LoadBalancer
  2. 使用 OpenFeign Spring Cloud LoadBalancer
3.RestTemplate LoadBalancer调用

此方案的实现有以下 3 个关键步骤:

  1. 添加依赖:nacos loadbalancer
  2. 设置配置文件
  3. 编写调用代码

具体实现如下。

3.1 添加依赖

<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-loadbalancer</artifactId> </dependency>3.2 设置配置文件

spring: application: name: nacos-discovery-business cloud: nacos: discovery: server-addr: localhost:8848 username: nacos password: nacos register-enabled: false3.3 编写调用代码

此步骤又分为以下两步:

  1. 给 RestTemplate 增加 LoadBalanced 支持
  2. 使用 RestTemplate 调用接口
3.3.1 RestTemplate添加LoadBalanced

在 Spring Boot 启动类上添加“@EnableDiscoveryClient”注解,并使用“@LoadBalanced”注解替换 IoC 容器中的 RestTemplate,具体实现代码如下:

import org.springframework.boot.SpringApplication; import org.Springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.client.loadbalancer.LoadBalanced; import org.springframework.context.annotation.Bean; import org.springframework.web.client.RestTemplate; @SpringBootApplication @EnableDiscoveryClient public class BusinessApplication { @LoadBalanced @Bean public RestTemplate restTemplate() { return new RestTemplate(); } public static void main(String[] args) { SpringApplication.run(BusinessApplication.class, args); } }3.3.2 使用RestTemplate

import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.RestTemplate; @RestController @RequestMapping("/business") public class BusinessController2 { @Autowired private RestTemplate restTemplate; @RequestMapping("/getnamebyid") public String getNameById(Integer id){ return restTemplate.getForObject("http://nacos-discovery-demo/user/getnamebyid?id=" id, String.class); } }4.OpenFeign LoadBalancer调用

此步骤又分为以下 5 步:

  1. 添加依赖:nacos openfeign loadbalancer
  2. 设置配置文件
  3. 开启 openfeign 支持
  4. 编写 service 代码
  5. 调用 service 代码

具体实现如下。

4.1 添加依赖

<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-loadbalancer</artifactId> </dependency>4.2 设置配置文件

spring: application: name: nacos-discovery-business cloud: nacos: discovery: server-addr: localhost:8848 username: nacos password: nacos register-enabled: false4.3 开启OpenFeign

在 Spring Boot 启动类上添加 @EnableFeignClients 注解。

4.4 编写Service

import org.springframework.cloud.openfeign.FeignClient; import org.springframework.stereotype.Service; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; @Service @FeignClient(name = "nacos-producer") // name 为生产者的服务名 public interface UserService { @RequestMapping("/user/getinfo") // 调用生产者的接口 String getInfo(@RequestParam String name); }4.5 调用Service

import com.example.consumer.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @RestController public class OrderController { @Autowired private UserService userService; @RequestMapping("/order") public String getOrder(@RequestParam String name){ return userService.getInfo(name); } }5.获取本文源码

因平台不能上传附件,所以想要获取本文完整源码,请联系我:gg_stone,备注:Nacos 源码,不然不予通过。

6.版本说明

本文案例基于以下版本:

  • JDK 17
  • Spring Boot 3.x
  • Spring Cloud Alibaba 2022.0.0.0
  • Nacos 2.2.3
7.小结

注册中心作为微服务中不可或缺的重要组件,在微服务中充当着中介和协调者的作用。而 Nacos 作为近几年来,国内最热门的注册中心,其 Restf 接口调用有两种方式:RestTemplate LoadBalancer 和 OpenFeign LoadBalancer,开发者可以根据自己的实际需求,选择相应的调用方式。

,

栏目热文

系统服务能删除吗(系统服务能删除吗苹果)

系统服务能删除吗(系统服务能删除吗苹果)

有关如何从 Windows 禁用和卸载 OneDrive 应用的说明已添加到 Microsoft 支持门户。此服务以前被...

2024-06-17 22:22:37查看全文 >>

如何删除系统服务组件(windows删除系统不常用组件)

如何删除系统服务组件(windows删除系统不常用组件)

MSMG ToolKit 13.7 是基本上一个用于为微软Windows操作系统提供服务、定制、添加或删除功能和组件、启...

2024-06-17 22:39:34查看全文 >>

多余系统服务怎么删除(多系统情况下怎么删除多余的系统)

多余系统服务怎么删除(多系统情况下怎么删除多余的系统)

电脑启动项有好几个怎么清除多余的?·选择正确的开机,进去后按win+r,不知道那个键就看我操作。就是这两个一起按...

2024-06-17 22:40:20查看全文 >>

系统服务数据怎么关闭(系统配置里的服务全部禁用)

系统服务数据怎么关闭(系统配置里的服务全部禁用)

自从几周前发布Copilot PC以来,微软一直处于公关危机之中。许多用户担心自己的隐私,因为Windows 11 2...

2024-06-17 22:56:12查看全文 >>

系统服务通知怎么删除(系统管家服务通知怎么去掉)

系统服务通知怎么删除(系统管家服务通知怎么去掉)

目次I. “通知-删除”规则系为网络服务提供者在免于损害赔偿责任下提供抗辩,但是,对于停止侵权的法律责任,网络服务提供者...

2024-06-17 22:24:07查看全文 >>

如何彻底删除系统服务(如何彻底删除系统服务项)

如何彻底删除系统服务(如何彻底删除系统服务项)

怎么删除系统服务?如果电脑中有些服务不需要了,我们其实可以将其删除,防止后台运行消耗资源,下面就给大家分享删除系统服务的...

2024-06-17 22:37:10查看全文 >>

怎么卸载系统支持服务(如何卸载不可卸载的系统)

怎么卸载系统支持服务(如何卸载不可卸载的系统)

在这个瞬息万变的科技世界里,操作系统也不例外。Windows 11那简洁的界面和增强的功能或许已让你心动升级。然而,无论...

2024-06-17 22:14:07查看全文 >>

怎么删除系统没用的服务

怎么删除系统没用的服务

开心电视助手是一款专为智能电视和电视盒子设计的辅助应用程序。它提供了一系列功能,旨在提升用户的电视观看体验。以下是开心电...

2024-06-17 22:54:11查看全文 >>

系统服务列怎么删除(flyme系统服务可以删除吗)

系统服务列怎么删除(flyme系统服务可以删除吗)

有时,正在打印的文档会卡在打印机队列中,从而阻止打印更多的文档。下面是发生这种情况时的修复方法。无论你使用的是本地打印机...

2024-06-17 22:57:54查看全文 >>

如何关闭不需要的系统服务(系统服务都被关闭了怎么重启)

如何关闭不需要的系统服务(系统服务都被关闭了怎么重启)

手机耗电大户手机作为现代人的必备设备,功能越来越强大,但也意味着耗电量越来越大。随着人们对手机的依赖程度不断加深,电池航...

2024-06-17 22:15:44查看全文 >>

文档排行