English|中文
如果你是第一次了解 Nature , 建议你从头到尾阅读这些 Demo。 每个章节都包含一些不同的 Nature 要点,以帮助你更好的了解 Nature 以及如何用 Nature 独有的方式来解决问题;同时阐述Nature 是如何简化技术性代码,使开发人员的聚焦于业务本身。如何启动 Nature 项目请参考:项目准备
这个Demo涉及的场景比较多,如订单,支付,库房,配送以及多维度的销售统计等。
这并不是一个完整的用于实际生产的例子,我们只关注业务核心逻辑。
| 章节 | 内容摘要 | Nature 要点 |
| -------------------------------------------------- | ------------------------------------------ | ------------------------------------------------------------ |
| 生成订单 | 用户向 Nature 提交一个订单 | Meta
, master meta
, target-state, Converter
,提交Instance
到Nature。 |
| 支付订单 | 用户可以对一个金额比较大的订单进行多次支付 | 选择上游,系统上下文(target.id), 并发冲突控制 |
| 出库 | 库房的系统比较老旧,处理订单比较慢 | 提交state-instance
,回调,与已有系统的对接。 |
| 配送 | 和第三方协作 | 参数化输入 |
| 签收 | 用户接收了订单中的货物 | 延迟转换 |
可以把Nature 看做一个简单的流式计算框架。
下面给出一个班级成绩统计的例子,具体需求是这样的。
| chapter | digest | key points | | ------------------------------------------------------------ | ---------------------------------- | ------------------ | | 求出每个人各科的总分 | 利用状态数据完成个人所有科目的统计 | 参数化输入状态数据 | | 求出班级每科的Top | | | | 求出班级总分的top | | |