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


    以下是一些简单的思考

    一般开发模式

    • 参考图

    • 说明

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

    基于rule 模式的

    • 参考图

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

    基于rule+ Feature Flags

    • 参考图

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

    说明

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

  • 相关阅读:
    知识点
    nodejs总结之redis模块
    nodejs总结之日志模块log4js
    各种类型的串口说明
    linux常用命令
    JAVA总结之编码
    JAVA总结之异常
    JAVA总结之方法重载
    JAVA总结之关键字static和final
    JAVA总结之数组篇
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/12734812.html
Copyright © 2020-2023  润新知