(四)surging 微服务框架使用系列之网关
一、什么是API网关
API网关是一个服务器,是系统对外的唯一入口。API网关封装了系统内部架构,为每个客户端提供一个定制的API。API网关方式的核心要点是,所有的客户端和消费端都通过统一的网关接入微服务,在网关层处理所有的非业务功能。通常,网关也是提供REST/HTTP的访问API。服务端通过API-GW注册和管理服务。
二、网关的职责
网关具有的职责,如身份验证、监控、负载均衡、缓存、请求分片与管理、静态响应处理。当然,最主要的职责还是与“外界联系”。
三、surging的网关架构设计
https://www.cnblogs.com/fanliang11/p/7441281.html
四、surging的网关使用
1.配置

在surging网关的configs文件下有三个配置。appsettings:自定义的配置。cacheSettings:缓存的配置。gatewaySettings:网关配置。
gatewaySettings 配置:
{
"AccessTokenExpireTimeSpan": "",//token过期时间,单位分钟
"AuthorizationRoutePath": "api/userapp/authentication",//token服务验证方法
"AuthorizationServiceKey": "UserApp",//服务对应的ModuleName
"TokenEndpointPath": "api/oauth2/token",//token请求对外路径
"CacheMode": "ddlCache.Redis", //MemoryCache or gateway.Redis save token(缓存配置)
//跨域配置
"AccessPolicy": {
"Origins": [ "http://127.0.0.1:1927", "http://localhost:927" ],
"AllowAnyHeader": true,
"AllowAnyMethod": true
},
//注册中心配置(zookeeper或者consul)
"Register": {
"Provider": "Consul",
"Address": "127.0.0.1:8500"
},
//服务聚合配置
"ServicePart": {
"MainPath": "part/service/aggregation",
"EnableAuthorization": false,
"Services": [
{
"ServiceAggregation": [
{
"RoutePath": "api/user/GetUserName",
"ServiceKey": "User",
"Key": "Users"
},
{
"RoutePath": "api/user/GetUserName",
"ServiceKey": "User",
"Key": "Roles"
}
],
"UrlMapping": "part/user/getuserrole"
}
]
}
}
2.将网关发布。
3.将服务启动
4.浏览网页(以下表示成功)

5.请求token jwt模式(postman)
Content-Type:application/json
请求参数:input 是api/userapp/authentication方法对应的参数名称。里面的对象是你真正的要传的参数对象

如上图就表示token请求成功
(四)surging 微服务框架使用系列之网关的更多相关文章
- (四)surging 微服务框架使用系列之网关 转载
一.什么是API网关 API网关是一个服务器,是系统对外的唯一入口.API网关封装了系统内部架构,为每个客户端提供一个定制的API.API网关方式的核心要点是,所有的客户端和消费端都通过统一的网关接入 ...
- 一)surging 微服务框架使用系列之surging 的准备工作rabbitmq安装(转载 https://www.cnblogs.com/alangur/p/8339905.html)
(一)surging 微服务框架使用系列之surging 的准备工作rabbitmq安装 (1)下载erlang: http://www.erlang.org/download/otp_win64 ...
- 转载 (三)surging 微服务框架使用系列之我的第一个服务(审计日志)
(三)surging 微服务框架使用系列之我的第一个服务(审计日志) 前言:前面准备了那么久的准备工作,现在终于可以开始构建我们自己的服务了.这篇博客就让我们一起构建自己的第一个服务---审计日志 ...
- (三)surging 微服务框架使用系列之我的第一个服务(审计日志)
前言:前面准备了那么久的准备工作,现在终于可以开始构建我们自己的服务了.这篇博客就让我们一起构建自己的第一个服务---审计日志. 首先我们先创建两个项目,一个控制台的服务启动项目,一个业务的实现项目. ...
- (一)surging 微服务框架使用系列之surging 的准备工作rabbitmq安装
(1)下载erlang: http://www.erlang.org/download/otp_win64_17.3.exe 并安装 (2)下载RabbitMQ: http://www.rabbitm ...
- (五)surging 微服务框架使用系列之缓存-reids
1.服务跟客户端初始化的时候需要添加缓存配置 var host = new ServiceHostBuilder() .RegisterServices(builder => { builder ...
- (二)surging 微服务框架使用系列之surging 的准备工作consul安装
suging 的注册中心支持consul跟zookeeper.因为consul跟zookeeper的配置都差不多,所以只是consul的配置 consul下载地址:https://www.consul ...
- surging 微服务框架使用系列之surging介绍
首先,感谢surging的作者fanliang11为.net开源做出的贡献 其次, surging 的git地址:https://github.com/dotnetcore/surging surgi ...
- Surging 微服务框架使用入门
原文:Surging 微服务框架使用入门 前言 本文非 Surging 官方教程,只是自己学习的总结.如有哪里不对,还望指正. 我对 surging 的看法 我目前所在的公司采用架构就是类似与Sur ...
随机推荐
- bzoj 2763 [JLOI2011]飞行路线 Dijikstra 分层
k<=10,所以每用一次机会就跳到一个新图中, 每一个图按原图建边,相邻两图中建边权为0的边 补一补dj,好像我以前觉得dj特别难,hhhhh #include<cstdio> #i ...
- BZOJ_4765_普通计算姬_分块+dfs序+树状数组
BZOJ_4765_普通计算姬_分块 Description "奋战三星期,造台计算机".小G响应号召,花了三小时造了台普通计算姬.普通计算姬比普通计算机要厉害一些 .普通计算机能 ...
- [NOIP2002]字串变换 T2 双向BFS
题目描述 已知有两个字串 A,B 及一组字串变换的规则(至多6个规则): A1−>B1 A2−>B2 规则的含义为:在 A$中的子串 A1可以变换为可以变换为B1.A2可以变换为可 ...
- Python任务调度模块 – APScheduler,实现定时任务
1.安装 pip install apscheduler 安装完毕 2. 简单任务 首先,来个最简单的例子,看看它的威力. # coding:utf-8 from apscheduler.schedu ...
- exgcd学习笔记
扩展欧几里得算法是当已知a和b时,求得一组x和y使得 首先,根据数论中的相关定理,解一定存在 //留坑待填 之后我们可以推一推式子 将a替换掉 展开括号 提出b,合并 且 设 现在已经将 ...
- J2EE相关概念,EJB/JNDI/JMS/RMI等
J2EE 四层模型 J2EE的核心API.组件.相关概念 JDBC(Java Database Connectivity) JNDI(Java Name and Directory Interface ...
- Docker 服务
1. Docker服务 作为一名后端攻城狮,对“服务”这个概念一定不陌生.比如,我们做一个会员系统,它可能会需要数据库.缓存.消息队列,这些都是中间件服务,除此以外可能还需要依赖其它的Dubbo服务 ...
- Android开发:文本控件详解——EditText(一)基本属性
一.简单实例: EditText输入的文字样式部分的属性,基本都是和TextView中的属性一样. 除此之外,EditText还有自己独有的属性. 二.基本属性: hint 输入框显示的提示文本 ...
- [区块链\理解BTCD源码]GO语言实现一个区块链原型
摘要 本文构建了一个使用工作量证明机制(POW)的类BTC的区块链.将区块链持久化到一个Bolt数据库中,然后会提供一个简单的命令行接口,用来完成一些与区块链的交互操作.这篇文章目的是希望帮助大家理解 ...
- 【开发记录】如何在B/S项目中使用中国天气的实时天气功能
好久没有更新我的博客了,正好手头有一个比较合适的项目经验可以分享出来,就是这个如何使用中国天气的天气预报功能,也正好做个项目经验记录. 功能需求 这个功能需求比较简单,就是想在网页端显示实时天气数据. ...