Search in sources :

Example 1 with ManagedMessagingService

use of io.atomix.cluster.messaging.ManagedMessagingService in project atomix by atomix.

the class RaftPerformanceTest method createServer.

/**
 * Creates a Raft server.
 */
private RaftServer createServer(Member member, List<Node> members) {
    RaftServerProtocol protocol;
    ManagedMessagingService messagingService;
    if (USE_NETTY) {
        messagingService = (ManagedMessagingService) new NettyMessagingService("test", member.address(), new MessagingConfig()).start().join();
        messagingServices.add(messagingService);
        protocol = new RaftServerMessagingProtocol(messagingService, PROTOCOL_SERIALIZER, addressMap::get);
    } else {
        protocol = protocolFactory.newServerProtocol(member.id());
    }
    BootstrapService bootstrapService = new BootstrapService() {

        @Override
        public MessagingService getMessagingService() {
            return messagingService;
        }

        @Override
        public UnicastService getUnicastService() {
            return new UnicastServiceAdapter();
        }

        @Override
        public BroadcastService getBroadcastService() {
            return new BroadcastServiceAdapter();
        }
    };
    RaftServer.Builder builder = RaftServer.builder(member.id()).withProtocol(protocol).withThreadModel(ThreadModel.SHARED_THREAD_POOL).withMembershipService(new DefaultClusterMembershipService(member, Version.from("1.0.0"), new DefaultNodeDiscoveryService(bootstrapService, member, new BootstrapDiscoveryProvider(members)), bootstrapService, new HeartbeatMembershipProtocol(new HeartbeatMembershipProtocolConfig()))).withStorage(RaftStorage.builder().withStorageLevel(StorageLevel.DISK).withDirectory(new File(String.format("target/perf-logs/%s", member.id()))).withNamespace(STORAGE_NAMESPACE).withMaxSegmentSize(1024 * 1024 * 64).withDynamicCompaction().withFlushOnCommit(false).build());
    RaftServer server = builder.build();
    servers.add(server);
    return server;
}
Also used : RaftServerProtocol(io.atomix.protocols.raft.protocol.RaftServerProtocol) RaftServerMessagingProtocol(io.atomix.protocols.raft.test.protocol.RaftServerMessagingProtocol) DefaultNodeDiscoveryService(io.atomix.cluster.impl.DefaultNodeDiscoveryService) RaftServer(io.atomix.protocols.raft.RaftServer) BootstrapDiscoveryProvider(io.atomix.cluster.discovery.BootstrapDiscoveryProvider) ManagedMessagingService(io.atomix.cluster.messaging.ManagedMessagingService) HeartbeatMembershipProtocolConfig(io.atomix.cluster.protocol.HeartbeatMembershipProtocolConfig) MessagingConfig(io.atomix.cluster.messaging.MessagingConfig) DefaultClusterMembershipService(io.atomix.cluster.impl.DefaultClusterMembershipService) NettyMessagingService(io.atomix.cluster.messaging.impl.NettyMessagingService) HeartbeatMembershipProtocol(io.atomix.cluster.protocol.HeartbeatMembershipProtocol) File(java.io.File) BootstrapService(io.atomix.cluster.BootstrapService)

Aggregations

BootstrapService (io.atomix.cluster.BootstrapService)1 BootstrapDiscoveryProvider (io.atomix.cluster.discovery.BootstrapDiscoveryProvider)1 DefaultClusterMembershipService (io.atomix.cluster.impl.DefaultClusterMembershipService)1 DefaultNodeDiscoveryService (io.atomix.cluster.impl.DefaultNodeDiscoveryService)1 ManagedMessagingService (io.atomix.cluster.messaging.ManagedMessagingService)1 MessagingConfig (io.atomix.cluster.messaging.MessagingConfig)1 NettyMessagingService (io.atomix.cluster.messaging.impl.NettyMessagingService)1 HeartbeatMembershipProtocol (io.atomix.cluster.protocol.HeartbeatMembershipProtocol)1 HeartbeatMembershipProtocolConfig (io.atomix.cluster.protocol.HeartbeatMembershipProtocolConfig)1 RaftServer (io.atomix.protocols.raft.RaftServer)1 RaftServerProtocol (io.atomix.protocols.raft.protocol.RaftServerProtocol)1 RaftServerMessagingProtocol (io.atomix.protocols.raft.test.protocol.RaftServerMessagingProtocol)1 File (java.io.File)1