一、什么是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 配置:

  1. 1 {
  2. 2 "AccessTokenExpireTimeSpan": "30",//token过期时间,单位分钟
  3. 3 "AuthorizationRoutePath": "api/userapp/authentication",//token服务验证方法
  4. 4 "AuthorizationServiceKey": "UserApp",//服务对应的ModuleName
  5. 5 "TokenEndpointPath": "api/oauth2/token",//token请求对外路径
  6. 6 "CacheMode": "ddlCache.Redis", //MemoryCache or gateway.Redis save token(缓存配置)
  7. 7 //跨域配置
  8. 8 "AccessPolicy": {
  9. 9 "Origins": [ "http://127.0.0.1:1927", "http://localhost:927" ],
  10. 10 "AllowAnyHeader": true,
  11. 11 "AllowAnyMethod": true
  12. 12 },
  13. 13 //注册中心配置(zookeeper或者consul)
  14. 14 "Register": {
  15. 15 "Provider": "Consul",
  16. 16 "Address": "127.0.0.1:8500"
  17. 17 },
  18. 18   //服务聚合配置
  19. 19 "ServicePart": {
  20. 20 "MainPath": "part/service/aggregation",
  21. 21 "EnableAuthorization": false,
  22. 22 "Services": [
  23. 23 {
  24. 24 "ServiceAggregation": [
  25. 25 {
  26. 26 "RoutePath": "api/user/GetUserName",
  27. 27 "ServiceKey": "User",
  28. 28 "Key": "Users"
  29. 29 },
  30. 30 {
  31. 31 "RoutePath": "api/user/GetUserName",
  32. 32 "ServiceKey": "User",
  33. 33 "Key": "Roles"
  34. 34 }
  35. 35 ],
  36. 36 "UrlMapping": "part/user/getuserrole"
  37. 37 }
  38. 38 ]
  39. 39 }
  40. 40 }

  2.将网关发布。

  3.将服务启动

  4.浏览网页(以下表示成功)

  5.请求token jwt模式(postman)

  Content-Type:application/json

  请求参数:input 是api/userapp/authentication方法对应的参数名称。里面的对象是你真正的要传的参数对象

 

  如上图就表示token请求成功

(四)surging 微服务框架使用系列之网关 转载的更多相关文章

  1. (四)surging 微服务框架使用系列之网关

    一.什么是API网关 API网关是一个服务器,是系统对外的唯一入口.API网关封装了系统内部架构,为每个客户端提供一个定制的API.API网关方式的核心要点是,所有的客户端和消费端都通过统一的网关接入 ...

  2. 一)surging 微服务框架使用系列之surging 的准备工作rabbitmq安装(转载 https://www.cnblogs.com/alangur/p/8339905.html)

    (一)surging 微服务框架使用系列之surging 的准备工作rabbitmq安装   (1)下载erlang: http://www.erlang.org/download/otp_win64 ...

  3. 转载 (三)surging 微服务框架使用系列之我的第一个服务(审计日志)

    (三)surging 微服务框架使用系列之我的第一个服务(审计日志)   前言:前面准备了那么久的准备工作,现在终于可以开始构建我们自己的服务了.这篇博客就让我们一起构建自己的第一个服务---审计日志 ...

  4. (三)surging 微服务框架使用系列之我的第一个服务(审计日志)

    前言:前面准备了那么久的准备工作,现在终于可以开始构建我们自己的服务了.这篇博客就让我们一起构建自己的第一个服务---审计日志. 首先我们先创建两个项目,一个控制台的服务启动项目,一个业务的实现项目. ...

  5. (一)surging 微服务框架使用系列之surging 的准备工作rabbitmq安装

    (1)下载erlang: http://www.erlang.org/download/otp_win64_17.3.exe 并安装 (2)下载RabbitMQ: http://www.rabbitm ...

  6. (五)surging 微服务框架使用系列之缓存-reids

    1.服务跟客户端初始化的时候需要添加缓存配置 var host = new ServiceHostBuilder() .RegisterServices(builder => { builder ...

  7. (二)surging 微服务框架使用系列之surging 的准备工作consul安装

    suging 的注册中心支持consul跟zookeeper.因为consul跟zookeeper的配置都差不多,所以只是consul的配置 consul下载地址:https://www.consul ...

  8. surging 微服务框架使用系列之surging介绍

    首先,感谢surging的作者fanliang11为.net开源做出的贡献 其次, surging 的git地址:https://github.com/dotnetcore/surging surgi ...

  9. Surging 微服务框架使用入门

    原文:Surging 微服务框架使用入门 前言 本文非 Surging 官方教程,只是自己学习的总结.如有哪里不对,还望指正.  我对 surging 的看法 我目前所在的公司采用架构就是类似与Sur ...

随机推荐

  1. WORLD 合并多个WORLD中的文本

    1,把多个文档放入一个文件夹中. 2,新建一个WORLD文档. 3,点击插入----对象----文件中的文字----选中文件中的多个WORLD文档----打开.

  2. 浏览器解析JavaScript原理

    1.浏览器解析JavaScript原理特点: 1.跨平台 2.弱类型 javascript 定义的时候不需要定义数据类型,数据类型是根据变量值来确定的.    var a = 10; 数字类型    ...

  3. CSS3动画:流彩文字效果+图片模糊效果+边框伸展效果实现

    前言 首先第一步,先布局html代码如下: <div class="wrap"> <img src="images/1.jpg" class= ...

  4. GIS开发之数据查询

    在GIS开发之我们经常会用到属性查询和空间查询,特别是在数据量比较大的时候,如何提高查询效率成为一个问题 1.属性查询 对于属性查询,除了必要的建索引之外,我们还应该考虑使用字段缓存:减少查询字段,减 ...

  5. java Web三大组件--过滤器

    参考博客:http://www.cnblogs.com/coderland/p/5902878.html https://www.cnblogs.com/HigginCui/p/5772514.htm ...

  6. Android开发三种第三方图片加载的框架

    最近在项目中用到了大量图片加载,第三方优秀框架还不错,下面介绍三款榜首的框架用法和问题,做一个记录. 现在项目使用的是Android Studio开发的,现在也没有多少人使用Eclipse了吧. 一. ...

  7. 实现加载Tomcat服务器中的图片,并且有进度条提示进度

    首先布局页面, <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:andr ...

  8. 内核线程的进程描述符task_struct中的mm和active_mm

    task_struct进程描述符中包含两个跟进程地址空间相关的字段mm, active_mm, struct task_struct { // ... struct mm_struct *mm; st ...

  9. VMware虚拟机安装CentOS7【转】-添加部分注释(自己看着方便)

    本文稍作改动,添加部分说明,原文链接:https://www.cnblogs.com/wcwen1990/p/7630545.html 本文基于vmware workstations进行CentOS7 ...

  10. windows 解放鼠标快捷键

    win+ 调整某个窗口的放大缩小靠边站,最小化 窗口间的切换alt+tablealt (按住)+table(一下)+ 上下左右 alt(一下)+table(一下)相邻切换 alt(按住)+tables ...