使用gray sdk-j9九游会登录
本文介绍如何在nuwa框架下使用gray sdk,spring cloud框架下暂时不支持使用gray sdk。
使用gray sdk时,需要先在appstage运维中心slb服务中配置好灰度规则,再启动gray sdk,否则灰度规则不生效。
引入gray sdk
通过nuwa的nuwa-apaas-graysdk间接集成,集成该sdk之后,可以使用gray sdk。
在pom.xml中添加sts依赖。
com.huawei.wisecloud.nuwa nuwa-apaas-graysdk ${nuwa-sdk-version} system ${project.basedir}/lib/nuwa-apaas-graysdk-3.1.5.100.jar
初始化slb
- 业务自行解析好配置,作为properties入参传入。
graysdkmanager.getinstance().init(properties params, object lbsservicefactory)。
表1 参数说明 参数
说明
传空说明
properties params
将properties对象传入
将不能使用gray sdk功能。
不能传空。
object lbsservicefactory
lbsservicefactory对象传入
不能使用lbs国家省市ip库功能。
在业务不使用lbs国家省市灰度时,可传空。
- 业务指定好properties路径,properties文件路径传入。
graysdkmanager.getinstance().initwithpropertiespath (string path, object lbsservicefactory)。
表2 参数说明 参数
说明
传空说明
string path
将properties文件全路径传入。
传空时,会按照以下顺序尝试补参:
- 尝试以系统参数指定的路径找文件system.getproperty(“graysdk.properties.file_path”)。
- 尝试从classpath的文件系统路径下找graysdk.properties或者graysdk-config.properties。
object lbsservicefactory
lbsservicefactory对象传入。
不能使用lbs国家省市ip库功能。
在业务不使用lbs国家省市灰度时,可传空。
开启灰度过滤器
在消费端的微服务上配置好properties文件中以下开关:
# enable csegrayserverlistfilter or not wgp.enablecsegrayfilter=true
服务消费端集成示例
照常通过cse调用服务提供者,无需额外编码。
例如,参考cse的消费端开发,从消费端调用服务提供端(demob),无需额外修改。
package com.service.demo.controller;
import org.springframework.stereotype.component;
import org.apache.servicecomb.provider.springmvc.reference.resttemplatebuilder;
import org.springframework.web.client.resttemplate;
@component
publicclass demodelegate {
public string helloworld(string name){
if ( null == name || "".equals(name))
{
return "the name is empty, no need send to backend ms";
}
resttemplate resttemplate = resttemplatebuilder.create();
string rslt = "";
string qrystr = "";
qrystr = "name=" name;
// to call another microservice, name is demob. path:/demo,interface:helloworld
rslt = resttemplate
.getforobject("cse://demob/demo/helloworld?" qrystr, string.class);
return rslt;
}
}
相关文档
意见反馈
文档内容是否对您有帮助?
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨