4.2 接口调用
Camel管理端定义了两个版本的接口。第一版接口路径以"/api/"开头,第二版接口路径以"/api/v2"开头。
两个版本接口的主要区别在于:第二版本接口将更改配置、发布配置文件这两部操作聚合成为一个原子操作。则调用第二版本接口,如果成功,则Nginx当前配置为更改之后的配置;如果失败,则Nginx当前配置为调用接口之前的配置。不会出现不安全的中间状态。
第一版本接口:
更新节点
Http方法:post
URL pattern:http://localhost:8080/api/pool/<localhost>/updateMember 其中<localhost>是pool名称
post内容(要求是json格式):
[{"name":"a", "ip":"127.0.0.1"}]
其中name是节点名称,ip是节点地址,另外还有可选属性,端口port(默认是80),权重weight(默认是100),最大失败次数maxFails(默认是3),失败超时时间failTimeout(2s),状态state(枚举值:ENABLED,
DISABLED, FORCED_OFFLINE)
如果指定name,则修改对应name的节点 如果只有ip,则修改对应ip的节点
添加节点
Http方法:post
URL pattern:http://localhost:8080/api/pool/<localhost>/addMember 其中<localhost>是pool名称
post内容(要求是json格式):
[{"name":"a", "ip":"127.0.0.1"}]
其中name是节点名称,ip是节点地址,另外还有可选属性,端口port(默认是80),权重weight(默认是100),最大失败次数maxFails(默认是3),失败超时时间failTimeout(2s),状态state(枚举值:ENABLED,DISABLED, FORCED_OFFLINE)
删除节点
Http方法:post
URL pattern:http://localhost:8080/api/pool/<localhost>/delMember 其中<localhost>是pool名称
post内容(要求是json格式):
["a","b"] , 其中a,b都是节点名称
添加站点
Http方法:post
URL pattern:http://localhost:8080/api/vs/add
post内容(要求是json格式):
{"name":"test.com","slbPool":"test-pool"} , 其中vs是站点名称(必填),slbPool是路由机器的组名(可选,默认是paas-pool)
添加集群
Http方法:post
URL pattern:http://localhost:8080/api/pool/add
post内容(要求是json格式):
{"name":"test","members":[{"ip":"127.0.0.1"}]} , 其中name是pool名称(必填),members参数(可选)中可以是多个节点,节点ip使用ip参数,节点名称是name参数(不填默认是ip_port命名)
第二版本接口:
更新节点并发布
Http方法:post
URL pattern:http://localhost:8080/api/v2/pool/<localhost>/updateMemberAndDeploy 其中<localhost>是pool名称
post内容(要求是json格式):
[{"name":"a", "ip":"127.0.0.1"}]
其中name是节点名称,ip是节点地址,另外还有可选属性,端口port(默认是80),权重weight(默认是100),最大失败次数maxFails(默认是3),失败超时时间failTimeout(2s),状态state(枚举值:ENABLED,
DISABLED, FORCED_OFFLINE)
如果指定name,则修改对应name的节点 如果只有ip,则修改对应ip的节点
如果发布失败,则该pool会退回到原始状态
添加节点并发布
Http方法:post
URL pattern:http://localhost:8080/api/v2/pool/<localhost>/addMemberAndDeploy 其中<localhost>是pool名称
post内容(要求是json格式):
[{"name":"a", "ip":"127.0.0.1"}]
其中name是节点名称,ip是节点地址,另外还有可选属性,端口port(默认是80),权重weight(默认是100),最大失败次数maxFails(默认是3),失败超时时间failTimeout(2s),状态state(枚举值:ENABLED,DISABLED, FORCED_OFFLINE)
如果发布失败,则该pool会退回到原始状态
删除节点并发布
Http方法:post
URL pattern:http://localhost:8080/api/v2/pool/<localhost>/delMemberAndDeploy 其中<localhost>是pool名称
post内容(要求是json格式):
["a","b"] , 其中a,b都是节点名称
如果发布失败,则该pool会退回到原始状态