运筹决策 BaiCe(百策)

运筹决策 BaiCe(百策)

1 系统设计

+-----------------------------------------------------------+
| +source-------+                                           |
| | +---------+ |                                           |
| | | bianque | |       +-----------+        +------------+ |
| | +---------+ | event |           | action |            | |
| |             +------>|   baice   +------->|  xingqiao  | |
| | +---------+ |       |           |        |            | |
| | | xxx     | |       +-----+-----+        +------------+ |
| | +---------+ |             |                             |
| +-------------+             |                             |
|                       +-----V-----+                       |
|                       |    DB     |                       |
|                       +-----------+                       |
+-----------------------------------------------------------+

1.1 存储 cloudevent

将 cloudevent 存储

1.2 发布事件

  • 发布 cloudevent create 事件

  • 发布 cloudevent 数据变化事件

1.3 执行决策(插件)

执行相应插件,发起 action(可以创建星桥 workflow,也可以直接执行某个任务)

  • 局部决策:

    • 监听 source create 事件, 进行决策

    • 监听 source 数据变化事件, 进行决策(IFTTT: if this than that)

  • 全局决策

    • 定时任务

可以设置冷却期,冷却期间不再发 action 任务

2 上下游

  • 〖扁鹊〗产生一个 event(cloudevent),将其 push 到消息队列中

  • 〖百策〗将 event 进行存储,并根据 rule 规则生成任务

    • 存储 cloudevent

    • 发布 cloudevent create 事件

    • 发布 cloudevent 数据变化事件

  • 〖星桥〗工作流进行执行具体任务

3 实践

3.1 volume_resize_demo

Last updated