Skip to content
Andy Ai edited this page Dec 31, 2018 · 1 revision

随着微服务的广泛使用,服务治理与配置管理也变得越来越重要。Dryad 的主要目标就是要非常便捷快速地解决这两个问题。Dryad 并不试图去构建一个服务与配置中心,而是依赖优秀的开源软件,例如:Consul, etcd 等。相对于 Consul 或 etcd,Dryad 更像是一个客户端。为了帮助开发者更加简单地使用,我们做了以下几个抽象:

概念

Service

Service 是服务声明的最小单元,通常地我们称它为一个微服务。

Namespace

每个服务都不可以是匿名的状态,我们使用 namespace 来声明服务的名称。例如我们可以将一个订单服务的 namespace 设置为 trades。

Group

Group 是服务集群组成的单位,引入 Group 是为了方便我们对同一个服务组成不同的集群。

模块

  • dryad-core: 核心模块
  • dryad-consul: Dryad 基于 Consul 实现
  • dryad-cluster: 服务发现的客户端,Dryad 模式实现了 Round-Robin 负载均衡算法。
  • git2consul: 将由 Git 管理的配置文件同步到 Consul 里。
Clone this wiki locally