注册中心技术Eureka、Nacos

这篇具有很好参考价值的文章主要介绍了注册中心技术Eureka、Nacos。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

说明:在微服务框架中,各个服务之间都是独立的。理论上来说,各个服务之间是可以直接通信的,但实际上因为服务之间通信需要管理和规划,如请求怎么负载均衡、请求怎么降级处理等等,所以就需要使用一个技术,对这些服务做到统一管理,称为注册中心,Eureka、Nacos就是这类技术。

注册中心技术Eureka、Nacos,eureka,nacos,spring cloud

环境搭建:

在center_module模块下,创建两个子模块:订单模块(端口8081)、用户模块(端口8082),两个模块之间没有联系,现在需要查询订单,根据订单中的用户ID,查询该订单对应的用户信息。详细参考(http://t.csdn.cn/gwnXI)

订单服务配置文件(application.properties)

mybatis.configuration.map-underscore-to-camel-case=true
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/db_spring_cloud
spring.datasource.username=root
spring.datasource.password=123456

# 设置端口号
server.port=8081

# 设置微服务名称
spring.application.name=orderservice

用户服务配置文件(application.properties)

mybatis.configuration.map-underscore-to-camel-case=true
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/db_spring_cloud
spring.datasource.username=root
spring.datasource.password=123456

# 设置端口号
server.port=8082

# 设置微服务名称
spring.application.name=userservice

# 关联eureka的地址
eureka.client.serviceUrl.defaultZone=http://localhost:8083/eureka/

Eureka

在微服务之上创建一个Eureka模块,里面只有启动类、pom.xm文件、application配置文件,不写业务代码;

(启动类,需加@EnableEurekaServer注解)

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@SpringBootApplication
@EnableEurekaServer
public class Start {
    public static void main(String[] args) {
        SpringApplication.run(Start.class, args);
    }
}

(pom.xml文件依赖)

	<dependencies>
	    <dependency>
	        <groupId>org.springframework.cloud</groupId>
	        <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
	        <version>2.2.5.RELEASE</version>
	    </dependency>
	</dependencies>

(application.yml配置文件)

# 配置端口号
server.port=8083

# 如果当前Eureka服务器只有一台 写自己的地址即可
eureka.client.serviceUrl.defaultZone=http://localhost:8083/eureka/

# 配置Eureka不抓取自己的服务
eureka.client.fetch-registry=false

# 配置Eureka不注册自己
eureka.client.register-with-eureka=false

关联的订单服务、用户服务需要添加对应的依赖

        <!--添加eureka服务依赖-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>

并在配置文件中关联注册中心

# 关联eureka的地址
eureka.client.serviceUrl.defaultZone=http://localhost:8083/eureka/

启动所有服务,打开注册中心(http://localhost:8083,注意不要加eureka),可以看到两个服务已经上线

注册中心技术Eureka、Nacos,eureka,nacos,spring cloud

此时,就可以直接用对应的服务名对微服务发送请求
注册中心技术Eureka、Nacos,eureka,nacos,spring cloud


注册中心技术Eureka、Nacos,eureka,nacos,spring cloud

负载均衡策略参考(http://t.csdn.cn/neb3n)

Nacos

安装&启动

可在官网(https://nacos.io/zh-cn/)提供的下载链接(https://github.com/alibaba/nacos/releases)中下载,下载后解压到一个没有中文、没有数字的路径下。打开目录的bin文件夹,在此目录下打开CMD,输入startup.cmd -m standalone 命令,启动Nacos,这种方式为单级模式、非集群模式启动,直接双击startup.exe为集群模式。
注册中心技术Eureka、Nacos,eureka,nacos,spring cloud
出现下面界面,为启动成功

注册中心技术Eureka、Nacos,eureka,nacos,spring cloud

此时,可以打开浏览器,输入:http://localhost:8848/nacos/,进入nacos平台,首次登录需要账号密码,都是nacos。

注册中心技术Eureka、Nacos,eureka,nacos,spring cloud

使用

在订单服务、用户服务的pom.xml文件中,添加nacos注册依赖

        <!--nacos配置管理依赖【注册】-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

订单服务配置(application.yml)

# 配置服务器端口
server:
  port: 8081

# 1.spring配置
spring:
  # 1.1 配置数据库连接池
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/db_spring_cloud
    username: root
    password: 123456

  # 1.2 配置微服务名称
  application:
    name: orderservice

  # 1.3 配置Nacos注册中心地址
  cloud:
    nacos:
      discovery:
        server-add: localhost:8848

# 2. feign配置
feign:
  # 微服务保护组件 熔断器
  hystrix:
    enabled: true

# 3. mybatis配置
mybatis:
  configuration:
    map-underscore-to-camel-case: true

用户服务配置(application.yml)

# 配置服务器端口
server:
  port: 8082

# 1.spring配置
spring:
  # 1.1 配置数据库连接池
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/db_spring_cloud
    username: root
    password: 123456

  # 1.2 配置微服务名称
  application:
    name: userservice

  # 1.3 配置Nacos注册中心地址
  cloud:
    nacos:
      discovery:
        server-add: localhost:8848

# 2. feign配置
feign:
  # 微服务保护组件 熔断器
  hystrix:
    enabled: true

# 3. mybatis配置
mybatis:
  configuration:
    map-underscore-to-camel-case: true

启动这两个服务,打开nacos平台,可以看到这两个服务

注册中心技术Eureka、Nacos,eureka,nacos,spring cloud

此时,使用Feign技术,可以使用服务名,直接访问到其他服务

注册中心技术Eureka、Nacos,eureka,nacos,spring cloud

注册中心技术Eureka、Nacos,eureka,nacos,spring cloud

降级处理方案参考(http://t.csdn.cn/BaYEe)

总结

目前市面上,微服务框架开发,注册中心和微服务通信有这两套,Eureka+Ribbon、Nacos+Feign(因为都是阿里巴巴的,称为alibaba springcloud),一般后者使用较多。

而注册中心技术Eureka、Nacos,在使用上的两点区别如下:

(1)服务名;

  • Eureka服务名称区分大小写;

  • Nacos服务名称不区分大小写;

(2)注册中心;

  • Eureka需要另外创建一个模块

  • Nacos不需要另外创建模块,但需要在配置的服务端,另外添加一个依赖文章来源地址https://www.toymoban.com/news/detail-566830.html

到了这里,关于注册中心技术Eureka、Nacos的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微服务(二)——注册中心(Eureka、Nacos)

    注册中心: 需求:当一个服务提供者 Service 部署了多个实例交给 User 远程调用时: 服务消费者 User 应该调用哪个实例,如何获取其对应地址和端口? User 如何获知实例是否健康? 注册中心作用: 帮助管理服务,并帮助服务调用者选择并调用服务 实时监测服务实例是否健康

    2024年02月12日
    浏览(28)
  • SpringCloud(2) 注册中心Eureka、Nacos

    注册中心是微服务中必须要使用的组件,考察我们使用微服务的程度。 注册中心的核心作用是:服务注册和发现。 常见的注册中心: Eureka、Nacos 、Zookeeper 下面我们以 Eureka 注册中心为例,说一下注册中心的作用: 假如我们有一个订单服务 order-service ,需要消费用户服务 u

    2024年02月11日
    浏览(32)
  • 【微服务开篇-RestTemplate服务调用、Eureka注册中心、Nacos注册中心】

     本篇用到的资料: https://gitee.com/Allengan/cloud-demo.git https://gitee.com/Allengan/cloud-demo.git 目录 1.认识微服务 1.1.单体架构 1.2.分布式架构 1.3.微服务 1.4.SpringCloud 1.5.总结 2.服务拆分和远程调用 2.1.服务拆分原则 2.2.服务拆分示例 2.2.1.导入Sql语句 2.2.2.导入demo工程 2.3.实现远程调用案例

    2024年02月08日
    浏览(29)
  • eureka迁移到nacos--双服务中心注册

    服务注册中心的迁移有多种方式,官网使用nacos sync,还有民间开发的双注册中心组件eureka-nacos-proxy,但是我用了不太顺利,所以用的是阿里巴巴的双注册中心组件edas-sc-migration-starter spring boot:2.5.3 引入依赖 正常启动即可发现两边都已经注册 如果要用open feign,需要在启动类

    2024年02月10日
    浏览(29)
  • 注册中心Eureka和Nacos,以及负载均衡Ribbon

    微服务,就是把服务拆分成为若干个服务,降低服务之间的耦合度,提供服务的独立性和灵活性。做到高内聚,低耦合。 单体架构:简单方便,高度耦合,扩展性差,适合小型项目。例如:学生管理系统 分布式架构:松耦合,扩展性好,但架构复杂,难度大。适合大型互联

    2024年02月12日
    浏览(28)
  • Nacos vs. Eureka:微服务注册中心的对比

    Nacos vs. Eureka:微服务注册中心的对比 前言: 欢迎来到本篇博客,今天我们将深入研究两个常用的微服务注册中心:Nacos 和 Eureka。微服务架构的兴起使得服务注册中心成为整个体系中不可或缺的一部分,而选择一个适合自己项目的注册中心显得尤为重要。 1. Nacos 和 Eureka 简介

    2024年02月03日
    浏览(34)
  • Java分布式微服务1——注册中心(Eureka/Nacos)

    远程调用 向其他服务器请求信息(远程调用) 先在application或者configuration中注册一个Bean方便之后使用(可忽略) 使用restTemplate方法发送请求 getForObject/postForObject/… 1、Eureka注册中心 上面的url是硬编码写死的,很不方便切换,所以使用Eurake注册中心来管理服务提供者的地址 E

    2024年02月14日
    浏览(30)
  • SpringCloud实用篇1——eureka注册中心 Ribbon负载均衡原理 nacos注册中心

    单体架构: 将业务的所有功能集中在一个项目中开发,打成一个包部署。 优点:架构简单;部署成本低(打jar包、部署、负载均衡就完成了) 缺点:耦合度高(维护困难、升级困难,不利于大项目开发) 分布式架构 根据业务功能对系统做拆分,每个业务功能模块作为独立

    2024年02月13日
    浏览(27)
  • 注册中心ZK、nameServer、eureka、Nacos介绍与对比

    微服务架构是存在着很多跨服务调用,每个服务都存在着多个节点,如果有多个提供者和消费者,当提供者增加/减少或者消费者增加/减少,双方都需要感知发现。所以诞生了注册中心这个中间件。 市面上有很多注册中心,如 Zookeeper、NameServer、Eureka、Nacos,下面我来讲一下它

    2024年02月06日
    浏览(33)
  • 微服务架构+服务注册中心+Nacos和Eureka+比较分析

    Nacos和Eureka都是常用的服务注册中心,它们可以实现服务的注册、发现、负载均衡等功能,但是它们也有一些区别和优缺点。本资源将从功能特性、生态系统、CAP理论、连接方式、服务异常剔除、操作实例方式、自我保护机制等方面,详细比较和分析Nacos和Eureka的区别。本资源

    2024年02月21日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包