千家信息网

微服务架构中SpringCloud基础组件应用设计的示例分析

发表于:2025-02-11 作者:千家信息网编辑
千家信息网最后更新 2025年02月11日,这篇文章主要介绍了微服务架构中SpringCloud基础组件应用设计的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、组件应
千家信息网最后更新 2025年02月11日微服务架构中SpringCloud基础组件应用设计的示例分析

这篇文章主要介绍了微服务架构中SpringCloud基础组件应用设计的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

一、组件应用规划

1、注册中心

Eureka 组件是 Netflix 开发的,用于定位服务,基于RESTFul方式实现服务注册与发现。包括一个EurekaServer服务端(通常是指微服务中的注册中心) 和EurekaClient客户端(通常指微服务中的业务服务)。Eureka支持高可用的配置,当注册中心发现有故障的服务时,Eureka就会转入自动保护模式,故障时不影响服务的发现和注册,当故障恢复正常时,注册中心的服务会进行状态同步,继续提供服务。

2、服务调用

Feign 组件是一个声明式的 WebService客户端。在Eureka注册的服务中,可以使用Feign接口的形式来进行相关服务间的请求调用,并提供超时回退,快速熔断的相关特性。Feign是一个便利的RestFul框架,简化调用,通过ribbon在注册服务器中找到服务实例,然后对请求进行服务分配,实现了负载均衡的效果,默认采用轮询算法。

3、服务网关

GateWay网关,可以让所有客户端请求先通过微服务网关,跟网关进行交互,由网关进行各个微服务的请求转发,客户端(前端)对多服务架构无感知。降低客户端与微服务之间的交互耦合度;便于监控,可在网关中监控数据;在网关层统一处理认证,规划切面编程;也就是说与业务本身功能无关的公共逻辑可以在网关层统一封装实现,类似设计模式中的门面模式。

二、注册中心

1、服务端配置

eureka:  server:    enable-self-preservation: false    eviction-interval-timer-in-ms: 15000  instance:    prefer-ip-address: true  client:      register-with-eureka: false      fetch-registry: false      service-url:        defaultZone: http://127.0.0.1:5001/eureka/

2、客户端配置

eureka:  instance:    prefer-ip-address: true  client:      service-url:        defaultZone: http://127.0.0.1:5001/eureka/

三、Feign组件

1、Feign接口

@FeignClient("MOPSZ-SOFT-ROCKET")public interface UserSearchFeign {    @GetMapping("/mq/user/search/sendBookSearch")    void sendBookSearch (@RequestParam("msgContent") String msgContent) ;}

2、Feign接口实现

@RestControllerpublic class UserSearchController implements UserSearchFeign {    @Override    public void sendBookSearch(String msgContent) {    }}

3、接口配置

该配置文件在实现Feign接口的项目中配置就好,也可针对特定方法配置。

feign:  hystrix:    enabled: true  client:    config:      feignName:        connectTimeout: 60000        readTimeout: 60000

4、Feign接口调用

@Resourceprivate UserSearchFeign userSearchFeign ;userSearchFeign.sendBookSearch("");

四、服务网关

1、网关组件配置

zuul:  # 前缀,可以用来做版本控制  prefix: /v1  # 禁用默认路由,执行配置的路由  ignored-services: "*"  routes:    # 配置 Token 服务    pro6601:      serviceId: mopsz-basis-token      path: /api/6601/**    # 配置 UserClient 服务    pro6102:      serviceId: mopsz-user-client      path: /api/6102/**
  • 配置FilterConfig进行用户Token认证拦截;

  • 配置FallBackConfig进行服务降级响应管理;

2、项目部署

在项目上线后,对外暴露一个网关服务端口,其他服务端口不对外暴露,所有的请求都必须通过网关拦截或者转发,这就是微服务提供服务的一种常见方式。

感谢你能够认真阅读完这篇文章,希望小编分享的"微服务架构中SpringCloud基础组件应用设计的示例分析"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

0