- 授权协议: Apache
- 开发语言: Java Groovy
- 操作系统: 跨平台
- 软件首页: https://github.com/DTeam-Top/dgate
- 软件文档: https://github.com/DTeam-Top/dgate/blob/master/README.md
软件介绍
dgate 是基于 Vertx 的 API Gateway。运行 dgate 的命令如下:
java -jar dgate-version-fat.jar -Dconf=conf
其中的 conf 属性用来指定运行所需的配置文件。
conf的文件格式
dgate采用ConfigSlurper解析conf文件,因此其文件的语法实际上是Groovy语法。
conf文件由多个Api Gateway的定义组成,对于每个Gateway定义如下:
apiGatewayName {
port //端口
login //后端login服务的url,其值为urls中的一个url
urls { URL配置(UrlConfig)列表 } //dgate暴露的url列表
}对于每个URL配置,其结构如下:
url {
required //必需参数列表
methods //支持的HTTP Method
upstreamURLs { 上游URL列表(UpStreamURL) }
expected //期望返回值
}其中:
required支持两种格式:List和Map。前者适用于不区分HttpMethod时的参数验证,后者则可以针对不同的HttpMethod分别进行设置。
List,如:required = ["sub", "password"]
Map,如:required = [get: ['param1'], post: ['param2'], delete: ['param3']]
expected和upStreamURLs两个属性不能并存
expected主要用于mock模式,其目的是为了便于依赖dgate的访问层可以自行mock所需的响应,使得它们的开发进度受dgate开发进度的影响最小化。
对于expected的内容:
statusCode和payload至少有一个
或针对具体的HTTP METHOD的返回值
对于每个上游URL,有3个属性:host、port和url,其中url必需以"/"开始
高质量程序设计艺术
斯皮内利斯 / 韩东海 / 人民邮电出版社 / 2008-1 / 55.00元
在本书中,作者回归技术层面。从Apache web server、BSD版本的Unix system、ArgoUMl、ACE网络编程库等著名开源软件中选取了大量真实C、C++和java语言源代码,直观而深刻的阐述了代码中可能存在的各种质量问题,涉及可靠性、安全性、时间性和空间性、可移植性、可维护性以及浮点运算等方面,很多内容都市独辟蹊径,发前人所未发。正因如此,本书继作者的《代码阅读》之后在获Jo......一起来看看 《高质量程序设计艺术》 这本书的介绍吧!
