Search in sources :

Example 16 with Member

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);
}
Also used : ArrayList(java.util.ArrayList) Member(io.scalecube.cluster.Member) Setup(org.openjdk.jmh.annotations.Setup)

Example 17 with Member

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);
        }
    });
}
Also used : Logger(org.slf4j.Logger) Address(io.scalecube.transport.Address) Collection(java.util.Collection) LoggerFactory(org.slf4j.LoggerFactory) ConcurrentHashMap(java.util.concurrent.ConcurrentHashMap) Collectors(java.util.stream.Collectors) ConcurrentMap(java.util.concurrent.ConcurrentMap) TimeUnit(java.util.concurrent.TimeUnit) Preconditions.checkArgument(com.google.common.base.Preconditions.checkArgument) Metrics(io.scalecube.services.metrics.Metrics) List(java.util.List) ServiceConfig(io.scalecube.services.ServicesConfig.Builder.ServiceConfig) Member(io.scalecube.cluster.Member) Map(java.util.Map) Optional(java.util.Optional) Collections(java.util.Collections) Address(io.scalecube.transport.Address)

Aggregations

Member (io.scalecube.cluster.Member)17 Message (io.scalecube.transport.Message)8 TimeUnit (java.util.concurrent.TimeUnit)7 ArrayList (java.util.ArrayList)6 List (java.util.List)6 Preconditions.checkArgument (com.google.common.base.Preconditions.checkArgument)5 Transport (io.scalecube.transport.Transport)5 MemberStatus (io.scalecube.cluster.membership.MemberStatus)4 MembershipProtocol (io.scalecube.cluster.membership.MembershipProtocol)4 BaseTest (io.scalecube.testlib.BaseTest)4 Address (io.scalecube.transport.Address)4 Collections (java.util.Collections)4 Test (org.junit.Test)4 Logger (org.slf4j.Logger)4 LoggerFactory (org.slf4j.LoggerFactory)4 ThreadFactoryBuilder (com.google.common.util.concurrent.ThreadFactoryBuilder)3 ALIVE (io.scalecube.cluster.membership.MemberStatus.ALIVE)3 Collection (java.util.Collection)3 Map (java.util.Map)3 Executors (java.util.concurrent.Executors)3