Code Monkey home page Code Monkey logo

fizz-gateway-node's People

Contributors

dxfeng10 avatar frank0417 avatar hongqiaowei avatar linwaiwai avatar zhong-jie avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fizz-gateway-node's Issues

Compotent upgrade

May be Apollo and euraka can be upgraded to nacos be better, euraka's open source code gradually abandoned maintenance

add the top five services panel

add the top five slowest services panel
add the top five most frequently called services panel
add the top five services with the most errors panel

Support custom appid/sign header name

To be compatible with the old system, such as old api gateway which using "app-id" or "signature" as header name, a secondary custom configurable appid/sign header name is required

Need backend service group

when using service orchestration, users should input http://ip:port/xxxxx (backend service), such as

  1. default env
  2. test env
  3. production env

what we want to input :

  1. default group
  2. test group
  3. ....

group means several backend ip:port with rotation and health check

部署问题

按照部署教程部署之后, 访问 http://ip:8000/fizz-manager/ (我的ip, 我部署在阿里云主机上, 使用的公网ip)
会出现以下错误, 咨询一下如何解决

code 404
success false
data {}
msg "No handler found for GET /fizz-manager/"

网关无法支持接口返回为数组类型

通过编排,县调用A接口,后调用B接口,
B接口的返回为 JsonArray类型的,配置通配符 * -> step2.request1.response.body 的时候,返回为空。
样例的配置json如下:

{
  "debug": true,
  "method": "POST",
  "validateResponse": {
    "headers": {},
    "fixedBody": {
      "msgCode": "404"
    },
    "fixedHeaders": {},
    "body": {
      "errorMsg": "string validateMsg"
    },
    "script": {}
  },
  "paramsDef": {
    "type": "object",
    "properties": {
      "password": {
        "type": "string",
        "title": "mima"
      },
      "username": {
        "type": "string",
        "title": "yonghu"
      }
    },
    "required": [
      "username"
    ]
  },
  "dataMapping": {
    "response": {
      "headers": {},
      "fixedBody": {},
      "fixedHeaders": {},
      "body": {
        "*": "string step2.request1.response.body"
      },
      "script": {}
    }
  },
  "type": "REQUEST",
  "version": 19,
  "path": "/proxytest/test/userserv/api/user/systeminfos",
  "langDef": {
    "langMapping": {
      "zh": "zh"
    },
    "langParam": ""
  },
  "headersDef": {
    "type": "object",
    "properties": {},
    "required": []
  },
  "stepConfigs": [
    {
      "stop": false,
      "dataMapping": {},
      "name": "step1",
      "requests": [
        {
          "method": "POST",
          "dataMapping": {
            "request": {
              "headers": {},
              "fixedParams": {},
              "fixedBody": {},
              "fixedHeaders": {},
              "body": {
                "*": "string input.request.body"
              },
              "params": {
                "*": "string input.request.params"
              },
              "script": {}
            },
            "response": {
              "headers": {},
              "fixedBody": {},
              "fixedHeaders": {},
              "body": {
                "*": "string step1.request1.response.body"
              },
              "script": {}
            }
          },
          "testUrl": "http://userserver:20100/userserv/oauth/token",
          "type": "REQUEST",
          "url": "http://userserver:20100/userserv/oauth/token",
          "timeout": "3000",
          "conditionFlag": false,
          "devUrl": "http://userserver:20100/userserv/oauth/token",
          "condition": {},
          "prodUrl": "http://userserver:20100/userserv/oauth/token",
          "name": "request1",
          "preUrl": "http://userserver:20100/userserv/oauth/token",
          "fallback": {
            "mode": "stop"
          }
        }
      ]
    },
    {
      "stop": false,
      "dataMapping": {},
      "name": "step2",
      "requests": [
        {
          "method": "GET",
          "dataMapping": {
            "request": {
              "headers": {
                "Authorization": {
                  "source": "function dyFunc(paramsJsonStr) {\n  var context = JSON.parse(paramsJsonStr)['context'];\n  var data = common.getStepRespBody(context, 'step1', 'request1', '');\n  var token = data['access_token'];\n  return \"bearer \" + token;\n}\n",
                  "aggregate_config_script_id": 2,
                  "type": "javascript"
                }
              },
              "fixedParams": {},
              "fixedHeaders": {},
              "params": {},
              "script": {}
            },
            "response": {
              "headers": {},
              "fixedBody": {},
              "fixedHeaders": {},
              "body": {
                "*": "string step2.request1.response.body"
              },
              "script": {}
            }
          },
          "testUrl": "http://userserver:20100/userserv/api/user/systeminfos",
          "type": "REQUEST",
          "url": "http://userserver:20100/userserv/api/user/systeminfos",
          "timeout": "3000",
          "conditionFlag": false,
          "devUrl": "http://userserver:20100/userserv/api/user/systeminfos",
          "condition": {},
          "prodUrl": "http://userserver:20100/userserv/api/user/systeminfos",
          "name": "request1",
          "preUrl": "http://userserver:20100/userserv/api/user/systeminfos",
          "fallback": {
            "mode": "stop"
          }
        }
      ]
    }
  ],
  "name": "queryuserInfo",
  "bodyDef": {
    "type": "object",
    "properties": {},
    "required": []
  },
  "id": "d9a7ce93-5cc4-43ea-9227-0cedc3d20b28",
  "scriptValidate": {}
}

Support custom the "proxy" field of the access url for gateway

网关访问地址格式为: http://{fizz网关ip:port}/proxy/{前端服务名}/{前端API路径}

I`m looking for a new gateway to replace our old gateway.
The new gateway should be compitable with the route rule of old gateway, but the format of the access url for fizz that is too fixed. It have to use "proxy" field in the url, and do not support config or do not use the field.

Who is using Fizz Gateway?(欢迎使用 Fizz Gateway 的个人和公司在此留言)

Who is using Fizz Gateway?

Sincerely thank everyone who constantly keeps on using and supporting Fizz Gateway. We will try our best to make Fizz Gateway better and make the community and ecology more prosperous.

The original intention of this issue

  • We’d like to listen to the community to make Fizz better.
  • We want to attract more partners to contribute to Fizz.
  • Learn more about the practical use scenarios of Fizz to facilitate the next step of planning.

What we expect from you

Please submit a comment in this issue to include the following information:

your company, school or organization.
your city and country.
your contact info: weibo, email, wechat (at least one).
for what business scenario do you use Fizz.

You can refer to the following sample answer:

* Organization: Fizz Gateway
* Location: GuangZhou, China
* Contact: [email protected]
* Purpose: as a API gateway to deal with east-west traffic between microservices.

Thanks again for your participation! Your support is the motivation for us to move forward.
Fizz Gateway community

谁在使用 Fizz Gateway?

感谢正在使用和关注 Fizz Gateway 的开发者,我们会持续投入,让 Fizz Gateway 项目和社区更加繁荣。

这个 issue 的出发点

  • 聆听社区的声音,让 Fizz Gateway 解决实际的问题
  • 吸引更多的开发者参与和贡献
  • 更多的了解 Fizz Gateway 的实际使用场景,以便后续版本的计划

我们期待您能提供

在此提交一条评论, 评论内容包括:

您所在公司、学校或组织
您所在的城市、国家
您的联系方式: 微博、邮箱、微信 (至少一个)
您将 Fizz Gateway 用于哪些业务场景

可以参考下面的示例:

组织: Fizz Gateway
地点:**广州
联系方式: [email protected]
使用场景:作为应用网关处理授权方面的问题

多谢您的支持!
Fizz Gateway 社区

Support sidecar traffic limit and ACL 服务治理需求应用场景(ACL、流控、RT/QPS统计等)

  1. 我们目前有这样普遍紧急一个场景,需要 acl与流控, 项目A-client 注册到nacos 调用 项目B-server 注册到nacos, A与B都是内部业务系统服务,可以理解 两个微服务;

  2. 有一大部分业务场景(如金融业务场景) api 很敏感,需要权限控制只允许指定的业务客户端可以访问;

最后希望 :服务网关在服务治理方面也有它的发挥作用的地方

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.