use of io.scalecube.cluster.Member in project scalecube by scalecube.
the class ProtostuffGossipBenchmark method setup.
/**
* Setup benchmark.
*/
@Setup
public void setup() {
List<Gossip> gossips = ImmutableList.of(new Gossip("ABCDEFGH_0", Message.fromData(PAYLOAD_X32)));
Member from = new Member("0", Address.from("localhost:1234"));
gossipReq = Message.fromData(new GossipRequest(gossips, from.id()));
MessageCodec.serialize(gossipReq, gossipReqSer = Unpooled.buffer(1024));
bbGossipReq = Unpooled.buffer(1024);
System.err.println("### gossipReqSer=" + gossipReqSer);
List<Gossip> list32 = new ArrayList<>();
for (int i = 0; i < 32; i++) {
list32.add(new Gossip("ABCDEFGH_" + i, Message.fromData(PAYLOAD)));
}
gossipReqx32 = Message.fromData(new GossipRequest(list32, from.id()));
MessageCodec.serialize(gossipReqx32, gossipReqx32Ser = Unpooled.buffer(1024));
bbGossipReqx32 = Unpooled.buffer(1024);
System.err.println("### gossipReqx32Ser=" + gossipReqx32Ser);
}
use of io.scalecube.cluster.Member in project scalecube by scalecube.
the class ServiceRegistryImpl method loadMemberServices.
private void loadMemberServices(DiscoveryType type, Member member) {
member.metadata().entrySet().stream().filter(// filter service tags
entry -> "service".equals(entry.getValue())).forEach(entry -> {
Address serviceAddress = getServiceAddress(member);
ServiceInfo info = ServiceInfo.from(entry.getKey());
ServiceReference serviceRef = new ServiceReference(member.id(), info.getServiceName(), info.methods(), serviceAddress);
LOGGER.debug("Member: {} is {} : {}", member, type, serviceRef);
if (type.equals(DiscoveryType.ADDED) || type.equals(DiscoveryType.DISCOVERED)) {
if (!serviceInstances.containsKey(serviceRef)) {
serviceInstances.putIfAbsent(serviceRef, new RemoteServiceInstance(microservices.sender(), serviceRef, info.getTags()));
LOGGER.info("Service Reference was ADDED since new Member has joined the cluster {} : {}", member, serviceRef);
}
} else if (type.equals(DiscoveryType.REMOVED)) {
serviceInstances.remove(serviceRef);
LOGGER.info("Service Reference was REMOVED since Member have left the cluster {} : {}", member, serviceRef);
}
});
}
Aggregations