dapeng-soa

Language Maven Central GitHub release DockerHub License

Dapeng-soa 是一个轻量级、高性能的微服务框架,构建在Netty以及定制的精简版Thrift之上。 同时,从Thrift IDL文件自动生成的服务元数据信息是本框架的一个重要特性,很多其它重要特性都依赖于服务元数据信息。 最后,作为一站式的微服务解决方案,Dapeng-soa还提供了一系列的脚手架工具以支持用户快速的搭建微服务系统,例如:

  • api网关(dapeng-mesh), 提供基于服务元数据以及流式处理的Json模块用于处理http-json请求跟Thrift协议之间的相互转换。
  • 在线文档以及测试站点(dapeng-api-doc),直接基于服务元数据生成,确保跟代码保持同步。
  • 命令行工具(dapeng-cli),提供命令行或者脚本的方式跟服务集群交互,可用于服务运行时状态监控、数据修复等。
  • 配置部署中心(dapeng-config-server),提供web-gui界面,用于服务配置管理以及服务部署管理。
  • maven/sbt插件 for IDEA, 用于在开发过程中快速启动服务容器
  • 项目模板(目前仅支持sbt:g8 template for sbt projects)
  • Demo(dapeng-demo)

Architecture

dapeng-soa

Features

  • 基于Netty 以及精简版的Thrift
  • 基于Thrift IDL的服务元数据
  • 服务注册以及服务自动发现
  • 支持Java/Scala客户端代码自动生成
  • 支持http-json跟Thrift二进制流的高效相互转换
  • 客户端以及服务端全链路同步/异步调用支持
  • 多维度智能服务路由以及负载均衡策略,可通过http cookie信息路由(Router)
  • 基于共享内存的服务端限流,支持多维度的限流,支持服务或者接口级别的限流(FreqControl)
  • 分布式服务调用日志跟踪

Next

Quick start

Documents

Faqs