dister的安装及使用

一、dister的安装

dister采用了go语言进行开发,因此dister具有优异的跨平台性能,dister是开源的、免费的,采用GPLv3协议进行发布。

dister的开源项目地址:https://gitee.com/johng/gluster

 

安装方式1(推荐):

dister提供了各个平台预编译好的二进制版本,下载地址是:https://gitee.com/johng/dists/tree/master/dister/

dister不需要任何的运行环境依赖,用户根据自己运行的平台选择对应的二进制文件下载运行即可。

 

安装方式2:

您也可以自行下载源代码进行编译安装,所使用到的编译环境除了go语言开发环境外,还包括dister使用到的轻量级框架gf,开源项目地址:https://gitee.com/johng/gf

如果预编译的常用平台版本中没有您需要的版本,那么您可以选择自行进行编译安装。

 

我们这里以第一种安装方式为例,演示如何在linux下下载并安装dister:

1、我们可以到下载页面进行下载

   

a. 选择当前最新的版本

b. 选择当前系统的版本

c. 点击版本文件

d. 点击下载即可

 

2、我们也可以通过命令行的方式进行下载(我当前的Linux版本为64位系统,因此选择版本为linux_amd64)

二、dister的使用

1、dister的配置

dister运行时可以指定配置文件路径,如果没有指定,那么默认会查找当前运行目录下的 dister.json 文件:

配置文件采用 json 数据格式进行编写,各参数说明如下:

以下是一个配置文件的示例:

 

2、dister的启动参数

dister的启动参数和配置参数一致,以下是一个示例:

 

3、dister的终端命令

我们可以使用 dister help 或者 dister ? 查看当前dister所有的终端命令:

 

4、dister的REST接口

由于采用了REST的接口设计,所有的查询使用 GET 方式,添加/修改使用 INPUT/POST 方式,删除使用 DELETE 方式。此外,提交请求的参数统一使用 json 格式。

 

  • 集群节点API

1)、节点查询

2)、节点添加/修改

3)、节点删除

 

  • KV数据管理API

1)、KV数据查看(最多1000条)

2)、KV数据查询

3)、KV数据添加/修改

4)、KV数据删除

 

  • 服务管理API

1)、服务查看(最多1000条)

2)、服务查询

3)、服务添加/修改

参数示例:

提交参数的具体含义请往下参考 “服务的配置” 一节。

4)、服务删除

 

  • 负载均衡API

 

5、服务的配置

1)、服务的名称

服务的名称用以标识一个服务,因此设定的名称应当具有唯一性,否则会造成服务同名覆盖。

 

2)、服务的类型

dister目前支持5种服务类型的健康检查:mysqlpgsqltcpwebcustom

 

3)、服务的节点

服务的节点采用 json 数组列表的格式进行配置,且具有非常灵活的参数配置,不同服务类型的节点除了必需的参数外,用户可以自定义地配置额外的参数,而这些参数在查询服务或者负载均衡访问的结果中都将能够被获取到。

每种服务类型的必需参数如下:

此外,还有两个特殊的参数 intervalpriority:interval用于指定健康检查的间隔,单位是 毫秒;priority用于负载均衡的优先级计算,这块讲在下一节负载均衡的说明了介绍。

 

6、服务的负载均衡

服务的负载均衡是依靠服务配置的 priority 参数来指定每个节点的优先级。

例如,以上服务管理API示例中的homesite服务有4个节点,每个节点的priority是100,那么在负载均衡请求中,每个节点返回的概率是相同的,都是100/400。

如果某个节点不配置priority参数,或者priority参数设置为0,那么该节点将无法被访问到。

dister的这种设计方式使请求的流量可以被更加灵活地均衡到各个节点中。

 

上一节:dister的介绍及设计                                        下一节:dister的使用示例

 

 

 

Leave a Reply

Your email address will not be published.