• 一种基于特性开关以及规则的软件开发模式


    以下是一些简单的思考

    一般开发模式

    • 参考图

    • 说明

    我们提供多种api 实例,通过强大的规则以及路由能力提供api 以及数据的处理

    基于rule 模式的

    • 参考图

    • 说明 
      将业务处理使用rule 解耦,同时提供了多实例的副本,其中rule 可以加入审计以及可视化展示,注意此图没有使用特性开关 
      对于复杂的处理我们还是需要依赖强大的路由能力解决(当然可以解决我们大部分的复杂业务问题)

    基于rule+ Feature Flags

    • 参考图

    • 说明 
      api 的版本都是一致的,对于复杂业务处理基于rule,同时包含了审计以及dashboard,同样还是利用了强大的路由能力。 
      好处:版本一致,可以全局灵活的调整业务api以及功能的处理,对于复杂业务基于rule处理增强了业务的处理

    说明

    一些实践,特性开关不同语言的实现还是比较多的,java 的ff4j是一个不错的选择,java 的easy-rules 是一个简单、灵活的规则 
    引擎(drools 也是不错的)

  • 相关阅读:
    Unix下5种I/O模型
    UDP/TCP拾遗
    智能指针
    YUV的数据格式
    OpenCV中RGB和HSV转换的问题
    RGB、YUV和HSV颜色空间模型
    const成员函数和mutable关键字
    设计模式--观察者模式Observer(对象行为型)
    linux备忘簿
    ctags使用详解(转载)
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/12734812.html
Copyright © 2020-2023  润新知