【Lattice】设计原理

简介: Lattice 是一个轻量级业务扩展调用框架,通过模块化架构实现复杂业务定制的高效管理。支持动态发现、加载与执行扩展,提供清晰的分层设计,集成 Spring、Dubbo 等主流技术,助力企业应用灵活扩展。

https://github.com/hiforce/lattice

概述

本文档对 Lattice 框架进行了技术介绍。Lattice 是一个轻量级的业务扩展调用系统,旨在高效地组织和管理复杂的业务定制。Lattice 提供模块化架构,并具备动态发现、加载和执行业务扩展的机制。

目的和范围

Lattice旨在解决复杂企业应用程序中业务定制管理的难题。它提供了一种结构化的方法来定义、发现和执行业务扩展,同时保持清晰的关注点分离并避免代码重复。

正如项目主 POM 文件中所述:“Lattice 是一个功能强大、轻量级的业务扩展调用框架。通过使用 Lattice 框架,可以高效地组织和管理复杂的业务定制。”pom.xml12-15

本概述涵盖了 Lattice 框架的高级架构和核心概念。有关特定组件的详细信息,请参阅其各自的文档页面。

框架架构

Lattice 采用模块化架构,围绕几个关键组件构建:

高级系统架构

 
    

Lattice框架由四个主要模块组成:

  1. lattice-model:包含定义扩展框架的核心数据结构和接口。
  2. lattice-runtime:实现了用于发现和执行扩展的运行时系统。
  3. lattice-tools:提供用于构建时处理、配置加载和动态类加载的实用程序。
  4. lattice-remote:通过 RPC 机制实现扩展的远程执行。

核心概念

Lattice 的构建围绕着几个关键概念展开,这些概念构成了它的扩展模型:

image.png


Lattice框架中的关键实体包括:

  1. 业务:代表可能需要定制的业务领域或场景。
  2. 产品:业务领域内相关功能的集合。
  3. 用例:需要特定功能的具体业务用例。
  4. 功能:定义扩展程序可以执行哪些操作的功能接口。
  5. 扩展:在特定业务环境中实际实现某项功能。

该框架遵循基于模板的方法,其中业务、产品和用例通过规范对象来定义,这些规范对象构成了扩展点的结构。

执行模型

Lattice 运行时通过结构化流程管理扩展的发现、加载和执行:


image.png


执行流程通常包括:

  1. 初始化 Lattice 运行时,注册所有能力、业务、产品和用例
  2. 应用程序代码通过委托调用功能
  3. 代表根据业务上下文发现适用的扩展
  4. 执行业务逻辑的扩展程序
  5. 结果汇总后返回给应用程序。

集成能力

Lattice旨在与多种常用框架和技术集成:


image.png



Lattice 支持与以下系统集成:

  1. Spring框架:用于依赖注入和组件管理
  2. Apache Dubbo:用于分布式环境中的远程过程调用
  3. Maven:用于构建时处理和元数据生成
  4. 动态加载:用于运行时加载扩展 JAR 文件

构建工具和配置

Lattice 提供构建时工具,用于扫描、分析和注册扩展:


image.png


入门

要在项目中使用 Lattice,请包含核心依赖项:

<dependency>
    <groupId>org.hiforce.lattice</groupId>
    <artifactId>lattice-model</artifactId>
    <version>${version.lattice}</version>
</dependency>
<dependency>
    <groupId>org.hiforce.lattice</groupId>
    <artifactId>lattice-runtime</artifactId>
    <version>${version.lattice}</version>
</dependency>

有关晶格框架具体组成部分的更多详细信息,请参阅:

Framework Structure

The Lattice framework follows a layered architecture with clear separation of concerns:

Layer Module Purpose
Model lattice-model Core data structures and interfaces
Runtime lattice-runtime Extension discovery and execution
Tools lattice-tools Build-time and runtime utilities
Remote lattice-remote Remote execution capabilities


This modular approach allows developers to use only the components they need, providing flexibility in how the framework is incorporated into applications.



目录
相关文章
|
20天前
|
人工智能 编解码 自然语言处理
大模型图像生成技术深度解析:从文字到视觉的魔法
图片识别的核心原理 从像素到理解:视觉特征的层次化提取
|
17天前
|
设计模式 数据管理 领域建模
【attice-model 】 源码分析
lattice-model 是 Lattice 框架的核心模块,定义了 Ability、Business 等关键领域模型与元数据结构。通过注解驱动、编译期处理与 SPI 扩展机制,实现配置与代码统一、运行时支撑及插件化隔离,为上层提供高扩展、易维护的架构基础。(238 字)
195 69
|
21天前
|
运维 监控 供应链
Alibaba交易平台TMF2.0介绍
2017双11交易峰值达32.5万笔/秒,面对高并发与复杂业务需求,阿里推出TMF2.0框架,通过业务与平台分离、全链路可视化、配置化发布等创新,实现需求开发周期缩短至12天,支撑多业务快速试错与复用,构建可配置、可监控、可运维的电商技术新体系。
130 5
Alibaba交易平台TMF2.0介绍
|
数据可视化 图形学 开发者
【Qt 底层机制之图形渲染引擎】深入理解 Qt 的 渲染机制:从基础渲染到高级图形
【Qt 底层机制之图形渲染引擎】深入理解 Qt 的 渲染机制:从基础渲染到高级图形
1979 4
|
存储 运维 容灾
带你读《企业数字化基石-阿里巴巴云计算基础设施实践》第二章TOC建模2.3TCO最优
《企业数字化基石-阿里巴巴云计算基础设施实践》第二章TOC建模2.3
760 0
带你读《企业数字化基石-阿里巴巴云计算基础设施实践》第二章TOC建模2.3TCO最优
|
分布式计算 并行计算 数据库
Schedulerx2.0分布式计算原理&最佳实践
1. 前言 Schedulerx2.0的客户端提供分布式执行、多种任务类型、统一日志等框架,用户只要依赖schedulerx-worker这个jar包,通过schedulerx2.0提供的编程模型,简单几行代码就能实现一套高可靠可运维的分布式执行引擎。
26874 2
|
4月前
|
NoSQL Java 关系型数据库
Java 从入门到进阶完整学习路线图规划与实战开发最佳实践指南
本文为Java开发者提供从入门到进阶的完整学习路线图,涵盖基础语法、面向对象、数据结构与算法、并发编程、JVM调优、主流框架(如Spring Boot)、数据库操作(MySQL、Redis)、微服务架构及云原生开发等内容,并结合实战案例与最佳实践,助力高效掌握Java核心技术。
402 1
|
存储 NoSQL 算法
全链路营销|基于事件驱动的流程编排系统
本文主要介绍了 AE 策略中心的技术方案选型与落地实战。
|
前端开发 编译器 C#
【WPF】聊聊WPF中INotifyPropertyChanged [TOC]
【WPF】聊聊WPF中INotifyPropertyChanged [TOC]
230 0