• Stars
    star
    804
  • Rank 56,681 (Top 2 %)
  • Language
    Java
  • Created over 8 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Haafiz is a gateway in Micro Service which is inspired by many open source gateway :Zuul 1.x , spring cloud gateway,currently Not Released Now, Only For Study ......Haafiz (在英文中是守护者的意思)参考了很多开源网关的思想,基于Netty,Disruptor,etcd等技术做一个开源网关目前,暂未发布,仅供学习

Haafiz is a gateway in Micro Service which is inspired by many open source gateway :Zuul 1.x , spring cloud gateway,currently not released now ......

Haafiz (在英文中是守护者的意思)参考了很多开源网关的思想,基于Netty,Disruptor,etcd等技术做一个开源网关目前,目前还未发布正式版本

Design

Communication FrameWork

Netty Netty通信框架

Register Center

Etcd Etcd注册中心

Base Project FrameWork

Java Java语言

Design HighLights

  • asynchronized request &response
  • Disruptor& MPMC(multi producer and multi consumer)to support higher performance
  • Netty Reactor
  • load balance design refernce from Dubbo
  • Make full use of cache (config&route rule&ReferenceConfig in dubbo&loadbalance strategy...)
  • FilterChain design reference to Netty &Sentinal
  • serialization for quick response data & parallelization for heavy time-consuming data
  • OpenTracing protocol and RollingNumber to track request& response

设计亮点

  • 异步请求响应
  • Disruptor &MPMC高性能实现
  • Netty Reactor线程模型
  • 参考Dubbo的负载均衡设计
  • 充分使用缓存(配置,路由规则,负载均衡策略)
  • 参考 Sentinel和Netty的FilterChain 职责链模型设计
  • 串行化和并行化优化
  • 基于Opentracing和RollingNumber的请求,响应记录

core features

  • authorization & authentication
  • flow control
  • black/white list
  • gray route support
  • redirect
  • flow statistics

核心功能

  • 权限校验
  • 流控
  • 黑白名单
  • 灰度路由
  • 路由转发
  • 流控统计

architecture diagram

todo

架构图

todo