初识微服务

本文介绍了微服务架构的核心特点,包括单一职责、面向服务、自治和隔离性强,并提到了SpringCloud和Dubbo作为国内常用的微服务框架。详细阐述了微服务拆分的注意事项,强调数据独立和服务接口暴露。重点讨论了Eureka作为微服务注册中心的角色,包括EurekaServer和EurekaClient的工作机制,并总结了在项目中使用Eureka搭建注册中心和服务发现的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

初识微服务

1、微服务是一种经过良好架构设计的分布式架构实现方案,微服务架构具有以下特征:

  • 单一职责: 微服务拆分粒度小,每一个服务都对应唯一的业务功能,做到单一职责,避免重复开发。
  • 面向服务: 微服务对外暴露业务接口
  • 自治: 团队独立、技术独立、数据独立、部署独立
  • 隔离性强: 服务调用做好隔离、容错、降级、避免出现级联问题

在这里插入图片描述
2、微服务结构
微服务这种方案需要技术框架来落地。国内知名的微服务框架有SpringCloud和阿里巴巴的Dubbo。
微服务大体架构图如下:
在这里插入图片描述
微服务拆分注意事项:
1、不同微服务不要重复开发相同的业务
2、微服务数据独立,不要访问其他微服务的数据库、
3、微服务可以将自己的业务暴露为接口,供其他微服务调用
4、每一个服务有自己单独的数据库

微服务注册中心:
以Eureka架构为例,在此架构中,微服务角色有两类:

  • EurekaServer:
    服务端,即注册中心,记录每一个微服务的信息。当一个微服务调用另一个微服务时,直接向注册中心获取信息即可。同时进行心跳监控,监控微服务是否存活
  • EurekaClient:
  • 客户端,即所有单个的微服务都属于客户端。其中当一个微服务调用另一个微服务时,前者作为消费者,后者作为服务提供者。所有微服务都需要定时向注册中心发送心跳,告知存活状态。其中消费者需要调用其他微服务时,向注册中心拉取服务列表,再基于负载均衡,选择一个合适的微服务进行远程调用。

项目中Eureka使用总结:

1、搭建EurekaServer注册中心

  • 引入eureka-server依赖
  • 添加@EnableEurekaServer注解
  • 在application.yml中配置eureka地址

2、服务注册

  • 引入eureka-client依赖
  • 在application.yml中配置eureka地址

3、服务发现

  • 引入eureka-client依赖
  • 在application.yml中配置eureka地址
  • 给RestTemplate添加@LoadBalanced的负载均衡注解
  • 使用服务提供者的服务名称进行远程调用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值