分布式领域扩展点设计稿

分布式领域扩展点设计稿

背景

随着交易业务和基础知识的沉淀,愈发觉得扩展点可以在大型交易分布式架构中可以做更多的事情。

经过一个月的思考,决定将 单点领域扩展点(savior-ext) 从原有的 savior架构 中剥离开来,升级成为 分布式领域扩展点(sext) ,之后单独去维护和迭代。

坐标

官网:轻量级分布式技术解决方案框架 - Savior

分布式领域扩展点(新 · 完全兼容上一个大版本 · 可直接替换坐标)

xml 复制代码
<dependency>
    <groupId>cn.sunjinxin.savior</groupId>
    <artifactId>sext</artifactId>
    <version>2.0.0-SNAPSHOT</version>
</dependency>

领域扩展点(旧)

xml 复制代码
<dependency>
    <groupId>cn.sunjinxin.savior</groupId>
    <artifactId>savior</artifactId>
    <version>1.0.5</version>
</dependency>

设计理念

作为一名工程师,我深知一个框架引入到系统中会带来很大的便利,但同时也会让系统设计和架构升级以及业务迭代变得更加复杂。

所以该分布式领域扩展点框架具备以下几种特性

  1. 轻量化(引入轻量、API轻量,达到一键启动)
  2. 可插拔(防止应用架构变得沉重,业务点可随时一键剔除,一键替换)
  3. 可编排(可达到工作流的编排能力,对业务能够达到充分的抽象化)
  4. 可配置(基于配置中心能力,对框架所有能力和服务动态配置)
  5. 可灰度(可通过对流量进行染色,设置流量权重,达到灰度可能)
  6. 可监控(对框架所覆盖的业务指标和相关基础设施指标进行监控)
  7. 可降级(对编排的扩展点进行熔断降级,提高系统的可用性)
  8. 可扩展(基本的业务扩展能力,以及供开发人员在应用层扩展框架的能力)

设计图

Quick Start

在启动类上标注@Savior注解,即可启动Savior框架所有组件的功能。

java 复制代码
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.SpringApplication;
import cn.sunjinxin.savior.core.anno.Savior;

/**
 * @author issavior
 * @date 1314/05/20 00:00:00
 */
@Savior
@SpringBootApplication
public class AppRun {
    public static void main(String[] args) {
        SpringApplication.run(AppRun.class, args);
    }
}

相关组件

Savior框架中的组件亦可以独立引入,目前支持的组件:

组件 说明
savior-ext 扩展点
savior-mq 消息队列
savior-toc 超时中心
savior-rule 规则引擎
savior-lock 分布式锁
savior-retry 重试机制
savior-event 事件总线
savior-cache 多级缓存
savior-workflow 工作流
... ...
相关推荐
song5011 天前
鸿蒙 Flutter 图像识别进阶:物体分类与花卉识别(含离线模型)
人工智能·分布式·python·flutter·3d·华为·分类
西格电力科技1 天前
源网荷储与碳中和:推动能源清洁转型的关键路径
大数据·人工智能·分布式·系统架构·能源
-Xie-1 天前
Redis(十四)——分布式锁
数据库·redis·分布式
武子康1 天前
Java-190 EVCache入门:Netflix 级分布式缓存架构、性能指标与多区域部署全解析
java·redis·分布式·缓存·架构·guava·guava cache
500841 天前
鸿蒙 Flutter 分布式硬件调用:跨设备摄像头 / 麦克风共享
分布式·flutter·华为·electron·wpf·开源鸿蒙
Jerry952706281 天前
1.什么式可用性
java·分布式·后端·架构·高可用·秒杀
醉风塘1 天前
RabbitMQ状态与配置深度解读:构建高性能消息中间件的关键指标
分布式·rabbitmq
赵得C1 天前
软件设计师前沿考点精讲:新兴技术与性能优化实战
java·开发语言·分布式·算法·设计模式·性能优化
摇滚侠1 天前
分布式锁,etcd,redis,ZooKeeper
redis·分布式·etcd
a程序小傲1 天前
美团二面:KAFKA能保证顺序读顺序写吗?
java·分布式·后端·kafka