merge hongqiaowei modules-starter (#107)
update: remove docs dir and set fizz-spring-boot-starter as submodule of fizz-gateway-community
@@ -1,19 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en-US">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
||||||
<title>Fizz Gateway</title>
|
|
||||||
<meta name="generator" content="VuePress 1.5.2">
|
|
||||||
|
|
||||||
<meta name="description" content="">
|
|
||||||
<link rel="preload" href="/assets/css/0.styles.1a4b7b81.css" as="style"><link rel="preload" href="/assets/js/app.efb450d4.js" as="script"><link rel="preload" href="/assets/js/4.9e51e17c.js" as="script"><link rel="prefetch" href="/assets/js/10.3c989e54.js"><link rel="prefetch" href="/assets/js/11.a76c2e4c.js"><link rel="prefetch" href="/assets/js/12.9b8b7937.js"><link rel="prefetch" href="/assets/js/13.52740b54.js"><link rel="prefetch" href="/assets/js/14.27ba8a23.js"><link rel="prefetch" href="/assets/js/15.791d6b9d.js"><link rel="prefetch" href="/assets/js/16.c487dae0.js"><link rel="prefetch" href="/assets/js/17.65f826a9.js"><link rel="prefetch" href="/assets/js/18.603a235b.js"><link rel="prefetch" href="/assets/js/19.14c3cafc.js"><link rel="prefetch" href="/assets/js/2.60c09e20.js"><link rel="prefetch" href="/assets/js/20.b646f0b0.js"><link rel="prefetch" href="/assets/js/21.081e4e30.js"><link rel="prefetch" href="/assets/js/22.ddeb9465.js"><link rel="prefetch" href="/assets/js/23.f1118a32.js"><link rel="prefetch" href="/assets/js/24.72fe0b8b.js"><link rel="prefetch" href="/assets/js/25.bbf8bff1.js"><link rel="prefetch" href="/assets/js/26.92e9b6ec.js"><link rel="prefetch" href="/assets/js/27.505a813e.js"><link rel="prefetch" href="/assets/js/28.cdddd7aa.js"><link rel="prefetch" href="/assets/js/29.ab810898.js"><link rel="prefetch" href="/assets/js/3.c3fe6d17.js"><link rel="prefetch" href="/assets/js/30.0222f21c.js"><link rel="prefetch" href="/assets/js/31.0012b621.js"><link rel="prefetch" href="/assets/js/5.ddeac0a1.js"><link rel="prefetch" href="/assets/js/6.e883523c.js"><link rel="prefetch" href="/assets/js/7.00dd2642.js"><link rel="prefetch" href="/assets/js/8.b37e0826.js"><link rel="prefetch" href="/assets/js/9.88cc55c9.js">
|
|
||||||
<link rel="stylesheet" href="/assets/css/0.styles.1a4b7b81.css">
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="app" data-server-rendered="true"><div class="theme-container"><div class="theme-default-content"><h1>404</h1> <blockquote>How did we get here?</blockquote> <a href="/" class="router-link-active">
|
|
||||||
Take me home.
|
|
||||||
</a></div></div><div class="global-ui"></div></div>
|
|
||||||
<script src="/assets/js/app.efb450d4.js" defer></script><script src="/assets/js/4.9e51e17c.js" defer></script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
Before Width: | Height: | Size: 105 KiB |
|
Before Width: | Height: | Size: 126 KiB |
|
Before Width: | Height: | Size: 156 KiB |
|
Before Width: | Height: | Size: 126 KiB |
|
Before Width: | Height: | Size: 116 KiB |
|
Before Width: | Height: | Size: 58 KiB |
|
Before Width: | Height: | Size: 113 KiB |
|
Before Width: | Height: | Size: 100 KiB |
|
Before Width: | Height: | Size: 259 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 156 KiB |
|
Before Width: | Height: | Size: 298 KiB |
|
Before Width: | Height: | Size: 146 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 80 KiB |
|
Before Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 127 KiB |
|
Before Width: | Height: | Size: 117 KiB |
|
Before Width: | Height: | Size: 75 KiB |
|
Before Width: | Height: | Size: 120 KiB |
|
Before Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 153 KiB |
|
Before Width: | Height: | Size: 115 KiB |
|
Before Width: | Height: | Size: 101 KiB |
|
Before Width: | Height: | Size: 152 KiB |
|
Before Width: | Height: | Size: 141 KiB |
|
Before Width: | Height: | Size: 192 KiB |
@@ -1 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="12" height="13"><g stroke-width="2" stroke="#aaa" fill="none"><path d="M11.29 11.71l-4-4"/><circle cx="5" cy="5" r="4"/></g></svg>
|
|
||||||
|
Before Width: | Height: | Size: 216 B |
@@ -1 +0,0 @@
|
|||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{355:function(t,v,e){"use strict";e.r(v);var r=e(42),_=Object(r.a)({},(function(){var t=this,v=t.$createElement,e=t._self._c||v;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("p",[t._v("1.创建服务")]),t._v(" "),e("p",[t._v("此服务是一个分组的概念,可以包含多个聚合接口,类似于微服务体系里的服务")]),t._v(" "),e("p",[t._v("2.创建服务编排接口")]),t._v(" "),e("p",[t._v("3.开通网关白名单和配置访问策略和插件")]),t._v(" "),e("p",[t._v("4.测试服务编排接口")]),t._v(" "),e("p",[t._v("5.发布接口")]),t._v(" "),e("p",[t._v("界面总览")]),t._v(" "),e("p",[e("img",{attrs:{src:"/aggr_overview1.png",alt:""}})]),t._v(" "),e("p",[e("img",{attrs:{src:"/aggr_overview2.png",alt:""}})])])}),[],!1,null,null,null);v.default=_.exports}}]);
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{357:function(t,_,v){"use strict";v.r(_);var a=v(42),e=Object(a.a)({},(function(){var t=this,_=t.$createElement,v=t._self._c||_;return v("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[v("h2",{attrs:{id:"基准测试结果"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#基准测试结果"}},[t._v("#")]),t._v(" 基准测试结果")]),t._v(" "),v("p",[t._v("我们将Fizz与Spring官方spring-cloud-gateway进行比较,使用相同的环境和条件,测试对象均为单个节点。")]),t._v(" "),v("table",[v("thead",[v("tr",[v("th",{staticStyle:{"text-align":"center"}},[t._v("产品")]),t._v(" "),v("th",[t._v("QPS")]),t._v(" "),v("th",[t._v("90% Latency(ms)")])])]),t._v(" "),v("tbody",[v("tr",[v("td",{staticStyle:{"text-align":"center"}},[t._v("直接访问后端服务")]),t._v(" "),v("td",[t._v("9087.46")]),t._v(" "),v("td",[t._v("10.76")])]),t._v(" "),v("tr",[v("td",{staticStyle:{"text-align":"center"}},[t._v("fizz-gateway")]),t._v(" "),v("td",[t._v("5927.13")]),t._v(" "),v("td",[t._v("19.86")])]),t._v(" "),v("tr",[v("td",{staticStyle:{"text-align":"center"}},[t._v("spring-cloud-gateway")]),t._v(" "),v("td",[t._v("5044.04")]),t._v(" "),v("td",[t._v("22.91")])])])]),t._v(" "),v("h2",{attrs:{id:"基准测试详情"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#基准测试详情"}},[t._v("#")]),t._v(" 基准测试详情")]),t._v(" "),v("h3",{attrs:{id:"硬件环境"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#硬件环境"}},[t._v("#")]),t._v(" 硬件环境")]),t._v(" "),v("p",[t._v("后端服务所在服务器:")]),t._v(" "),v("p",[t._v("4核8G内存")]),t._v(" "),v("p",[t._v("Intel(R) Xeon(R) CPU X5675 @ 3.07GHz * 4")]),t._v(" "),v("p",[t._v("Linux version 3.10.0-327.el7.x86_64")]),t._v(" "),v("p",[t._v("节点所在服务器:")]),t._v(" "),v("p",[t._v("4核8G内存")]),t._v(" "),v("p",[t._v("Intel(R) Xeon(R) CPU X5675 @ 3.07GHz * 4")]),t._v(" "),v("p",[t._v("Linux version 3.10.0-327.el7.x86_64")]),t._v(" "),v("p",[t._v("压测程序所在服务器:")]),t._v(" "),v("p",[t._v("4核8G内存")]),t._v(" "),v("p",[t._v("Intel(R) Xeon(R) CPU X5675 @ 3.07GHz * 4")]),t._v(" "),v("p",[t._v("Linux version 3.10.0-327.el7.x86_64")]),t._v(" "),v("h3",{attrs:{id:"压测工具"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#压测工具"}},[t._v("#")]),t._v(" 压测工具")]),t._v(" "),v("p",[t._v("压测软件:wrk")]),t._v(" "),v("p",[t._v("并发连接: 100")]),t._v(" "),v("h3",{attrs:{id:"压测结果截图"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#压测结果截图"}},[t._v("#")]),t._v(" 压测结果截图")]),t._v(" "),v("ul",[v("li",[v("p",[t._v("直接访问后端服务:\n"),v("img",{attrs:{src:"/benchmark_backend.png",alt:""}})])]),t._v(" "),v("li",[v("p",[t._v("fizz-gateway:\n"),v("img",{attrs:{src:"/benchmark_fizz.png",alt:""}})])]),t._v(" "),v("li",[v("p",[t._v("spring-cloud-gateway:\n"),v("img",{attrs:{src:"/benchmark_scgw.png",alt:""}})])])])])}),[],!1,null,null,null);_.default=e.exports}}]);
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{367:function(t,a,v){"use strict";v.r(a);var i=v(42),_=Object(i.a)({},(function(){var t=this,a=t.$createElement,v=t._self._c||a;return v("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[v("h2",{attrs:{id:"什么是fizz网关"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#什么是fizz网关"}},[t._v("#")]),t._v(" 什么是Fizz网关")]),t._v(" "),v("p",[t._v("A Managerment API Gateway in Java . Fizz Gateway 是一个基于 Java开发的微服务网关,能够实现热服务编排、自动授权选择、线上服务脚本编码、在线测试、高性能路由、API审核管理等目的,拥有强大的自定义插件系统可以自行扩展,并且提供友好的图形化配置界面,能够快速帮助企业进行API服务治理、减少中间层胶水代码以及降低编码投入、提高 API 服务的稳定性和安全性。")]),t._v(" "),v("h2",{attrs:{id:"fizz的设计"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#fizz的设计"}},[t._v("#")]),t._v(" Fizz的设计")]),t._v(" "),v("p",[v("img",{attrs:{src:"/fizz_design.png",alt:""}})]),t._v(" "),v("h2",{attrs:{id:"产品特性"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#产品特性"}},[t._v("#")]),t._v(" 产品特性")]),t._v(" "),v("ul",[v("li",[t._v("集群管理:Fizz网关节点是无状态的,配置信息自动同步,支持节点水平拓展和多集群部署。")]),t._v(" "),v("li",[t._v("服务编排:支持热服务编排能力,支持前后端编码,随时随地更新API。")]),t._v(" "),v("li",[t._v("负载均衡:支持round-robin负载均衡。")]),t._v(" "),v("li",[t._v("服务发现:支持从Eureka注册中心发现后端服务器。")]),t._v(" "),v("li",[t._v("配置中心:支持接入apollo配置中心。")]),t._v(" "),v("li",[t._v("HTTP反向代理:隐藏真实后端服务,支持 Rest API反向代理。")]),t._v(" "),v("li",[t._v("访问策略:支持不同策略访问不同的API、配置不同的鉴权等。")]),t._v(" "),v("li",[t._v("IP黑白名单:支持配置IP黑白名单。")]),t._v(" "),v("li",[t._v("自定义插件:强大的插件机制支持自由扩展。")]),t._v(" "),v("li",[t._v("可扩展:简单易用的插件机制方便扩展功能。")]),t._v(" "),v("li",[t._v("高性能:性能在众多网关之中表现优异。")]),t._v(" "),v("li",[t._v("版本控制:支持操作的发布和多次回滚。")]),t._v(" "),v("li",[t._v("管理后台:通过管理后台界面对网关集群进行各项配置。")])])])}),[],!1,null,null,null);a.default=_.exports}}]);
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{360:function(a,r,t){"use strict";t.r(r);var e=t(42),_=Object(e.a)({},(function(){var a=this,r=a.$createElement,t=a._self._c||r;return t("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[t("h2",{attrs:{id:"概述"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#概述"}},[a._v("#")]),a._v(" 概述")]),a._v(" "),t("p",[a._v("聚合接口的发布|下线操作需要提交发布|下线申请,审核通过后申请人才能执行发布|下线操作。待审核功能用于审核发布|下线申请,下面介绍待审核功能。")]),a._v(" "),t("h2",{attrs:{id:"审核列表"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#审核列表"}},[a._v("#")]),a._v(" 审核列表")]),a._v(" "),t("p",[a._v("菜单位置:发布申请 > 待审核。点击菜单后进入审核列表页面,如图所示。")]),a._v(" "),t("p",[t("img",{attrs:{src:"/manager_aggregate_approve_list_query.png",alt:"manager_aggregate_approve_list_query"}})]),a._v(" "),t("h2",{attrs:{id:"审核操作"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#审核操作"}},[a._v("#")]),a._v(" 审核操作")]),a._v(" "),t("p",[a._v("点击 查看 按钮可以查看发布|下线申请详情,详情页中可执行审核操作。")]),a._v(" "),t("p",[a._v("申请列表页提供快速审核操作,点击 审核 按钮后弹出审核确认窗口,如图所示。")]),a._v(" "),t("p",[t("img",{attrs:{src:"/manager_aggregate_approve_op_1.png",alt:"manager_aggregate_approve_op_1"}})]),a._v(" "),t("p",[t("img",{attrs:{src:"/manager_aggregate_approve_op_2.png",alt:"manager_aggregate_approve_op_2"}})]),a._v(" "),t("p",[a._v("审核结果:勾选通过,审核后申请能可执行申请的操作;勾选不通过,审核后申请失败,申请人不能执行申请的操作。")]),a._v(" "),t("p",[a._v("审核后申请人会收到审核结果邮件通知,如下图是审核通过的邮件通知。")]),a._v(" "),t("p",[t("img",{attrs:{src:"/manager_aggregate_approve_op_3.png",alt:"manager_aggregate_approve_op_3"}})])])}),[],!1,null,null,null);r.default=_.exports}}]);
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{361:function(a,t,e){"use strict";e.r(t);var _=e(42),r=Object(_.a)({},(function(){var a=this,t=a.$createElement,e=a._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[e("h2",{attrs:{id:"概述"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#概述"}},[a._v("#")]),a._v(" 概述")]),a._v(" "),e("p",[a._v("管理后台记录了发布|下线申请的审核操作日志,审核日志功能提供界面查询后台记录的审核操作日志。")]),a._v(" "),e("h2",{attrs:{id:"审核日志列表"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#审核日志列表"}},[a._v("#")]),a._v(" 审核日志列表")]),a._v(" "),e("p",[a._v("菜单位置:发布申请 > 审核日志。点击菜单后进入审核日志列表页面,如图所示。")]),a._v(" "),e("p",[e("img",{attrs:{src:"/manager_aggregate_approve_op_log_list_query.png",alt:"manager_aggregate_approve_op_log_list_query"}})]),a._v(" "),e("h2",{attrs:{id:"审核日志详情"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#审核日志详情"}},[a._v("#")]),a._v(" 审核日志详情")]),a._v(" "),e("p",[a._v("点击 查看 按钮弹出审核日志详情页面,如图所示。")]),a._v(" "),e("p",[e("img",{attrs:{src:"/manager_aggregate_approve_op_log_detail_1.png",alt:"manager_aggregate_approve_op_log_detail_1"}})]),a._v(" "),e("p",[e("img",{attrs:{src:"/manager_aggregate_approve_op_log_detail_2.png",alt:"manager_aggregate_approve_op_log_detail_2"}})])])}),[],!1,null,null,null);t.default=r.exports}}]);
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{363:function(a,_,e){"use strict";e.r(_);var g=e(42),t=Object(g.a)({},(function(){var a=this,_=a.$createElement,e=a._self._c||_;return e("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[e("h2",{attrs:{id:"概述"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#概述"}},[a._v("#")]),a._v(" 概述")]),a._v(" "),e("p",[a._v("聚合接口的发布|下线操作需要提交发布|下线申请,审核通过后申请人才能执行发布|下线操作。我的申请功能用于发布|下线申请过程的相关操作,下面介绍我的申请功能。")]),a._v(" "),e("h2",{attrs:{id:"申请列表"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#申请列表"}},[a._v("#")]),a._v(" 申请列表")]),a._v(" "),e("p",[a._v("菜单位置:发布申请 > 我的申请。点击菜单后进入申请列表页面,如图所示。")]),a._v(" "),e("p",[e("img",{attrs:{src:"/manager_aggregate_my_apply_list_query.png",alt:"manager_aggregate_my_apply_list_query"}})]),a._v(" "),e("h2",{attrs:{id:"申请撤回"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#申请撤回"}},[a._v("#")]),a._v(" 申请撤回")]),a._v(" "),e("p",[a._v("对于已提交但未被审核的申请可执行撤回操作,点击 撤回 按钮弹出确认窗口,如图所示。")]),a._v(" "),e("p",[e("img",{attrs:{src:"/manager_aggregate_my_apply_revoke_1.png",alt:"manager_aggregate_my_apply_revoke_1"}})]),a._v(" "),e("p",[a._v("点击 确定 按钮后确认撤回申请,如图所示。")]),a._v(" "),e("p",[e("img",{attrs:{src:"/manager_aggregate_my_apply_revoke_2.png",alt:"manager_aggregate_my_apply_revoke_2"}})]),a._v(" "),e("p",[a._v("撤回后审核人会收到邮箱提醒无需再处理该申请,如图所示。")]),a._v(" "),e("p",[e("img",{attrs:{src:"/manager_aggregate_my_apply_revoke_3.png",alt:"manager_aggregate_my_apply_revoke_3"}})]),a._v(" "),e("p",[a._v("撤回后可对申请重新进行编辑后再次提交,点击 编辑 按钮后弹出编辑窗口,如图所示。")]),a._v(" "),e("p",[e("img",{attrs:{src:"/manager_aggregate_my_apply_revoke_4.png",alt:"manager_aggregate_my_apply_revoke_4"}})]),a._v(" "),e("p",[a._v("点击 确定 按钮后再次提交申请,如图所示。")]),a._v(" "),e("p",[e("img",{attrs:{src:"/manager_aggregate_my_apply_revoke_5.png",alt:"manager_aggregate_my_apply_revoke_5"}})]),a._v(" "),e("h2",{attrs:{id:"申请详情"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#申请详情"}},[a._v("#")]),a._v(" 申请详情")]),a._v(" "),e("p",[a._v("点击 查看 按钮查看申请详情。")]),a._v(" "),e("p",[e("img",{attrs:{src:"/manager_aggregate_my_apply_detail_1.png",alt:"manager_aggregate_my_apply_detail_1"}})]),a._v(" "),e("p",[e("img",{attrs:{src:"/manager_aggregate_my_apply_detail_2.png",alt:"manager_aggregate_my_apply_detail_2"}})]),a._v(" "),e("p",[a._v("操作日志记录该申请的所有操作,包括申请提交、申请撤回、申请重新提交、审核不通过、审核通过、修改审核人、接口发布、接口下线 、接口回滚、接口撤回。")]),a._v(" "),e("p",[a._v("待审核状态申请可以更换审核人,点击 修改审核人 按钮后弹出修改审核人窗口,如图所示。")]),a._v(" "),e("p",[e("img",{attrs:{src:"/manager_aggregate_my_apply_detail_3.png",alt:"manager_aggregate_my_apply_detail_3"}})]),a._v(" "),e("p",[a._v("重新选择审核人后点击 确定 按钮,修改审核人完成。")]),a._v(" "),e("p",[a._v("修改后原审核人会收到邮件提醒无须再处理该申请。")]),a._v(" "),e("p",[a._v("修改后新的审核人会收到邮件提醒需要处理该申请。")]),a._v(" "),e("p",[a._v("审核通过后可以对接口进行发布操作,如图所示。")]),a._v(" "),e("p",[e("img",{attrs:{src:"/manager_aggregate_my_apply_detail_4.png",alt:"manager_aggregate_my_apply_detail_4"}})]),a._v(" "),e("p",[a._v("批量发布:对申请内的接口批量发布推送到Fizz网关。")]),a._v(" "),e("p",[a._v("批量回滚:对申请内的接口批量回滚到上一个版本,当发布后接口异常时该操作相当有用。")]),a._v(" "),e("p",[a._v("对于申请通过后又无须操作的接口可以执行撤回操作,撤回接口时必须填写备注信息用于回溯查询,如图所示。")]),a._v(" "),e("p",[e("img",{attrs:{src:"/manager_aggregate_my_apply_detail_5.png",alt:"manager_aggregate_my_apply_detail_5"}})]),a._v(" "),e("p",[e("img",{attrs:{src:"/manager_aggregate_my_apply_detail_6.png",alt:"manager_aggregate_my_apply_detail_6"}})])])}),[],!1,null,null,null);_.default=t.exports}}]);
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{364:function(a,t,e){"use strict";e.r(t);var _=e(42),r=Object(_.a)({},(function(){var a=this,t=a.$createElement,e=a._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[e("h2",{attrs:{id:"概述"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#概述"}},[a._v("#")]),a._v(" 概述")]),a._v(" "),e("p",[a._v("管理后台记录了聚合接口的新增、修改、发布、下线、回滚、删除操作日志,通过查看操作日志可以清楚地掌握接口的操作轨迹。操作日志功能提供界面查询聚合接口的操作日志。")]),a._v(" "),e("h2",{attrs:{id:"操作日志列表"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#操作日志列表"}},[a._v("#")]),a._v(" 操作日志列表")]),a._v(" "),e("p",[a._v("菜单位置:服务编排 > 操作日志。点击菜单后进入操作日志列表页面,如图所示。")]),a._v(" "),e("p",[e("img",{attrs:{src:"/manager_aggregate_op_log_list_query.png",alt:"manager_aggregate_op_log_list_query"}})]),a._v(" "),e("h2",{attrs:{id:"查看日志详情"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#查看日志详情"}},[a._v("#")]),a._v(" 查看日志详情")]),a._v(" "),e("p",[a._v("点击 查看 按钮弹出操作日志详情页面,如图所示。")]),a._v(" "),e("p",[e("img",{attrs:{src:"/manager_aggregate_op_log_detail_1.png",alt:"manager_aggregate_op_log_detail_1"}})]),a._v(" "),e("p",[e("img",{attrs:{src:"/manager_aggregate_op_log_detail_2.png",alt:"manager_aggregate_op_log_detail_2"}})])])}),[],!1,null,null,null);t.default=r.exports}}]);
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{362:function(a,t,_){"use strict";_.r(t);var r=_(42),p=Object(r.a)({},(function(){var a=this,t=a.$createElement,_=a._self._c||t;return _("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[_("h2",{attrs:{id:"概述"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#概述"}},[a._v("#")]),a._v(" 概述")]),a._v(" "),_("p",[a._v("路由管理功能用于维护网关的路由规则,支持按请求路径转发、转发到指定后端服务两种转发规则,支持插件配置。下面介绍路由管理的操作。")]),a._v(" "),_("h2",{attrs:{id:"路由列表"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#路由列表"}},[a._v("#")]),a._v(" 路由列表")]),a._v(" "),_("p",[a._v("菜单位置:网关管理 > 路由管理。点击菜单后进入路由列表页面,如图所示。")]),a._v(" "),_("p",[_("img",{attrs:{src:"/manager_api_auth_list_query.png",alt:"manager_api_auth_list_query"}})]),a._v(" "),_("h2",{attrs:{id:"新增路由"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#新增路由"}},[a._v("#")]),a._v(" 新增路由")]),a._v(" "),_("p",[a._v("点击 新增 按钮弹出新增窗口,如图所示。")]),a._v(" "),_("p",[_("img",{attrs:{src:"/manager_api_auth_add_1.png",alt:"manager_api_auth_add_1"}})]),a._v(" "),_("p",[_("img",{attrs:{src:"/manager_api_auth_add_2.png",alt:"manager_api_auth_add_2"}})]),a._v(" "),_("p",[a._v("网关分组:选取路由关联的网关分组,只有属于所选分组的网关实例路由规则才会生效,必选;")]),a._v(" "),_("p",[a._v("服务:网关的请求路径格式为 http://{ip}:{port}/proxy/{service}{apiPath},服务对应{service}段,当 转发 选择 按请求路径转发 时服务需要是聚合配置的服务或者是Eureka注册的服务,当 转发 选择 转发到指定后端服务 时服务不需要是实际存在的服务,只用于路径匹配使用,长度不能超过50个字符,必填;")]),a._v(" "),_("p",[a._v("API方法:请求的method类型,可选GET|POST;")]),a._v(" "),_("p",[a._v('API Path:网关的请求路径格式为 http://{ip}:{port}/proxy/{service}{apiPath},API Path对应{apiPath}段,使用前缀匹配原则,例如"/api/"将匹配"/api/"、"/api/1"、"/api/1/1"等路径;')]),a._v(" "),_("p",[a._v("应用:选取路由关联的应用,网关使用选取应用的信息进行鉴权,更多详情请查看appID管理功能介绍;")]),a._v(" "),_("p",[a._v("访问:可选允许|禁止,必选;")]),a._v(" "),_("p",[a._v("转发:可选按请求路径转发|转发到指定后端服务,当选择 按请求路径转发 时,请求会按请求路径转发,例如网关请求 http://{ip}:{port}/proxy/my-service/api-path 将转发到 http://my-service/api-path;当选择 转发到指定后端服务 时,需要添加转发到的后端服务URL,请求会转发到配置的后端服务,例如配置了服务为 my-service,API Path为空,后端服务URL为 http://127.0.0.1:8080/forward-service/,网关请求 http://{ip}:{port}/proxy/my-service/api-path 将转发到 http://127.0.0.1:8080/forward-service/api-path。")]),a._v(" "),_("p",[a._v("点击 添加插件 按钮为路由添加插件,如图所示。")]),a._v(" "),_("p",[_("img",{attrs:{src:"/manager_api_auth_add_3.png",alt:"manager_api_auth_add_3"}})]),a._v(" "),_("p",[a._v("配置插件路由级别的自定义配置,表单界面来自于插件的表单定义,更多详情请查看插件管理功能介绍。")]),a._v(" "),_("p",[_("img",{attrs:{src:"/manager_api_auth_add_4.png",alt:"manager_api_auth_add_4"}})]),a._v(" "),_("p",[a._v("配置完成后点击 保存 按钮保存路由规则。")]),a._v(" "),_("p",[_("img",{attrs:{src:"/manager_api_auth_add_5.png",alt:"manager_api_auth_add_5"}})]),a._v(" "),_("h2",{attrs:{id:"编辑路由"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#编辑路由"}},[a._v("#")]),a._v(" 编辑路由")]),a._v(" "),_("p",[a._v("点击 编辑 按钮弹出编辑窗口,如图所示。")]),a._v(" "),_("p",[_("img",{attrs:{src:"/manager_api_auth_edit_1.png",alt:"manager_api_auth_edit_1"}})]),a._v(" "),_("p",[_("img",{attrs:{src:"/manager_api_auth_edit_2.png",alt:"manager_api_auth_edit_2"}})]),a._v(" "),_("h2",{attrs:{id:"删除路由"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#删除路由"}},[a._v("#")]),a._v(" 删除路由")]),a._v(" "),_("p",[a._v("点击 删除 按钮弹出删除确认窗口,如图所示。")]),a._v(" "),_("p",[_("img",{attrs:{src:"/manager_api_auth_delete_1.png",alt:"manager_api_auth_delete_1"}})]),a._v(" "),_("p",[_("img",{attrs:{src:"/manager_api_auth_delete_2.png",alt:"manager_api_auth_delete_2"}})])])}),[],!1,null,null,null);t.default=p.exports}}]);
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{365:function(a,_,p){"use strict";p.r(_);var t=p(42),r=Object(t.a)({},(function(){var a=this,_=a.$createElement,p=a._self._c||_;return p("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[p("h2",{attrs:{id:"概述"}},[p("a",{staticClass:"header-anchor",attrs:{href:"#概述"}},[a._v("#")]),a._v(" 概述")]),a._v(" "),p("p",[a._v("appID管理功能维护应用鉴权信息,可配置是否启用签名、是否启用IP白名单,AppID级别的自定义配置供自定义插件使用。appID用于在路由管理配置中关联路由规则,当对应路由规则触发时会对应用进行鉴权。")]),a._v(" "),p("h2",{attrs:{id:"appid列表"}},[p("a",{staticClass:"header-anchor",attrs:{href:"#appid列表"}},[a._v("#")]),a._v(" appID列表")]),a._v(" "),p("p",[a._v("菜单位置:网关管理 > appID管理。点击菜单后进入appID列表页面,如图所示。")]),a._v(" "),p("p",[p("img",{attrs:{src:"/manager_app_id_list_query.png",alt:"manager_app_id_list_query"}})]),a._v(" "),p("h2",{attrs:{id:"新增appid"}},[p("a",{staticClass:"header-anchor",attrs:{href:"#新增appid"}},[a._v("#")]),a._v(" 新增appID")]),a._v(" "),p("p",[a._v("点击 新增 按钮弹出新增窗口,如图所示。")]),a._v(" "),p("p",[p("img",{attrs:{src:"/manager_app_id_add_1.png",alt:"manager_app_id_add_1"}})]),a._v(" "),p("p",[p("img",{attrs:{src:"/manager_app_id_add_2.png",alt:"manager_app_id_add_2"}})]),a._v(" "),p("p",[a._v("appID:第三方应用唯一标识,长度不能超过64个字符,必填;")]),a._v(" "),p("p",[a._v("应用名:第三方应用名称,长度不能超过128个字符,必填;")]),a._v(" "),p("p",[a._v("是否启用签名:当启动时必须配置 认证方式 和 密钥;")]),a._v(" "),p("p",[a._v("认证方式:可选 密钥(使用网关内置鉴权方式验证)|自定义认证插件(使用自定义的鉴权逻辑),更多信息请查看Fizz网关的介绍;启用签名时必填;")]),a._v(" "),p("p",[a._v("密钥:第三方应用使用的密钥,可通过 生成随机密钥 按钮生成一个随机的密钥,启用签名时必填;")]),a._v(" "),p("p",[a._v("是否启用IP白名单:当启用时可以配置 IP白名单,网关会根据请求来源IP地址进行过滤;")]),a._v(" "),p("p",[a._v("IP白名单:IP段支持 1.2.3.100-120 和 1.2.3.*两种格式,仅最后一段可用范围或星号表示;")]),a._v(" "),p("p",[a._v("自定义配置:AppID级别的自定义配置供自定义插件使用,所有插件均可获取到此配置信息。")]),a._v(" "),p("h2",{attrs:{id:"编辑appid"}},[p("a",{staticClass:"header-anchor",attrs:{href:"#编辑appid"}},[a._v("#")]),a._v(" 编辑appID")]),a._v(" "),p("p",[a._v("点击 编辑 按钮弹出编辑窗口,如图所示。")]),a._v(" "),p("p",[p("img",{attrs:{src:"/manager_app_id_edit_1.png",alt:"manager_app_id_edit_1"}})]),a._v(" "),p("p",[p("img",{attrs:{src:"/manager_app_id_edit_2.png",alt:"manager_app_id_edit_2"}})]),a._v(" "),p("h2",{attrs:{id:"删除appid"}},[p("a",{staticClass:"header-anchor",attrs:{href:"#删除appid"}},[a._v("#")]),a._v(" 删除appID")]),a._v(" "),p("p",[a._v("点击 删除 按钮弹出删除确认窗口,如图所示。")]),a._v(" "),p("p",[p("img",{attrs:{src:"/manager_app_id_delete_1.png",alt:"manager_app_id_delete_1"}})]),a._v(" "),p("p",[p("img",{attrs:{src:"/manager_app_id_delete_2.png",alt:"manager_app_id_delete_2"}})]),a._v(" "),p("p",[a._v("点击 确定 按钮后删除appID,如果appID存在关联的路由配置时,对应关联的路由配置也会一起删除。")])])}),[],!1,null,null,null);_.default=r.exports}}]);
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{368:function(a,e,t){"use strict";t.r(e);var _=t(42),r=Object(_.a)({},(function(){var a=this,e=a.$createElement,t=a._self._c||e;return t("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[t("h2",{attrs:{id:"概述"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#概述"}},[a._v("#")]),a._v(" 概述")]),a._v(" "),t("p",[a._v("网关缓存功能用于查询Fizz网关实例本地缓存的已发布接口信息,可以快速的了解当前网关实例生效的全部接口,同时通过查看后台接口发布版本号与网关实例本地缓存的接口版本号是否一致可以排查接口缓存问题,下面介绍网关缓存功能的操作。")]),a._v(" "),t("h2",{attrs:{id:"网关列表"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#网关列表"}},[a._v("#")]),a._v(" 网关列表")]),a._v(" "),t("p",[a._v("菜单位置:服务编排 > 网关缓存。点击菜单后进入网关列表页面,如图所示。")]),a._v(" "),t("p",[t("img",{attrs:{src:"/manager_aggregate_gateway_list_query.png",alt:"manager_aggregate_gateway_list_query"}})]),a._v(" "),t("p",[a._v("Fizz网关与后台注册到同一个eureka注册中心,后台通过eureka获取网关的实例列表。")]),a._v(" "),t("h2",{attrs:{id:"网关缓存列表"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#网关缓存列表"}},[a._v("#")]),a._v(" 网关缓存列表")]),a._v(" "),t("p",[a._v("点击 查看 按钮后弹出网关详情页面,该页面显示所选网关实例的接口缓存列表,如图所示。")]),a._v(" "),t("p",[t("img",{attrs:{src:"/manager_aggregate_gateway_cache_list_query_1.png",alt:"manager_aggregate_gateway_cache_list_query_1"}})]),a._v(" "),t("p",[t("img",{attrs:{src:"/manager_aggregate_gateway_cache_list_query_2.png",alt:"manager_aggregate_gateway_cache_list_query_2"}})]),a._v(" "),t("h2",{attrs:{id:"网关缓存详情"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#网关缓存详情"}},[a._v("#")]),a._v(" 网关缓存详情")]),a._v(" "),t("p",[a._v("点击 查看 按钮弹出所选接口的配置详情,如图所示。")]),a._v(" "),t("p",[t("img",{attrs:{src:"/manager_aggregate_gateway_cache_detail_1.png",alt:"manager_aggregate_gateway_cache_detail_1"}})]),a._v(" "),t("p",[t("img",{attrs:{src:"/manager_aggregate_gateway_cache_detail_2.png",alt:"manager_aggregate_gateway_cache_detail_2"}})])])}),[],!1,null,null,null);e.default=r.exports}}]);
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{366:function(_,a,t){"use strict";t.r(a);var r=t(42),e=Object(r.a)({},(function(){var _=this,a=_.$createElement,t=_._self._c||a;return t("ContentSlotsDistributor",{attrs:{"slot-key":_.$parent.slotKey}},[t("h2",{attrs:{id:"概述"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#概述"}},[_._v("#")]),_._v(" 概述")]),_._v(" "),t("p",[_._v("网关分组功能用于维护分组元数据,将网关实例IP与分组关联,通过为不同的分组配置不同的路由策略,从而实现网关的分组管理。")]),_._v(" "),t("h2",{attrs:{id:"分组示例"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#分组示例"}},[_._v("#")]),_._v(" 分组示例")]),_._v(" "),t("p",[_._v("我们的线上业务涉及To C(个人用户)、To B(企业)、To T(第三方),对于不同业务会有对应的机器接受请求访问,不同的业务需要有各自的路由策略,因此进行了如下的分组划分。")]),_._v(" "),t("table",[t("thead",[t("tr",[t("th",[_._v("分组ID")]),_._v(" "),t("th",[_._v("分组名称")]),_._v(" "),t("th",[_._v("描述")])])]),_._v(" "),t("tbody",[t("tr",[t("td",[_._v("default")]),_._v(" "),t("td",[_._v("默认分组")]),_._v(" "),t("td",[_._v("默认分组是后台默认创建的分组,不用指定IP,不属于其它分组的机器都归到默认分组,默认分组不可修改或删除")])]),_._v(" "),t("tr",[t("td",[_._v("c")]),_._v(" "),t("td",[_._v("2c分组")]),_._v(" "),t("td",[_._v("只接受面向个人用户的请求")])]),_._v(" "),t("tr",[t("td",[_._v("b")]),_._v(" "),t("td",[_._v("2b分组")]),_._v(" "),t("td",[_._v("只接受面向企业的请求")])]),_._v(" "),t("tr",[t("td",[_._v("t")]),_._v(" "),t("td",[_._v("面向第三方的分组")]),_._v(" "),t("td",[_._v("只接受面向第三方的请求")])])])]),_._v(" "),t("p",[_._v("下面介绍网关分组功能的操作。")]),_._v(" "),t("h2",{attrs:{id:"分组列表"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#分组列表"}},[_._v("#")]),_._v(" 分组列表")]),_._v(" "),t("p",[_._v("菜单位置:网关管理 > 网关分组。点击菜单后进入分组列表页面,如图所示。")]),_._v(" "),t("p",[t("img",{attrs:{src:"/manager_gateway_group_list_query.png",alt:"manager_gateway_group_list_query"}})]),_._v(" "),t("h2",{attrs:{id:"新增分组"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#新增分组"}},[_._v("#")]),_._v(" 新增分组")]),_._v(" "),t("p",[_._v("点击 新增 按钮弹出新增窗口,如图所示。")]),_._v(" "),t("p",[t("img",{attrs:{src:"/manager_gateway_group_add_1.png",alt:"manager_gateway_group_add_1"}})]),_._v(" "),t("p",[t("img",{attrs:{src:"/manager_gateway_group_add_2.png",alt:"manager_gateway_group_add_2"}})]),_._v(" "),t("p",[_._v("分组ID:分组的唯一标识,长度不能超过32个字符,必填;")]),_._v(" "),t("p",[_._v("分组名称:分组的名称,用于在分组选项时展示,长度不能超过32个字符,必填;")]),_._v(" "),t("p",[_._v("网关实例IP:Fizz网关集群内的机器IP地址,多个IP地址使用逗号分隔。")]),_._v(" "),t("h2",{attrs:{id:"编辑分组"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#编辑分组"}},[_._v("#")]),_._v(" 编辑分组")]),_._v(" "),t("p",[_._v("点击 编辑 按钮弹出编辑窗口,如图所示。")]),_._v(" "),t("p",[t("img",{attrs:{src:"/manager_gateway_group_edit_1.png",alt:"manager_gateway_group_edit_1"}})]),_._v(" "),t("p",[t("img",{attrs:{src:"/manager_gateway_group_edit_2.png",alt:"manager_gateway_group_edit_2"}})]),_._v(" "),t("h2",{attrs:{id:"删除分组"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#删除分组"}},[_._v("#")]),_._v(" 删除分组")]),_._v(" "),t("p",[_._v("点击 删除 按钮弹出删除确认窗口,如图所示。")]),_._v(" "),t("p",[t("img",{attrs:{src:"/manager_gateway_group_delete_1.png",alt:"manager_gateway_group_delete_1"}})]),_._v(" "),t("p",[t("img",{attrs:{src:"/manager_gateway_group_delete_2.png",alt:"manager_gateway_group_delete_2"}})]),_._v(" "),t("p",[_._v("点击 确定 按钮后删除网关分组,如果网关分组存在关联的路由配置时,需要将关联的路由配置全部删除后才能删除分组。")])])}),[],!1,null,null,null);a.default=e.exports}}]);
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{372:function(v,_,i){"use strict";i.r(_);var a=i(42),t=Object(a.a)({},(function(){var v=this,_=v.$createElement,i=v._self._c||_;return i("ContentSlotsDistributor",{attrs:{"slot-key":v.$parent.slotKey}},[i("h2",{attrs:{id:"概述"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#概述"}},[v._v("#")]),v._v(" 概述")]),v._v(" "),i("p",[v._v("Fizz管理后台是Fizz网关的配套系统,基于Java、Vue开发,通过界面对Fizz网关集群进行各项配置。")]),v._v(" "),i("h2",{attrs:{id:"功能"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#功能"}},[v._v("#")]),v._v(" 功能")]),v._v(" "),i("p",[v._v("Fizz管理后台包含如下功能:")]),v._v(" "),i("ul",[i("li",[v._v("网关管理\n"),i("ul",[i("li",[v._v("网关分组:对Fizz网关集群内的机器进行逻辑上的分组,针对不同的分组可配置不同的路由策略。")]),v._v(" "),i("li",[v._v("插件管理:维护插件元数据,定义路由级别的自定义属性、插件级别的自定义配置信息。")]),v._v(" "),i("li",[v._v("appID管理:配置应用鉴权信息,可配置是否启用签名、是否启用IP白名单,AppID级别的自定义配置供自定义插件使用。")]),v._v(" "),i("li",[v._v("路由管理:配置服务或API路由规则,支持按请求路径转发、转发到指定后端服务两种转发规则,支持插件配置。")]),v._v(" "),i("li",[v._v("接口统计:Fizz网关接口访问统计功能,以图表的形式展示指定时间段内每日的接口总数、访问次数,可查看接口的历史访问总次数以及最近请求时间。")])])]),v._v(" "),i("li",[v._v("服务编排\n"),i("ul",[i("li",[v._v("服务管理:聚合接口归属于服务,服务通过该功能维护,创建人自动获得服务权限,服务权限可分配,拥有权限的用户才能操作对应的接口列表。")]),v._v(" "),i("li",[v._v("接口列表:基于现有的业务微服务使用在线配置的方式快速的生成一个聚合接口,同时提供在线测试功能,发布历史版本查看。")]),v._v(" "),i("li",[v._v("操作日志:查看聚合接口的新增、修改、发布、下线、回滚、删除操作日志。")]),v._v(" "),i("li",[v._v("网关缓存:查看Fizz网关当前在线的实例列表以及对应实例本地缓存的已发布接口信息。")])])]),v._v(" "),i("li",[v._v("发布申请\n"),i("ul",[i("li",[v._v("我的申请:提交接口发布|下线申请,审核通过后可以对相关接口执行发布|下线操作。")]),v._v(" "),i("li",[v._v("待审核:审核发布|下线申请。")]),v._v(" "),i("li",[v._v("审核日志:查看审核发布|下线申请操作日志。")])])]),v._v(" "),i("li",[v._v("权限管理\n"),i("ul",[i("li",[v._v("角色管理:维护角色数据,为角色分配权限。")])])]),v._v(" "),i("li",[v._v("系统管理\n"),i("ul",[i("li",[v._v("用户管理:维护用户数据,为用户分配角色。")])])])]),v._v(" "),i("h2",{attrs:{id:"界面"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#界面"}},[v._v("#")]),v._v(" 界面")]),v._v(" "),i("p",[i("img",{attrs:{src:"/manager_overview_1.png",alt:"manager_overview_1"}})]),v._v(" "),i("p",[i("img",{attrs:{src:"/manager_overview_2.png",alt:"manager_overview_2"}})])])}),[],!1,null,null,null);_.default=t.exports}}]);
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{371:function(a,r,t){"use strict";t.r(r);var _=t(42),e=Object(_.a)({},(function(){var a=this,r=a.$createElement,t=a._self._c||r;return t("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[t("h2",{attrs:{id:"概述"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#概述"}},[a._v("#")]),a._v(" 概述")]),a._v(" "),t("p",[a._v("角色管理功能维护角色元数据,通过配置角色拥有的菜单资源,限制用户只能操作拥有的角色对应的菜单资源,下面介绍角色管理功能的操作。")]),a._v(" "),t("h2",{attrs:{id:"角色列表"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#角色列表"}},[a._v("#")]),a._v(" 角色列表")]),a._v(" "),t("p",[a._v("菜单位置:权限管理 > 角色管理。点击菜单后进入角色列表页面,如图所示。")]),a._v(" "),t("p",[t("img",{attrs:{src:"/manager_role_list_query.png",alt:"manager_role_list_query"}})]),a._v(" "),t("h2",{attrs:{id:"添加角色"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#添加角色"}},[a._v("#")]),a._v(" 添加角色")]),a._v(" "),t("p",[a._v("点击 新增 按钮弹出新增窗口,如图所示。")]),a._v(" "),t("p",[t("img",{attrs:{src:"/manager_role_add_1.png",alt:"manager_role_add_1"}})]),a._v(" "),t("p",[t("img",{attrs:{src:"/manager_role_add_2.png",alt:"manager_role_add_2"}})]),a._v(" "),t("h2",{attrs:{id:"权限设置"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#权限设置"}},[a._v("#")]),a._v(" 权限设置")]),a._v(" "),t("p",[a._v("勾选需要分配权限的角色,点击 权限设置 按钮弹出角色权限配置窗口,如图所示。")]),a._v(" "),t("p",[t("img",{attrs:{src:"/manager_role_auth_1.png",alt:"manager_role_auth_1"}})]),a._v(" "),t("p",[t("img",{attrs:{src:"/manager_role_auth_2.png",alt:"manager_role_auth_2"}})]),a._v(" "),t("p",[a._v("勾选菜单后点击 确定 按钮确认给角色分配菜单权限。")]),a._v(" "),t("h2",{attrs:{id:"编辑角色"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#编辑角色"}},[a._v("#")]),a._v(" 编辑角色")]),a._v(" "),t("p",[a._v("点击 编辑 按钮弹出编辑窗口,如图所示。")]),a._v(" "),t("p",[t("img",{attrs:{src:"/manager_role_edit_1.png",alt:"manager_role_edit_1"}})]),a._v(" "),t("p",[t("img",{attrs:{src:"/manager_role_edit_2.png",alt:"manager_role_edit_2"}})]),a._v(" "),t("h2",{attrs:{id:"删除角色"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#删除角色"}},[a._v("#")]),a._v(" 删除角色")]),a._v(" "),t("p",[a._v("点击 删除 按钮弹出删除确认窗口,如图所示。")]),a._v(" "),t("p",[t("img",{attrs:{src:"/manager_role_delete_1.png",alt:"manager_role_delete_1"}})]),a._v(" "),t("p",[t("img",{attrs:{src:"/manager_role_delete_2.png",alt:"manager_role_delete_2"}})]),a._v(" "),t("p",[a._v("点击 确定 按钮后删除角色。")])])}),[],!1,null,null,null);r.default=e.exports}}]);
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[26],{369:function(a,e,_){"use strict";_.r(e);var r=_(42),t=Object(r.a)({},(function(){var a=this,e=a.$createElement,_=a._self._c||e;return _("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[_("h2",{attrs:{id:"概述"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#概述"}},[a._v("#")]),a._v(" 概述")]),a._v(" "),_("p",[a._v("服务管理功能维护服务元数据。服务编排中的服务是一个逻辑上的概念,用于对聚合接口的归类以及权限的分配。Fizz网关聚合接口的请求路径格式为 http://{ip}:{port}/proxy/{service}{apiPath},服务对应{service}段。")]),a._v(" "),_("h2",{attrs:{id:"服务列表"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#服务列表"}},[a._v("#")]),a._v(" 服务列表")]),a._v(" "),_("p",[a._v("菜单位置:服务编排 > 服务管理。点击菜单后进入服务列表页面,如图所示。")]),a._v(" "),_("p",[_("img",{attrs:{src:"/manager_service_list_query.png",alt:"manager_service_list_query"}})]),a._v(" "),_("h2",{attrs:{id:"新增服务"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#新增服务"}},[a._v("#")]),a._v(" 新增服务")]),a._v(" "),_("p",[a._v("点击 新增 按钮弹出新增窗口,如图所示。")]),a._v(" "),_("p",[_("img",{attrs:{src:"/manager_service_add_1.png",alt:"manager_service_add_1"}})]),a._v(" "),_("p",[_("img",{attrs:{src:"/manager_service_add_2.png",alt:"manager_service_add_2"}})]),a._v(" "),_("p",[a._v("服务 ID:服务唯一标识,对应Fizz网关聚合接口请求路径(格式为 http://{ip}:{port}/proxy/{service}{apiPath})的{service}段,长度不能超过200个字符,必填;")]),a._v(" "),_("p",[a._v("服务名:服务名称,用于展示或者选项使用,必填;")]),a._v(" "),_("p",[a._v("团队:团队名称,长度不能超过200个字符;")]),a._v(" "),_("p",[a._v("负责人:负责人名称,长度不能超过200个字符;")]),a._v(" "),_("p",[a._v("描述:服务描述,长度不能超过2000个字符。")]),a._v(" "),_("h2",{attrs:{id:"编辑服务"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#编辑服务"}},[a._v("#")]),a._v(" 编辑服务")]),a._v(" "),_("p",[a._v("点击 编辑 按钮弹出编辑窗口,如图所示。")]),a._v(" "),_("p",[_("img",{attrs:{src:"/manager_service_edit_1.png",alt:"manager_service_edit_1"}})]),a._v(" "),_("p",[_("img",{attrs:{src:"/manager_service_edit_2.png",alt:"manager_service_edit_2"}})]),a._v(" "),_("h2",{attrs:{id:"删除服务"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#删除服务"}},[a._v("#")]),a._v(" 删除服务")]),a._v(" "),_("p",[a._v("点击 删除 按钮弹出删除确认窗口,如图所示。")]),a._v(" "),_("p",[_("img",{attrs:{src:"/manager_service_delete_1.png",alt:"manager_service_delete_1"}})]),a._v(" "),_("p",[_("img",{attrs:{src:"/manager_service_delete_2.png",alt:"manager_service_delete_2"}})]),a._v(" "),_("p",[a._v("点击 确定 按钮后删除服务,如果服务存在关联的聚合接口时,需要将关联的聚合接口全部删除后才能删除服务。")]),a._v(" "),_("h2",{attrs:{id:"服务权限分配"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#服务权限分配"}},[a._v("#")]),a._v(" 服务权限分配")]),a._v(" "),_("p",[a._v("点击 权限 按钮弹出权限配置窗口,如图所示。")]),a._v(" "),_("p",[_("img",{attrs:{src:"/manager_service_auth_1.png",alt:"manager_service_auth_1"}})]),a._v(" "),_("p",[_("img",{attrs:{src:"/manager_service_auth_2.png",alt:"manager_service_auth_2"}})]),a._v(" "),_("p",[a._v("服务创建人自动获得服务权限,服务权限可分配,拥有权限的用户才能操作对应的接口列表。")])])}),[],!1,null,null,null);e.default=t.exports}}]);
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[27],{373:function(t,a,s){"use strict";s.r(a);var _=s(42),r=Object(_.a)({},(function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h2",{attrs:{id:"概述"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#概述"}},[t._v("#")]),t._v(" 概述")]),t._v(" "),s("p",[t._v("Fizz网关会将访问请求数据(IP地址、网关分组、服务、应用、请求方法、API Path、请求时间)推送到Kafka中,管理后台消费Kafka消息统计接口访问数据。")]),t._v(" "),s("p",[t._v("接口统计功能以图表的形式展示指定时间段内每日的接口总数、访问次数,可查看接口的历史访问总次数以及最近请求时间。")]),t._v(" "),s("h2",{attrs:{id:"接口访问统计"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#接口访问统计"}},[t._v("#")]),t._v(" 接口访问统计")]),t._v(" "),s("p",[t._v("菜单位置:网关管理 > 接口统计。点击菜单后进入接口统计页面,如图所示。")]),t._v(" "),s("p",[s("img",{attrs:{src:"/manager_source_statistics_1.png",alt:"manager_source_statistics_1.png"}})]),t._v(" "),s("p",[t._v("今天接口总数:从0时到当前时刻被调用不同接口的总数;")]),t._v(" "),s("p",[t._v("今天访问次数:从0时到当前时刻访问请求的总次数。")]),t._v(" "),s("p",[t._v("接口总数图表:显示指定时间段内每日被调用不同接口的总数曲线;")]),t._v(" "),s("p",[t._v("访问次数图表:显示指定时间段内每日访问请求的总次数曲线。")]),t._v(" "),s("h2",{attrs:{id:"请求统计"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#请求统计"}},[t._v("#")]),t._v(" 请求统计")]),t._v(" "),s("p",[t._v("接口统计界面下部为请求统计列表,如图所示。")]),t._v(" "),s("p",[s("img",{attrs:{src:"/manager_source_statistics_2.png",alt:"manager_source_statistics_2.png"}})]),t._v(" "),s("p",[t._v("来源IP:网关请求的实际入口IP地址;")]),t._v(" "),s("p",[t._v("请求次数:( 唯一[来源IP、网关分组、服务名、请求方法、appID、API Path])历史总请求次数;")]),t._v(" "),s("p",[t._v("最近请求时间:( 唯一[来源IP、网关分组、服务名、请求方法、appID、API Path])最近一次调用时间。")])])}),[],!1,null,null,null);a.default=r.exports}}]);
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[28],{374:function(a,r,_){"use strict";_.r(r);var t=_(42),e=Object(t.a)({},(function(){var a=this,r=a.$createElement,_=a._self._c||r;return _("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[_("h2",{attrs:{id:"概述"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#概述"}},[a._v("#")]),a._v(" 概述")]),a._v(" "),_("p",[a._v("用户管理功能用于维护用户元数据,包括用户信息维护、密码维护、角色配置。")]),a._v(" "),_("h2",{attrs:{id:"用户列表"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#用户列表"}},[a._v("#")]),a._v(" 用户列表")]),a._v(" "),_("p",[a._v("菜单位置:系统管理 > 用户管理。点击菜单后进入用户列表页面,如图所示。")]),a._v(" "),_("p",[_("img",{attrs:{src:"/manager_user_list_query.png",alt:"manager_user_list_query"}})]),a._v(" "),_("h2",{attrs:{id:"添加用户"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#添加用户"}},[a._v("#")]),a._v(" 添加用户")]),a._v(" "),_("p",[a._v("点击 新增 按钮弹出新增窗口,如图所示。")]),a._v(" "),_("p",[_("img",{attrs:{src:"/manager_user_add_1.png",alt:"manager_user_add_1"}})]),a._v(" "),_("p",[_("img",{attrs:{src:"/manager_user_add_2.png",alt:"manager_user_add_2"}})]),a._v(" "),_("p",[a._v("电子邮箱:用户用于接收电子邮件的邮箱地址,后台涉及邮件发送业务使用该字段设置的邮箱地址来进行邮箱发送。")]),a._v(" "),_("h2",{attrs:{id:"重置密码"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#重置密码"}},[a._v("#")]),a._v(" 重置密码")]),a._v(" "),_("p",[a._v("勾选用户后点击 密码重置 按钮可为用户重置密码。")]),a._v(" "),_("p",[_("img",{attrs:{src:"/manager_user_reset_password_1.png",alt:"manager_user_reset_password_1"}})]),a._v(" "),_("p",[_("img",{attrs:{src:"/manager_user_reset_password_2.png",alt:"manager_user_reset_password_2"}})]),a._v(" "),_("p",[a._v("重置后的默认密码为"),_("code",[a._v("AsdF1234!")]),a._v("。")]),a._v(" "),_("h2",{attrs:{id:"编辑用户"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#编辑用户"}},[a._v("#")]),a._v(" 编辑用户")]),a._v(" "),_("p",[a._v("点击 编辑 按钮弹出编辑窗口,如图所示。")]),a._v(" "),_("p",[_("img",{attrs:{src:"/manager_user_edit_1.png",alt:"manager_user_edit_1"}})]),a._v(" "),_("p",[_("img",{attrs:{src:"/manager_user_edit_2.png",alt:"manager_user_edit_2"}})]),a._v(" "),_("h2",{attrs:{id:"删除用户"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#删除用户"}},[a._v("#")]),a._v(" 删除用户")]),a._v(" "),_("p",[a._v("点击 删除 按钮弹出删除确认窗口,如图所示。")]),a._v(" "),_("p",[_("img",{attrs:{src:"/manager_user_delete_1.png",alt:"manager_user_delete_1"}})]),a._v(" "),_("p",[_("img",{attrs:{src:"/manager_user_delete_2.png",alt:"manager_user_delete_2"}})])])}),[],!1,null,null,null);r.default=e.exports}}]);
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{317:function(t,e,n){},348:function(t,e,n){"use strict";var i=n(317);n.n(i).a},378:function(t,e,n){"use strict";n.r(e);var i={functional:!0,props:{type:{type:String,default:"tip"},text:String,vertical:{type:String,default:"top"}},render:function(t,e){var n=e.props,i=e.slots;return t("span",{class:["badge",n.type],style:{verticalAlign:n.vertical}},n.text||i().default)}},r=(n(348),n(42)),a=Object(r.a)(i,void 0,void 0,!1,null,"0d148f50",null);e.default=a.exports}}]);
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[30],{375:function(t,e,s){"use strict";s.r(e);var a=s(42),r=Object(a.a)({},(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h2",{attrs:{id:"路由转发介绍"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#路由转发介绍"}},[t._v("#")]),t._v(" 路由转发介绍")]),t._v(" "),s("p",[t._v("路由转发也叫反向代理,为内部微服务提供统一的对外入口。支持以下功能:")]),t._v(" "),s("ul",[s("li",[t._v("支持服务注册与发现")]),t._v(" "),s("li",[t._v("支持负载均衡")]),t._v(" "),s("li",[t._v("支持黑白名单机制")]),t._v(" "),s("li",[t._v("支持配置插件")])]),t._v(" "),s("h2",{attrs:{id:"接入路由转发"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#接入路由转发"}},[t._v("#")]),t._v(" 接入路由转发")]),t._v(" "),s("ul",[s("li",[t._v("前提条件:接入Eureka注册中心")]),t._v(" "),s("li",[t._v("开通白名单,接入注册中心的服务默认不对公网开放 (白名单在配置文件里配置serviceWhiteList)")]),t._v(" "),s("li",[t._v("配置访问权限 (管理后台-接口代理-API查询)")])])])}),[],!1,null,null,null);e.default=r.exports}}]);
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[31],{376:function(v,t,_){"use strict";_.r(t);var a=_(42),s=Object(a.a)({},(function(){var v=this,t=v.$createElement,_=v._self._c||t;return _("ContentSlotsDistributor",{attrs:{"slot-key":v.$parent.slotKey}},[_("h2",{attrs:{id:"v1-2-x"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#v1-2-x"}},[v._v("#")]),v._v(" v1.2.x")]),v._v(" "),_("ul",[_("li",[v._v("支持Nacos注册中心和配置中心")]),v._v(" "),_("li",[v._v("输出服务编排脚本异常信息")]),v._v(" "),_("li",[v._v("支持在服务编排里配置重定向")]),v._v(" "),_("li",[v._v("增加内置的默认common.js")]),v._v(" "),_("li",[v._v("支持接口统计")])]),v._v(" "),_("h2",{attrs:{id:"v1-3-x"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#v1-3-x"}},[v._v("#")]),v._v(" v1.3.x")]),v._v(" "),_("ul",[_("li",[v._v("支持接口回调")]),v._v(" "),_("li",[v._v("优先路由配置")]),v._v(" "),_("li",[v._v("支持后台查看日志")]),v._v(" "),_("li",[v._v("优化单机部署")])]),v._v(" "),_("h2",{attrs:{id:"v1-4-x"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#v1-4-x"}},[v._v("#")]),v._v(" v1.4.x")]),v._v(" "),_("ul",[_("li",[v._v("支持流控管理(限流,降级,流速等)")]),v._v(" "),_("li",[v._v("支持内容模块插件化")]),v._v(" "),_("li",[v._v("支持动态添加插件")]),v._v(" "),_("li",[v._v("支持使用正则匹配路由")])]),v._v(" "),_("h2",{attrs:{id:"v1-5-x"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#v1-5-x"}},[v._v("#")]),v._v(" v1.5.x")]),v._v(" "),_("ul",[_("li",[v._v("支持Docker容器部署")]),v._v(" "),_("li",[v._v("支持MySQL input")]),v._v(" "),_("li",[v._v("发布审核功能使用工作流")])]),v._v(" "),_("h2",{attrs:{id:"v1-6-x"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#v1-6-x"}},[v._v("#")]),v._v(" v1.6.x")]),v._v(" "),_("ul",[_("li",[v._v("支持Dubbo")])])])}),[],!1,null,null,null);t.default=s.exports}}]);
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{350:function(t,e,s){"use strict";s.r(e);var n=["There's nothing here.","How did we get here?","That's a Four-Oh-Four.","Looks like we've got some broken links."],o={methods:{getMsg:function(){return n[Math.floor(Math.random()*n.length)]}}},i=s(42),h=Object(i.a)(o,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"theme-container"},[e("div",{staticClass:"theme-default-content"},[e("h1",[this._v("404")]),this._v(" "),e("blockquote",[this._v(this._s(this.getMsg()))]),this._v(" "),e("RouterLink",{attrs:{to:"/"}},[this._v("\n Take me home.\n ")])],1)])}),[],!1,null,null,null);e.default=h.exports}}]);
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{351:function(t,e,n){"use strict";n.r(e);var s=n(42),l=Object(s.a)({},(function(){var t=this.$createElement;return(this._self._c||t)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);e.default=l.exports}}]);
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{354:function(t,e,n){"use strict";n.r(e);var s=n(42),l=Object(s.a)({},(function(){var t=this.$createElement;return(this._self._c||t)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);e.default=l.exports}}]);
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{353:function(t,n,s){"use strict";s.r(n);var e=s(42),o=Object(e.a)({},(function(){var t=this.$createElement,n=this._self._c||t;return n("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[n("p",[this._v("coming soon")])])}),[],!1,null,null,null);n.default=o.exports}}]);
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{352:function(t,a,r){"use strict";r.r(a);var s=r(42),_=Object(s.a)({},(function(){var t=this,a=t.$createElement,r=t._self._c||a;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h2",{attrs:{id:"什么是服务编排"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#什么是服务编排"}},[t._v("#")]),t._v(" 什么是服务编排")]),t._v(" "),r("p",[t._v("服务编排主要基于现有的业务微服务使用在线配置的方式快速的生成一个聚合接口。")]),t._v(" "),r("p",[t._v("特点: 在线API设计、在线测试、快速开发")]),t._v(" "),r("h2",{attrs:{id:"举例说明"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#举例说明"}},[t._v("#")]),t._v(" 举例说明")]),t._v(" "),r("p",[t._v("订单详情页面需要展示订单信息、商品信息和用户信息。可通过配置的方式生成一个接口先后调用底层微服务的订单详情接口、商品信息接口和用户信息接口,再从这3个接口的返回结果里提取需要的字段返回给前端页面。")]),t._v(" "),r("h2",{attrs:{id:"服务编排架构"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#服务编排架构"}},[t._v("#")]),t._v(" 服务编排架构")]),t._v(" "),r("p",[r("img",{attrs:{src:"/fizz_aggregate.jpg",alt:""}})]),t._v(" "),r("h2",{attrs:{id:"适用场景"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#适用场景"}},[t._v("#")]),t._v(" 适用场景")]),t._v(" "),r("h3",{attrs:{id:"前端"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#前端"}},[t._v("#")]),t._v(" 前端")]),t._v(" "),r("p",[t._v("1、一个页面调用多个接口时,可以编排好返回聚合结果,提高页面数据的加载速度")]),t._v(" "),r("p",[t._v("2、移动设备计算能力有限,可以把数据计算或业务处理逻辑放到服务端完成,加快页面响应")]),t._v(" "),r("h3",{attrs:{id:"后端"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#后端"}},[t._v("#")]),t._v(" 后端")]),t._v(" "),r("p",[t._v("1、替换应用层的聚合接口,减少应用层的胶水代码")]),t._v(" "),r("p",[t._v("2、快速生成透传数据类型的接口")]),t._v(" "),r("p",[t._v("3、数据转换和映射")])])}),[],!1,null,null,null);a.default=_.exports}}]);
|
|
||||||
|
Before Width: | Height: | Size: 48 KiB |
|
Before Width: | Height: | Size: 52 KiB |
|
Before Width: | Height: | Size: 119 KiB |
|
Before Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 141 KiB |
|
Before Width: | Height: | Size: 75 KiB |
|
Before Width: | Height: | Size: 69 KiB |
|
Before Width: | Height: | Size: 9.1 KiB |
@@ -1,36 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en-US">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
||||||
<title>Fizz Gateway</title>
|
|
||||||
<meta name="generator" content="VuePress 1.5.2">
|
|
||||||
|
|
||||||
<meta name="description" content="">
|
|
||||||
<link rel="preload" href="/assets/css/0.styles.1a4b7b81.css" as="style"><link rel="preload" href="/assets/js/app.efb450d4.js" as="script"><link rel="preload" href="/assets/js/2.60c09e20.js" as="script"><link rel="preload" href="/assets/js/5.ddeac0a1.js" as="script"><link rel="prefetch" href="/assets/js/10.3c989e54.js"><link rel="prefetch" href="/assets/js/11.a76c2e4c.js"><link rel="prefetch" href="/assets/js/12.9b8b7937.js"><link rel="prefetch" href="/assets/js/13.52740b54.js"><link rel="prefetch" href="/assets/js/14.27ba8a23.js"><link rel="prefetch" href="/assets/js/15.791d6b9d.js"><link rel="prefetch" href="/assets/js/16.c487dae0.js"><link rel="prefetch" href="/assets/js/17.65f826a9.js"><link rel="prefetch" href="/assets/js/18.603a235b.js"><link rel="prefetch" href="/assets/js/19.14c3cafc.js"><link rel="prefetch" href="/assets/js/20.b646f0b0.js"><link rel="prefetch" href="/assets/js/21.081e4e30.js"><link rel="prefetch" href="/assets/js/22.ddeb9465.js"><link rel="prefetch" href="/assets/js/23.f1118a32.js"><link rel="prefetch" href="/assets/js/24.72fe0b8b.js"><link rel="prefetch" href="/assets/js/25.bbf8bff1.js"><link rel="prefetch" href="/assets/js/26.92e9b6ec.js"><link rel="prefetch" href="/assets/js/27.505a813e.js"><link rel="prefetch" href="/assets/js/28.cdddd7aa.js"><link rel="prefetch" href="/assets/js/29.ab810898.js"><link rel="prefetch" href="/assets/js/3.c3fe6d17.js"><link rel="prefetch" href="/assets/js/30.0222f21c.js"><link rel="prefetch" href="/assets/js/31.0012b621.js"><link rel="prefetch" href="/assets/js/4.9e51e17c.js"><link rel="prefetch" href="/assets/js/6.e883523c.js"><link rel="prefetch" href="/assets/js/7.00dd2642.js"><link rel="prefetch" href="/assets/js/8.b37e0826.js"><link rel="prefetch" href="/assets/js/9.88cc55c9.js">
|
|
||||||
<link rel="stylesheet" href="/assets/css/0.styles.1a4b7b81.css">
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="app" data-server-rendered="true"><div class="theme-container no-sidebar"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" aria-current="page" class="home-link router-link-exact-active router-link-active"><!----> <span class="site-name">Fizz Gateway</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/" aria-current="page" class="nav-link router-link-exact-active router-link-active">
|
|
||||||
首页
|
|
||||||
</a></div><div class="nav-item"><a href="/guide/intro/" class="nav-link">
|
|
||||||
使用文档
|
|
||||||
</a></div> <a href="https://github.com/wehotel/fizz-gateway-community" target="_blank" rel="noopener noreferrer" class="repo-link">
|
|
||||||
查看源码
|
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><a href="/" aria-current="page" class="nav-link router-link-exact-active router-link-active">
|
|
||||||
首页
|
|
||||||
</a></div><div class="nav-item"><a href="/guide/intro/" class="nav-link">
|
|
||||||
使用文档
|
|
||||||
</a></div> <a href="https://github.com/wehotel/fizz-gateway-community" target="_blank" rel="noopener noreferrer" class="repo-link">
|
|
||||||
查看源码
|
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></nav> <!----> </aside> <main aria-labelledby="main-title" class="home"><header class="hero"><!----> <h1 id="main-title">
|
|
||||||
Fizz网关
|
|
||||||
</h1> <p class="description">
|
|
||||||
快速构建起基于API的生态体系
|
|
||||||
</p> <p class="action"><a href="/guide/intro/" class="nav-link action-button">
|
|
||||||
快速开始
|
|
||||||
</a></p></header> <div class="features"><div class="feature"><h2>智能路由</h2> <p>支持服务注册与发现,支持负载均衡,支持配置插件和黑白名单。</p></div><div class="feature"><h2>服务编排</h2> <p>基于现有的业务微服务通过在线配置的方式快速的生成一个聚合接口。减少中间层胶水代码以及降低编码投入</p></div><div class="feature"><h2>插件机制</h2> <p>强大的插件系统,内置通用常用插件,同时支持自定义插件开发。</p></div></div> <div class="theme-default-content custom content__default"></div> <div class="footer">
|
|
||||||
GNU v3 Licensed | Copyright © 2020-present Fizz | <a href="http://beian.miit.gov.cn" style="font-weight:normal;font-size:16px; color: #4e6e8e;">粤ICP备19131807号</a></div></main></div><div class="global-ui"></div></div>
|
|
||||||
<script src="/assets/js/app.efb450d4.js" defer></script><script src="/assets/js/2.60c09e20.js" defer></script><script src="/assets/js/5.ddeac0a1.js" defer></script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
Before Width: | Height: | Size: 86 KiB |