当前位置: 首页 > 软件库 > 程序开发 > 网络工具包 >

gateway-golang

Golang 版本 API 网关
授权协议 MIT
开发语言 Google Go
所属分类 程序开发、 网络工具包
软件类型 开源软件
地区 国产
投 递 者 童华池
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Go 语言实现 API 网关基础功能。(主要看重 Go 并发处理能力)

获取代码

go get -u github.com/wisrc/gateway

日志框架使用了 golang.org/x/sys 中的包,如果出现下载这个包超时的情况,请到 github.com/golang/sys 中下载,然后将 github.com/golang/sys 重命名为 golang.org/x/sys

配置介绍

  • 获取 Eureka 注册中心微服务信息
  • 转发前端请求到后台微服务

 

# 路由配置

```
server:
    port: 8790
    contextPath: /
    timeout: 10
    host:
registerCenter:
    refreshFrequency: 30
    eureka:
        serviceUrls: [ http://localhost:8761 ]
router:
    gateway:
        ignoredPatterns: [ /gateway, /js, /css ]
        sensitiveHeaders: [Cookie]
        routers:
            user:
                path: /map/**
                serviceId: map
                stripPrefix: true
                timeout: 30
            ai:
                path: /gitchat/**
                url: https://gitbook.cn
                stripPrefix: false
                timeout: 5
```

测试地址

http://localhost:8790/gitchat/columns/category/5d8b7c3786194a1921979123?page=1

性能测试

  • 标准protobbuf https://github.com/golang/protobuf 标准grpc https://github.com/grpc/grpc-go https://grpc.io/docs/quickstart/go/ go语言增强的gogoprotobuf https://github.com/gogo/protobuf/ 使用扩展 https://github.com/

  • 准备工作 依赖安装 # OpenCL sudo apt install mesa-opencl-icd ocl-icd-opencl-dev 编译 - 调试模式 # 在调试模式下构建Lotus Binaries,最小使用2048个字节的扇区。 make 2k 1. lotus 准备 - 删除之前的数据 rm -rf ~/.lotus ~/.lotusminer/ ~/.genesis-sect

  • 基于基本原则,架构方面正好够用就是最好的,禁忌过度设计,但要想好后续的平稳扩展方案 前期设计 本着大道至简的原则设计如下: web端使用Beego框架,且使用restful风格的API 登陆token验证,本打算使用JWT,但我还是喜欢自建 数据库操作使用ORM 缓存使用redis 日志服务使用elaticsearch 数据缓冲kafka 消息推送:米推 短信推送:阿里云 数据仓库:maxcomp

  • 前言 在上个实验 Hyperledger Fabric 多组织多排序节点部署在多个主机上 中,我们已经实现了多组织多排序节点部署在多个主机上,但到目前为止,我们所有的实验都只是研究了联盟链的网络配置方法(尽管这确实是重难点),而没有考虑具体的应用开发。本文将在前面实验的基础上,首先尝试使用 Go 语言开发了一个工作室联盟链的项目信息智能合约,并成功将其部署至联盟链上;然后依据官方示例,使用 fab

  • Hyperledger Fabric Gateway SDK for Golang 超级账本的Go版本SDK 介绍: 网关SDK是根据超级账本的基础SDK开发出来的一个高级SDK,为我们开发部署省去很多的麻烦。 网关SDK是应用程序与区块链网络交互的一个工具,提供了一些简单的API向账本提交交易或者查询。 使用方法 这里我们使用超级账本中的fabric-sample作为操作环境。 进入到fabri

  • 零度光电科技有限公司提供技术支持 首先介绍一下名字由来,Pajero源自南美洲高原地区的一种猫科动物。 寓意:灵巧敏捷同时具备强大的力量,名字非常符合这款API Gateway。 特征: 纯golang语言实现 大小只有8M,超轻量 负载均衡策略支持:随机,轮询,response时间加权算法等三种策略方式 自身资源消耗非常低 性能: 以下测试数据基于8G内存4核CPU的物理主机: 单线程每秒可处

  • 1.环境 win10,eclipse 安装好go(gopath,gobin 设置好) a. 安装好 grpc-go go get -u google.golang.org/grpc 如果被墙,git clone 到go path 相关目录 git clone https://github.com/grpc/grpc-go b.安装 go get -u github.com/golang/proto

  • 步骤介绍 通过openssl生成密钥公钥 服务端代码,客户端代码 通过gomod拉取代码所用的库 编译proto文件,分为两步->go_out 运行服务端代码 通过http(post)访问,通过grpc client访问 官方文档: https://grpc-ecosystem.github.io/grpc-gateway/docs/tutorials/adding_annotations/ 目录

  • jsonrpc 把jsonrpc.ServeConn(conn)改为grpc.ServeConn(conn)就是grpc了 为什么用jsongrpc? 因为grpc使用的为go语言独有的数据序列化gob,导致其他语言无法解析; 使用jsonrpc的话数据序列化就使用json这样其他语言都可以解析使用 服务端 type user struct { } func (u user) Hello(nam

  •   1:一个proto 文件 如果你想把一些接口暴露出去,就可以加上 google.api.http 这个proto文件对应的东西,这样就可以被网关层发现,然后代理了 2:一些微服务接口,不想暴露给用户,就不要加 google.api.http 这个proto文件对应的东西,这样这个接口,只能被rpc调用,不能被rest调用 3:但是一个proto文件一般全部都是rpc,或者全部都是http,不应

 相关资料
  • Gateway是一个使用go实现的基于HTTP的API 网关。 特性: API 聚合 流控 熔断 负载均衡 健康检查 监控 消息路由 后端管理WebUI 能做什么: 规划更友好的URL给调用者。 聚合多个API的结果返回给API调用者,利于移动端,后端可以实现原子接口。 保护后端API服务不会被突发异常流量压垮。 提供熔断机制,使得后端API Server具备自我恢复能力。 借助消息路由能力,实现灰度发布,AB测试。

  • Goku API Gateway (中文名:悟空 API 网关)是一个基于 Golang 开发的微服务网关,能够实现高性能 HTTP API 转发、多租户管理、API 访问权限控制等目的,拥有强大的自定义插件系统可以自行扩展,并且提供友好的图形化配置界面,能够快速帮助企业进行 API 服务治理、提高 API 服务的稳定性和安全性。 为什么要使用Goku Goku API Gateway (悟空 A

  • VX-API-Gateway是基于Vert.x3.5.1(java)开发的API网关,是一个集分布式,全异步,高性能,可扩展 ,轻量级的API网关 软件使用说明 VX-API-Gateway使用帮助文档 VX-API 执行流程 绿线代表一定会执行,黑线代表当存在时执行,当用户请求的时候,完整的流程按组件顺序由1开始执行到7,如果不满足任意一个组件时请求结束并响应(fail-end-response

  • WEB应用开发-"aliyun-api-gateway" 简介 安装 应用开发平台服务API使用 API WEB应用开发-"aliyun-api-gateway" 更新时间:2018-02-01 21:17:59 简介 针对 Web 非托管应用 的后端服务开发包,适合语言是Node.js后端服务。服务API 网关(API Gateway),提供高性能、高可用的 API 托管服务,帮助用户对外开放其

  • Sentinel supports flow control for API gateways including Spring Cloud Gateway and Zuul 1.x/2.x. Sentinel 1.6.0 introduced the sentinel-api-gateway-adapter-common module, which includes common managem

  • 一、网关介绍 通过配置连接到您的各种数据库,通过查询SQL语句即可快速构建API服务,通过自定义数据处理器进行数据特殊转换,让您的本地数据方便快捷安全的提供可控http restful json api数据服务。 二、功能列表 1. 数据源管理:支持JDBC驱动自定义上传和配置 2. API接口:一个API接口支持多个数据项(可采用不同数据源)、多个入参处理器、多个结果处理器的配置。处理器:可以入

  • AWS Storage Gateway提供内部部署IT环境与AWS存储基础架构之间的集成。 用户可以将数据存储在AWS云中,以实现可扩展的数据安全功能和经济高效的存储。 AWS Gateway提供两种类型的存储,即基于卷和基于磁带。 卷网关 此存储类型提供云支持的存储卷,可以从本地应用程序服务器安装为Internet小型计算机系统接口(iSCSI)设备。 Gateway-cached Volume

  • Eggjs resfulApi 路由版本控制 插件:egg-router-plus 文档:https://github.com/eggjs/egg-router-plus 安装:cnpm i -S egg-router-plus 配置 插件配置 // {app_root}/config/plugin.js exports.routerPlus = { enable: true, pa