zoukankan      html  css  js  c++  java
  • 网关设计概述

    前言

    有时候会听到网关这个词,觉得挺高大上的,因为自己接触这个概念以及所做的项目中涉及到网关的地方也比较少。可能我觉得网关这个东西是偏架构的设计,作为一个Java小菜鸡对这架构这方面的东西总感觉优点可触不可及的样子。关于这个网关的设计以及实现我觉得还是先参考以下网上的资料,然后自己再总结以下,顺便找个实例写一下吧。

    怎么会想到网关?

    原来一个系统需要和不同的上游系统接收数据,这个系统又比较重要,基于各种原因把这些和上游系统交互的部分抽取成一个新的项目,这个项目起到了一个网关的作用。虽然自己没有参与到这个项目当中,但是对网关这个话题我还是很感兴趣的,然后抽时间来学习一下关于网关的知识。而且随着微服务的流行,网关感觉听到的也更多了。

    何谓网关?

    首先还是在网上查询了以下网关的含义:

    网关(Gateway)又称网间连接器、协议转换器。网关在网络层以上实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关既可以用于广域网互连,也可以用于局域网互连。网关是一种充当转换重任的计算机系统或设备。使用在不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求。

    额,感觉这个网关的概念是计算机网络里面说的网关啊。

    WEB API网关——通常WEB API网关是系统的唯一入口,它封装了系统内部架构,为客户端统一提供服务。有一些与业务无关的公共逻辑可以抽象到网关中实现,比如客户端的认证,访问控制,监控,缓存等。

    应用网关是将一个网络与另一个网络进行相互连通,提供特定应用的网络间设备,应用网关必须能实现相应的应用协议。应用网关可以看做是运行于要求特定业务的客户机与提供所需业务的服务器之间的中间过程。应用网关在这类过程中,从用户侧来看它起着服务器的作用,从服务器侧来看它是一个客户机。

    为什么需要网关?

    网关有哪些实际应用场景?

    支付网关

    关于支付网关想学习的还是挺多的。

    web应用安全网关

    产品主要从网站系统可用性和信息可靠性的角度出发,满足用户对于WEB威胁防护、WEB性能优化及WEB数据分析等功能的核心需求,致力于为各类网站系统提供全方位的安全防护及业务优化解决方案。

    http://www.topsec.com.cn/aqcp/ywjf/wzfh/,我不是打广告的啊,我觉他们这个产品介绍的东西可以学一下哦。

    WEB API网关

    通常WEB API网关是系统的唯一入口,它封装了系统内部架构,为客户端统一提供服务。

    应用程序的网关:负载均衡

    负载均衡这个我知道,但是网关用于复杂均衡我倒还是第一次听说。

    游戏服务器网关

    游戏服务器网关的作用有:

    1. 与客户端建立连接
    2. 消息过滤
    3. 消息转发,负载均衡
    4. 业务服务的动态扩展
    5. 保持玩家在线,切换服务器不需要重新建立连接
    6. 保持心跳

    网关架构设计

    系统设计时经常会遇到类似的需求:设计一个系统,为公司内(外)的其它系统提供XX服务(登录、支付等,为了表述方便,下面以支付为例),这个系统需要对接其它若干支付系统,如:对接支付宝,对接微信支付,对接网银等。此处,我们把要设计的系统叫做XX网关系统。

    Spring Cloud zuul网关设计

    其功能有:

    1. 参数校验
    2. 鉴权
    3. 限流
    4. 服务路由
    5. 负载均衡
    6. api服务列表的动态维护

    前置机系统

    银行、证券等领域常见的前置机系统,它也是解决访问认证、报文转换、访问统计等问题的。

    接入用的网关服务器

    可以把要承载高并发,高性能任务的网络服务独立出来专门做好,做强(对于http协议的场景,可以直接用nginx做网关服务器)。这样各个应用只需把重点放在对业务逻辑的处理即可。从技术架构和项目协作上都做到了解耦。

    自己如何思考搭建网关?

  • 相关阅读:
    Entity Framework 6 (7) vs NHibernate 4: DDD perspective(纯净DDD很难很难...)
    asp.net解决高并发的方案
    我所经历的SAP选型[转]
    为什么我不再用 .NET 框架
    Why I Left the .NET Framework
    Docker 传奇之 dotCloud
    ICE概述
    .NET Out Of Memory Exception
    iOS-申请邓白氏编码的超详细流程介绍
    .NET对象与Windows句柄(三):句柄泄露实例分析
  • 原文地址:https://www.cnblogs.com/tuhooo/p/8471198.html
Copyright © 2011-2022 走看看