做网站图片无法显示的原因,cdr平面设计教程,国内时事新闻2021最新,WordPress js木马目录 一、Spring Cloud Eureka详解二、Spring Cloud Nacos详解三、Spring Cloud Nacos和Eureka区别 Spring Cloud Nacos 和 Spring Cloud Eureka 都是 Spring Cloud 微服务框架中的服务注册和发现组件#xff0c;用于帮助开发者轻松地构建和管理微服务应用。它们之间的主要区别… 目录 一、Spring Cloud Eureka详解二、Spring Cloud Nacos详解三、Spring Cloud Nacos和Eureka区别 Spring Cloud Nacos 和 Spring Cloud Eureka 都是 Spring Cloud 微服务框架中的服务注册和发现组件用于帮助开发者轻松地构建和管理微服务应用。它们之间的主要区别在于底层架构、服务发现方式、配置管理和支持的编程语言等方面。
一、Spring Cloud Eureka详解
Spring Cloud Eureka 是基于 Netflix Eureka 的二次封装用于实现微服务实例自动化注册与发现。它主要负责完成微服务架构中的服务治理功能。以下是 Spring Cloud Eureka 的详解包括代码示例。
添加依赖 在项目的 build.gradle 文件中添加 Spring Cloud Eureka 依赖
dependencies { implementation org.springframework.cloud:spring-cloud-starter-eureka
}配置 application.yaml 在 application.yaml 文件中配置 Eureka 服务的相关属性
server: port: 8080
eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/ 启动类添加依赖 在启动类上添加 EnableDiscoveryClient 注解以启用 Eureka 服务发现功能
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
SpringBootApplication
EnableDiscoveryClient
public class EurekaDemoApplication { public static void main(String[] args) { SpringApplication.run(EurekaDemoApplication.class, args); }
}服务注册与发现 在服务提供者中通过 EnableEurekaServer 注解启用 Eureka 服务注册功能并在启动类上添加 Value 注解配置 Eureka 服务端口号
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
SpringBootApplication
EnableEurekaServer(port 8761)
public class EurekaServerApplication { public static void main(String[] args) { SpringApplication.run(EurekaServerApplication.class, args); }
}在服务消费者中通过 RestController 和 RequestMapping 注解暴露一个 REST 接口并在 Value 注解中配置 Eureka 服务端口号。同时使用 RestTemplate 调用其他服务
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
SpringBootApplication
RestController
EnableDiscoveryClient
public class EurekaClientApplication {Value(${eureka.client.serviceUrl.defaultZone}) private String defaultZone;GetMapping(/hi) public String home(RequestParam String name) { String url defaultZone /eureka-client/hello; RestTemplate restTemplate new RestTemplate(); return restTemplate.getForObject(url, String.class, name); }public static void main(String[] args) { SpringApplication.run(EurekaClientApplication.class, args); }
}自定义 Eureka 界面 可以通过修改 Spring Cloud Eureka 的默认界面来实现自定义界面。在 src/main/resources/static 目录下找到 eureka-dashboard.html 文件将其复制到项目中的静态资源目录并进行相应的修改。 综上所述Spring Cloud Eureka 是一个用于实现微服务实例自动化注册与发现的服务治理组件。通过在项目中添加依赖、配置 application.yaml、启动类添加依赖、服务注册与发现以及自定义 Eureka 界面可以实现 Spring Cloud Eureka 的基本功能。
二、Spring Cloud Nacos详解
可以参考之前写的文章https://python-basketball.blog.csdn.net/article/details/132506054?spm1001.2014.3001.5502
三、Spring Cloud Nacos和Eureka区别
底层架构 Nacos 是一个全新的轻量级动态服务发现、配置管理和服务管理的平台基于阿里巴巴自研的 Nacos 技术。 Eureka 是 Netflix 开源的一个服务注册和发现框架基于 RESTful API 进行服务之间的通信。服务发现方式 Nacos 使用 DNS 方式进行服务发现将服务注册信息存储在 DNS 服务器中使得服务发现更加高效和可靠。 Eureka 则使用 HTTP 协议进行服务发现需要通过请求 Eureka 服务端来获取服务注册信息。配置管理 Nacos 支持配置的动态管理可以实现配置的修改和更新同时支持配置的版本控制。 Eureka 不支持配置的动态管理需要通过人工的方式进行配置的修改和更新。支持的编程语言 Nacos 支持多种编程语言包括 Java、Python、Go、Node.js 等。 Eureka 仅支持 Java 语言。 下面是一个简单的示例来展示如何使用 Spring Cloud Nacos 和 Spring Cloud Eureka Nacos 首先需要在项目中引入 Nacos 的依赖
dependency groupIdcom.alibaba.cloud/groupId artifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactId
/dependency
dependency groupIdcom.alibaba.cloud/groupId artifactIdspring-cloud-starter-alibaba-nacos-config/artifactId
/dependency 然后在启动类上添加 EnableDiscoveryClient 和 NacosPropertySource 注解
import com.alibaba.cloud.spring.boot.context.annotation.config.NacosPropertySource;
import com.alibaba.cloud.spring.boot.context.annotation.EnableDiscoveryClient;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
SpringBootApplication
EnableDiscoveryClient
NacosPropertySource(dataId your-data-id, autoRefreshed true)
public class NacosDemoApplication { public static void main(String[] args) { SpringApplication.run(NacosDemoApplication.class, args); }
}Eureka 首先需要在项目中引入 Eureka 的依赖
dependency groupIdcom.netflix/groupId artifactIdeureka-client/artifactId
/dependency 然后在启动类上添加 EnableDiscoveryClient 注解并配置 Eureka 服务端地址
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
SpringBootApplication
EnableDiscoveryClient(eurekaServerUrl http://localhost:8761/eureka/)
public class EurekaDemoApplication { public static void main(String[] args) { SpringApplication.run(EurekaDemoApplication.class, args); }
}综上所述Spring Cloud Nacos 和 Spring Cloud Eureka 都是服务注册和发现框架但它们在底层架构、服务发现方式、配置管理和支持的编程语言等方面有所不同。在实际应用中可以根据项目需求和团队熟悉程度选择合适的框架。