全链路面向工程实际的生产级高性能服务器软件,无外部依赖直接运行,快速构建大规模分布式服务体系,动态扩容应对业务增长。
规模级应用通常都会将服务分散到不同的服务器里从而形成一个完整的高性能大容量服务体系,其中有许多服务是可以重用的。DDZEB 所有服务器产品均可直接部署,并通过高性能远程 RPC 进行服务调用。无论是通过内网构建后端服务体系,还是通过广域网组建服务群,都会非常容易。DDZEB 还提供 CLI 客户端可以与这些服务器进行交互,您可以通过 CLI 工具进行接口调用或调试。
DDZEB 已发布五款服务器软件,通过组合部署可实现任意业务建模,快速搭建大规模服务体系。
DDZEB 所有高性能服务器产品均是采用 RPC 进行接口调用交换数据,您可以用任何语言编写 RPC 客户端程序与服务器进行数据交互,如果您采用 DDZEB 基础设施开源库 将会更加便捷。部署服务器产品,需要如下几个步骤:
确定平台操作系统类型
部署程序文件以及相应 yaml 配置文件
运行服务器程序
客户端接入进行 RPC 交互
大部分服务器软件的部署都涉及到安装大量的依赖服务,而 DDZEB 提供的软件没有任何外部依赖,可以直接部署运行,免除了繁琐而艰难的安装过程。
服务器启动的时候会加载同名的 YAML 配置文件,比如 abc.server 会自动加载 abc.yaml 配置文件。通过配置文件,我们可以对服务器进行基本的参数设置,包括网络、存储等功能。以下是一个 YAML 配置文件示例:
#
# DDZEB DEEPCORE
# 湖南滴滴网络科技有限公司
# ddzeb.com
#
# atom server v1.0 configurations
#
server-name : ddzeb atom server
server-port : 0.0.0.0:1000 # IP:PORT@PASSWORD
server-cidr : # 127.0.0.1,192.168.0.1/5
server-rush : 0 # simutaneous connections per remote IP
concurrency : 1000
log-level : DEBUG
data-file : data/atom # database file
data-pre : 4M # preallocated space
data-inc : 4M # increse size step
后端服务器通常位于 HTTP 服务器之后,其 IP 地址也基本都会采用内网 IP,前端 HTTP 服务器通过 RPC 与后端服务器进行通信并交换数据。比如:
import "ddzeb/rpc"
......
rpc.Call("127.0.0.1:1000@pwd", "PropSet", Map{
"prop" : "ssl",
"Cert" : CERT_EXAMPLE_SSL_CERT,
"Key" : CERT_EXAMPLE_SSL_KEY,
})
所有 API 的返回数据,除非在特殊声明的情况下,均是标准 JSON 格式。比如:
{
"Account" : "0000",
"reterr" : "SUCCESS"
}
有几种数据类型比较特殊,需要特别说明:
时间
绝对时间实际是采用相对 1970 年 1 月 1 日 00:00 的秒数来表示,这个符合国际惯例。API 采用整数表示绝对时间,展现层自行决定如何转换。
时长
某些时候我们需要表达一定的时长,比如一段视频的 duration,我们使用整数来表示所有的时长,并以纳秒为单位。
布尔值
布尔值均使用整数表示,1 表示真,0 表示假。
在网络通信正常的情况下,所有返回数据都会有一个reterr
字段表明业务逻辑执行结果,某些情况下会有相应的retmsg
字段进行详细说明。以下是系统全局错误代码:
reterr | 说明 |
SUCCESS | 成功 |
INTERNAL | 内部错误:磁盘错误、内存错误或网络错误等 |
PARAM | 参数错误:为空、非法等验证不通过 |
PERM | 权限错误:用户未登录、没有操作权限等 |
CONFIG | 配置错误:缺少配置项、配置项非法等 |
如果您在使用 DDZEB 软件的过程中有任何问题,可以随时联系我们进行解决。针对不同的需求和场景,我们按级别提供不同粒度的服务支持,详细情况请与我们联系讨论。
0731-88180371
湖南滴滴网络科技有限公司
admin@ddzeb.com
请在邮件中注明您的详细联系方式
扫码加 “DDZEB • 小助手” 好友即可与客服取得联系实时沟通,既方便又快捷。