Skip to content

Commit

Permalink
Merge branch 'master' into support_fastjsonutils
Browse files Browse the repository at this point in the history
  • Loading branch information
呈铭 committed Mar 28, 2024
2 parents 57af4d5 + a97d72c commit 0669330
Show file tree
Hide file tree
Showing 4 changed files with 72 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,13 @@ static List<ProviderInfo> convertInstancesToProviders(List<Instance> allInstance
for (Instance instance : allInstances) {
String url = convertInstanceToUrl(instance);
ProviderInfo providerInfo = ProviderHelper.toProviderInfo(url);

// Nacos的默认权重为1.0
// 当Nacos默认权重传入1.0,根据代码逻辑计算结果为100,与sofa-rpc默认权重一致
// 因为是接口级别,如果不同的服务具有不同的权重也不会出现被覆盖或者冲突的情况
long weight = Math.round(providerInfo.getWeight() * instance.getWeight());
providerInfo.setWeight(Math.round(weight));

providerInfos.add(providerInfo);
}
return providerInfos;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -136,4 +136,61 @@ public void buildServiceName() {
serviceName = NacosRegistryHelper.buildServiceName(provider, RpcConstants.PROTOCOL_TYPE_REST);
assertEquals(serviceName, "com.alipay.xxx.TestService:nacos-test:" + RpcConstants.PROTOCOL_TYPE_REST);
}
}

@Test
public void testNacosWeight() {
Instance instance = new Instance();
instance.setClusterName(NacosRegistryHelper.DEFAULT_CLUSTER);
instance.setIp("1.1.1.1");
instance.setPort(12200);
instance.setServiceName("com.alipay.xxx.TestService");
instance.setWeight(0.99D);

List<ProviderInfo> providerInfos = NacosRegistryHelper
.convertInstancesToProviders(Lists.newArrayList(instance));
assertNotNull(providerInfos);
assertEquals(1, providerInfos.size());

ProviderInfo providerInfo = providerInfos.get(0);
assertNotNull(providerInfo);
assertEquals(99, providerInfo.getWeight());
}

@Test
public void testNacosWeightLessThan0() {
Instance instance = new Instance();
instance.setClusterName(NacosRegistryHelper.DEFAULT_CLUSTER);
instance.setIp("1.1.1.1");
instance.setPort(12200);
instance.setServiceName("com.alipay.xxx.TestService");
instance.setWeight(-0.1D);

List<ProviderInfo> providerInfos = NacosRegistryHelper
.convertInstancesToProviders(Lists.newArrayList(instance));
assertNotNull(providerInfos);
assertEquals(1, providerInfos.size());

ProviderInfo providerInfo = providerInfos.get(0);
assertNotNull(providerInfo);
assertEquals(-10, providerInfo.getWeight());
}

@Test
public void testNacosWeightWith0() {
Instance instance = new Instance();
instance.setClusterName(NacosRegistryHelper.DEFAULT_CLUSTER);
instance.setIp("1.1.1.1");
instance.setPort(12200);
instance.setServiceName("com.alipay.xxx.TestService");
instance.setWeight(0.0D);

List<ProviderInfo> providerInfos = NacosRegistryHelper
.convertInstancesToProviders(Lists.newArrayList(instance));
assertNotNull(providerInfos);
assertEquals(1, providerInfos.size());

ProviderInfo providerInfo = providerInfos.get(0);
assertNotNull(providerInfo);
assertEquals(0, providerInfo.getWeight());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,19 +14,20 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.alipay.sofa.rpc.event;
package com.alipay.sofa.rpc.tracer.sofatracer;

import com.alipay.common.tracer.core.holder.SofaTraceContextHolder;
import com.alipay.common.tracer.core.span.SofaTracerSpan;
import com.alipay.sofa.rpc.common.RemotingConstants;
import com.alipay.sofa.rpc.common.RpcOptions;
import com.alipay.sofa.rpc.context.RpcInternalContext;
import com.alipay.sofa.rpc.core.request.SofaRequest;
import com.alipay.sofa.rpc.event.ClientBeforeSendEvent;
import com.alipay.sofa.rpc.event.ClientStartInvokeEvent;
import com.alipay.sofa.rpc.event.EventBus;
import com.alipay.sofa.rpc.event.ServerReceiveEvent;
import com.alipay.sofa.rpc.tracer.sofatracer.log.tags.RpcSpanTags;
import io.opentracing.tag.Tags;
import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.BeforeClass;
import org.junit.Test;

import java.util.Map;
Expand All @@ -41,11 +42,6 @@
*/
public class SofaTracerSubscriberTest {

@BeforeClass
public static void beforeClass() {
System.getProperties().put(RpcOptions.DEFAULT_TRACER, "sofaTracer");
}

@Test
public void testClientSendAndServerReceiveTracerEvent() {
SofaRequest sofaRequest = new SofaRequest();
Expand Down Expand Up @@ -85,9 +81,4 @@ public void testClientSendAndServerReceiveTracerEvent() {
SofaTraceContextHolder.getSofaTraceContext().clear();
}

@AfterClass
public static void afterClass() {
System.getProperties().remove(RpcOptions.DEFAULT_TRACER);
}

}
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"rpc.config.order": 999,
"logger.impl": "com.alipay.sofa.rpc.log.SLF4JLoggerImpl"
"logger.impl": "com.alipay.sofa.rpc.log.SLF4JLoggerImpl",
"default.tracer": "sofaTracer"
}

0 comments on commit 0669330

Please sign in to comment.