浅析如何设计一个亿级网关
如果有某些业务就需要使用隔离但是统一网关又没有线程池隔离那么应该怎么办呢?那么可以使用集群隔离,如果你的某些业务真的很重要那么可以为这一系列业务单独申请一个集群或者多个集群,通过机器之间进行隔离。 2.4 请求限流 流量控制可以采用很多开源的实现,比如阿里最近开源的Sentinel和比较成熟的Hystrix。 一般限流分为集群限流和单机限流:
2.5 熔断降级 这一块也可以参照开源的实现Sentinel和Hystrix,这里不是重点就不多提了。 2.6 泛化调用 泛化调用指的是一些通信协议的转换,比如将HTTP转换成Thrift。在一些开源的网关中比如Zuul是没有实现的,因为各个公司的内部服务通信协议都不同。比如在唯品会中支持HTTP1,HTTP2,以及二进制的协议,然后转化成内部的协议,淘宝的支持HTTPS,HTTP1,HTTP2这些协议都可以转换成,HTTP,HSF,Dubbo等协议。 2.6.1泛化调用 如何去实现泛化调用呢?由于协议很难自动转换,那么其实每个协议对应的接口需要提供一种映射。简单来说就是把两个协议都能转换成共同语言,从而互相转换。 一般来说共同语言有三种方式指定:
比如可以将一个 www.baidu.com/id = 1 GET 可以映射为json: 代码块
对于泛化调用如果要自己设计的话JSON基本可以满足,如果对于个性化的需要特别多的话倒是可以自己定义一套语言。 2.7 管理平台 上面介绍的都是如何实现一个网关的技术关键。这里需要介绍网关的一个业务关键。有了网关之后,需要一个管理平台如何去对我们上面所描述的技术关键进行配置,包括但不限于下面这些配置:
3.总结 最后一个合理的标准网关应该按照如下去实现: 【编辑推荐】
点赞 0 (编辑:源码网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |