Skip to content
/ eosc Public

Eosc is a high performance middleware development framework

License

Notifications You must be signed in to change notification settings

eolinker/eosc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

efc9a15 · Apr 27, 2025
Jan 3, 2024
Apr 25, 2024
Sep 14, 2024
May 17, 2024
Nov 28, 2022
Mar 13, 2024
Mar 14, 2025
Nov 19, 2024
Feb 20, 2025
Mar 13, 2024
Apr 16, 2024
Jul 18, 2022
Apr 27, 2025
May 17, 2024
Sep 14, 2024
Mar 13, 2024
Feb 20, 2025
Apr 9, 2024
Nov 29, 2024
Jun 26, 2024
Apr 24, 2024
Dec 22, 2022
Oct 27, 2022
Jun 7, 2023
Apr 11, 2024
Feb 20, 2025
Apr 7, 2024
Apr 19, 2024
Mar 10, 2025
Jul 6, 2022
Mar 27, 2024
Nov 28, 2022
May 25, 2022
Mar 10, 2025
Feb 22, 2023
Apr 15, 2024
Nov 22, 2021
Apr 2, 2024
May 25, 2022
Feb 24, 2023
Mar 13, 2024
Apr 16, 2024
Jun 26, 2024
May 20, 2024
Apr 15, 2024
Apr 11, 2024
Apr 15, 2024
Nov 28, 2022
May 25, 2022
May 25, 2022
Oct 27, 2022
Aug 24, 2022
Mar 27, 2023
Nov 28, 2022
Mar 13, 2024
Apr 15, 2024
Jun 20, 2022
Aug 16, 2022

Repository files navigation

架构

image

抽象概念

profession

profession:职业,定义抽象分类

  1. profession定义名是唯一的,在框架中等于常量,不区分大小写, 只能用 字母、数字、下划线
    • 例如: upstream,service,router,plugin
  2. profession 定义列表字段,以及列表默认值
  3. 所有的配置项目都是profession实例,实例必须具有如下属性
    • id: uuid,全局唯一
    • name: name, 同profession内唯一
    • driver: 实现该实例的驱动名
  4. profession 实例需要实现销毁方法,框架会检查依赖关系并中断销毁

目前已知可能有的 profession 定义有

  • upstream
  • service
  • router
  • service discovery
  • auth

driver

driver:驱动,定义一个profession并实现能力

  1. driver需要定义一个render 给 admin ui 处理界面
  2. driver 实现检查 profession 的属性
  3. driver 实现通过 profession 的属性实例话运行的实例并完成运行状态的
  4. profession 实例的能力和属性由driver来定义
  5. driver 声明一个能力清单, 在实例依赖另一个实例时,通过查询对方能力来决定是否可用,并在执行时使用该能力