SpringCloud和SOFAStack相互替换方案

简介

  • SpringCloud是Spring开源的一套微服务解决方案,将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。
  • SOFAStack是阿里开源的包含构建金融级云原生架构所需的各个组件,也是在金融场景里锤炼出来的最佳实践。提供项目管理、微服务应用开发、部署发布、监控运维、容灾高可用等全栈式解决方案,并兼容 Dubbo、Spring Cloud 等微服务运行环境,助力客户各类应用轻松转型分布式架构。

SpringCloud和SOFAStack技术栈对比

SpringCloud SOFAStack
免费性 免费 按需收费
开源性 开源 部分开源
开发框架 SpringBoot SOFABoot
业务无关性 全业务 金融场景
服务发现注册 Eureka SOFARegistry
配置中心 SpringCloudConfig DRM
熔断限流 Netflix Hystrix Guardian
业务网关 SpringCloudGateway SOFAGateway
链路追踪 Zipkin SOFATracer
监控度量 Promethous SOFALookout
服务治理 组合拳 SOFADashboard
服务网格 自定义扩展 SOFAStackMesh

技术栈相互替换方案

通过SpringCloud和SOFAStack对比发现两个微服务解决方案的技术栈都是基于SpringBoot实现的,SOFABoot是扩展了SpringBoot的 Readiness Check,类隔离,日志空间隔离等能力。在增强了 Spring Boot 的同时,SOFABoot 提供了让用户可以在 Spring Boot 中非常方便地使用 SOFA 中间件的能力,基于这样的基础,SpringCloud和SOFAStack具有相互替换的可能,具体替换步骤如下:

  • 封装SpringCloud的某个版本封装扩展包,暂时命名为SpringCloudExt

        封装服务发现注册、配置中心、熔断限流、链路追踪、监控度量、服务治理模块

  • 在SpringCloudExt的基础上,扩展SOFAStack的技术栈

        封装SOFARegistry、DRM、Guardian、SOFATracer、SOFALookout等SOFAStack技术中间件

  • 在扩展的服务发现注册模块增加开关,通过自定义判断走哪个注册中心及后续的中间件

RocketMQ和SOFAMQ兼容使用方案

        SOFAMQ是SOFAStack基于ApacheRocketMQ构建的分布式消息中间件,并与金融分布式架构 SOFAStack 深度集成,为分布式应用系统提供异步解耦和削峰填谷的能力,支持事务消息、顺序消息、定时消息等多种消息类型,并具备高可靠、高吞吐、低延时等金融级特性。

        要想兼容使用RocketMQ和SOFAMQ,提供以下的技术方案:

  • 定义生产者消费者通用的使用方法
  • 按照RocketMQ和SOFAMQ分别定义对应的消息渠道,分为输入输出渠道
  • 同时配置RocketMQ和SOFAMQ的MessageListener

注意:

以上方案都是文字上的,具体的技术实现还需要根据代码调试,文字语术持续润色中...

参考:

金融分布式架构 SOFAStack - 帮助中心 - 阿里云

SOFABoot 介绍 · SOFAStack

你可能感兴趣的:(spring,cloud,SOFAStack,spring,cloud,java)