seninel部署
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

148 line
8.3KB

  1. <div>
  2. <span class="brand" style="font-weight:bold;">{{flowRuleDialog.title}}</span>
  3. <div class="card" style="margin-top: 20px;margin-bottom: 10px;">
  4. <div class="panel-body">
  5. <div class="row">
  6. <form role="form" class="form-horizontal">
  7. <div class="form-group">
  8. <label class="col-sm-2 control-label">资源名</label>
  9. <div class="col-sm-9">
  10. <input type="text" ng-if="flowRuleDialog.type == 'edit'" class="form-control" placeholder="资源名" ng-model='currentRule.resource'
  11. disabled="" />
  12. <input type="text" ng-if="flowRuleDialog.type == 'add'" class="form-control highlight-border" placeholder="资源名" ng-model='currentRule.resource'
  13. />
  14. </div>
  15. </div>
  16. <div class="form-group">
  17. <label class="col-sm-2 control-label" data-toggle="tooltip" title="流控针对应用,即流量入口的调用来源(origin)">来源应用</label>
  18. <div class="col-sm-9">
  19. <input type="text" class="form-control highlight-border" ng-model='currentRule.limitApp' placeholder='指调用方,"default"表示所有应用。'
  20. />
  21. </div>
  22. </div>
  23. <div class="form-group">
  24. <label class="col-sm-2 control-label">阈值类型</label>
  25. <div class="col-sm-4">
  26. <div class="form-control highlight-border" align="center">
  27. <input type="radio" name="grade" value="1" checked ng-model='currentRule.grade' />&nbsp;QPS&nbsp;&nbsp;
  28. <input type="radio" name="grade" value="0" ng-model='currentRule.grade' />&nbsp;线程数
  29. </div>
  30. </div>
  31. <div ng-if="!currentRule.clusterMode">
  32. <label class="col-sm-2 control-label">单机阈值</label>
  33. <div class="col-sm-3">
  34. <input type='number' min="0" class="form-control highlight-border" ng-model='currentRule.count' placeholder="单机阈值" />
  35. </div>
  36. </div>
  37. <div ng-if="currentRule.clusterMode && currentRule.clusterConfig.thresholdType == 0">
  38. <label class="col-sm-2 control-label">均摊阈值</label>
  39. <div class="col-sm-3">
  40. <input type='number' min="0" class="form-control highlight-border" ng-model='currentRule.count' placeholder="单机均摊阈值" />
  41. </div>
  42. </div>
  43. <div ng-if="currentRule.clusterMode && currentRule.clusterConfig.thresholdType == 1">
  44. <label class="col-sm-2 control-label">集群阈值</label>
  45. <div class="col-sm-3">
  46. <input type='number' min="0" class="form-control highlight-border" ng-model='currentRule.count' placeholder="集群总体阈值" />
  47. </div>
  48. </div>
  49. </div>
  50. <div class="form-group">
  51. <label class="col-sm-2 control-label">是否集群</label>
  52. <div class="col-sm-2">
  53. <label class="checkbox-inline">
  54. <input type="checkbox" name="clusterMode" ng-model="currentRule.clusterMode">
  55. </label>
  56. </div>
  57. <div ng-if="currentRule.clusterMode">
  58. <label class="col-sm-3 control-label">集群阈值模式</label>
  59. <div class="col-sm-4">
  60. <div class="form-control highlight-border" align="center">
  61. <input type="radio" name="clusterThresholdType" value="0" ng-model='currentRule.clusterConfig.thresholdType' />&nbsp;单机均摊&nbsp;&nbsp;
  62. <input type="radio" name="clusterThresholdType" value="1" ng-model='currentRule.clusterConfig.thresholdType' />&nbsp;总体阈值
  63. </div>
  64. </div>
  65. </div>
  66. </div>
  67. <div class="form-group" ng-if="currentRule.clusterMode">
  68. <label class="col-sm-2 control-label">失败退化</label>
  69. <div class="col-sm-8">
  70. <label class="checkbox-inline">
  71. <input type="checkbox" name="clusterMode" ng-model="currentRule.clusterConfig.fallbackToLocalWhenFail">
  72. <i class="glyphicon glyphicon-info-sign"></i>如果集群限流失败是否退化到单机限流
  73. </label>
  74. </div>
  75. </div>
  76. <div ng-if="!flowRuleDialog.showAdvanceButton">
  77. <div class="form-group">
  78. <label class="col-sm-2 control-label" title="调用关系流控模式">流控模式</label>
  79. <div class="col-sm-9">
  80. <div class="form-control highlight-border" align="center">
  81. <input type="radio" name="strategy" value="0" ng-model='currentRule.strategy' />&nbsp;直接&nbsp;&nbsp;
  82. <input type="radio" name="strategy" value="1" ng-model='currentRule.strategy' />&nbsp;关联&nbsp;&nbsp;
  83. <input type="radio" name="strategy" value="2" ng-model='currentRule.strategy' />&nbsp;链路&nbsp;&nbsp;
  84. </div>
  85. </div>
  86. </div>
  87. <div class="form-group" ng-show="currentRule.strategy==1">
  88. <label class="col-sm-2 control-label">关联资源</label>
  89. <div class="col-sm-9">
  90. <input type="text" class="form-control highlight-border" placeholder="关联资源" ng-model='currentRule.refResource' />
  91. </div>
  92. </div>
  93. <div class="form-group" ng-show="currentRule.strategy==2">
  94. <label class="col-sm-2 control-label">入口资源</label>
  95. <div class="col-sm-9">
  96. <input type="text" class="form-control highlight-border" placeholder="入口资源" ng-model='currentRule.refResource' />
  97. </div>
  98. </div>
  99. </div>
  100. <div ng-if="currentRule.grade==1 && !flowRuleDialog.showAdvanceButton">
  101. <div class="form-group">
  102. <label class="col-sm-2 control-label">流控效果</label>
  103. <div class="col-sm-9">
  104. <div class="form-control highlight-border" align="center">
  105. <input type="radio" name="controlBehavior" value="0" checked ng-model='currentRule.controlBehavior' />&nbsp;快速失败&nbsp;&nbsp;
  106. <input type="radio" name="controlBehavior" value="1" ng-model='currentRule.controlBehavior' />&nbsp;Warm Up&nbsp;&nbsp;
  107. <input type="radio" name="controlBehavior" value="2" ng-model='currentRule.controlBehavior' />&nbsp;排队等待
  108. </div>
  109. </div>
  110. </div>
  111. <div class="form-group">
  112. <div ng-if="currentRule.controlBehavior==1">
  113. <label class="col-sm-2 control-label">预热时长</label>
  114. <div class="col-sm-9">
  115. <input type='number' class="form-control highlight-border" ng-model='currentRule.warmUpPeriodSec' placeholder="秒" />
  116. </div>
  117. </div>
  118. <div ng-if="currentRule.controlBehavior==2">
  119. <label class="col-sm-2 control-label">超时时间</label>
  120. <div class="col-sm-9">
  121. <input type='number' class="form-control highlight-border" ng-model='currentRule.maxQueueingTimeMs' placeholder="毫秒" />
  122. </div>
  123. </div>
  124. </div>
  125. </div>
  126. <div class="form-group text-center">
  127. <a ng-click="onOpenAdvanceClick()" ng-if="flowRuleDialog.showAdvanceButton" style="cursor: pointer;">高级选项</a>
  128. <a ng-click="onCloseAdvanceClick()" ng-if="!flowRuleDialog.showAdvanceButton" style="cursor: pointer;">关闭高级选项</a>
  129. </div>
  130. </form>
  131. </div>
  132. <div class="separator"></div>
  133. <div clss="row" style="margin-top: 20px;">
  134. <button class="btn btn-outline-danger" style="float:right; height: 30px;font-size: 12px;margin-left: 10px;" ng-click="closeThisDialog()">取消</button>
  135. <button class="btn btn-outline-success" style="float:right; height: 30px;font-size: 12px;margin-left: 10px;" ng-click="saveRule()">{{flowRuleDialog.confirmBtnText}}</button>
  136. <button ng-if="flowRuleDialog.saveAndContinueBtnText" class="btn btn-default" style="float:right; height: 30px;font-size: 12px;"
  137. ng-click="saveRuleAndContinue()">{{flowRuleDialog.saveAndContinueBtnText}}</button>
  138. </div>
  139. </div>
  140. </div>
  141. </div>