springcloud及Eureka服务注册和查找

本文详细介绍了SpringCloud在微服务架构中的作用,特别是Eureka作为服务注册和查找中心的功能。从Eureka的客户端和服务端角色,到如何搭建Eureka服务中心,配置服务注册与查找,以及Eureka集群同步。同时,文中还提到了Ribbon的负载均衡调用和Feign组件的使用,帮助理解SpringCloud如何实现服务间的高效通信。
摘要由CSDN通过智能技术生成

微服务架构(分布式架构技术)

核心思想将一个单体应用拆分成多个小应用,小应用可以独立部署,小应用可以通过HTTP协议进行调用。小应用按资源和业务处理原则进行分解。

包含服务开发(SpringBoot)和服务管理(SpringCloud)两方面。

优点:
便于系统分工、技术选型
便于分布式部署,提升处理效率
便于系统扩展、维护

缺点:
开发调试复杂(服务间调用、事务完整性)
服务管理复杂
环境运维复杂

Springcloud作用

SpringCloud是针对服务管理推出的一套解决方案。主要包含以下功能模块:

  1. Eureka服务注册和查找
  2. 服务间调用RestTemplate\Feign接口
  3. 使用Ribbon实现服务负载均衡+集群
  4. Hystrix容错机制,动态智能管理机制,防止服务雪崩
  5. Zuul网关提供外界访问控制
  6. 统一配置Config,消息传递Bus

SpringBoot是在Spring基础上的一种封装,SpringBoot主要是用于开发小应用服务,SpringCloud是针对这些服务管理。

在这里插入图片描述

Eureka服务注册和查找

Eureka是一个服务注册和查找中心,它是Netflix公司开源组件。 Eureka分为客户端和服务端,服务端有一个服务注册列表,列表会定时更新。

在这里插入图片描述微服务注册

在这里插入图片描述微服务查找调用

搭建eureka服务中心

  • 导入spring-cloud-starter-netflix-eureka-server、spring-boot-starter-parent、spring-cloud-dependencies
  • 在application.properties配置eureka参数
server.port=3333
#当前项目是否参与注册
eureka.client.registerWithEureka=false
#是否从服务器抓取注册列表信息
eureka.client.fetchRegistry=false
#服务注册和查找的定位URL地址
eureka.client.serviceUrl.defaultZone=http://localhost:3333/eureka
  • 定义启动类,使用@SpringBootApplication、@EnableEurekaServer
@SpringBootApplication//启动Boot应用
@EnableEurekaServer//启动Eureka服务端
public class EurekaRunBoot {
   

    public static void main(String[] args) {
   
        SpringApplication.run(EurekaRunBoot.class, args);
    }

}
  • 定义Eureka服务列表显示格式

默认情况下,客户端使用“机器名:服务名:端口号”信息注册,如果需要使用IP地址,可以通过在EurekaClient端通过下面参数指定

eureka.instance.instance-id=${
   spring.cloud.client.ip-address}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值