コード例 #1
0
        private static ClusterVNodeSettings CreateVNode(int nodeNumber)
        {
            int tcpIntPort  = StartingPort + nodeNumber * 2,
                tcpExtPort  = tcpIntPort + 1,
                httpIntPort = tcpIntPort + 10,
                httpExtPort = tcpIntPort + 11;

            var vnode = new ClusterVNodeSettings(Guid.NewGuid(), 0,
                                                 GetLoopbackForPort(tcpIntPort), null,
                                                 GetLoopbackForPort(tcpExtPort), null,
                                                 GetLoopbackForPort(httpIntPort), GetLoopbackForPort(httpExtPort),
                                                 new Data.GossipAdvertiseInfo(GetLoopbackForPort(tcpIntPort), null,
                                                                              GetLoopbackForPort(tcpExtPort), null,
                                                                              GetLoopbackForPort(httpIntPort),
                                                                              GetLoopbackForPort(httpExtPort)),
                                                 new[] { GetLoopbackForPort(httpIntPort).ToHttpUrl() },
                                                 new[] { GetLoopbackForPort(httpExtPort).ToHttpUrl() },
                                                 false, null, 1, false, "dns", new[] { GetLoopbackForPort(ManagerPort) },
                                                 TFConsts.MinFlushDelayMs, 3, 2, 2, TimeSpan.FromSeconds(2),
                                                 TimeSpan.FromSeconds(2), false, null, false, TimeSpan.FromHours(1),
                                                 StatsStorage.StreamAndCsv, 0, new InternalAuthenticationProviderFactory(), false, true, true, true,
                                                 TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(1),
                                                 TimeSpan.FromSeconds(10),
                                                 TimeSpan.FromSeconds(10),
                                                 TimeSpan.FromSeconds(10),
                                                 TimeSpan.FromSeconds(10), true, Opts.MaxMemtableSizeDefault, false, false);

            return(vnode);
        }
コード例 #2
0
        public ClusterSettings(string clusterDns,
                               IPEndPoint clusterManager,
                               ClusterVNodeSettings self,
                               ClusterVNodeSettings[] groupMembers,
                               int expectedNodesCount)
        {
            if (string.IsNullOrWhiteSpace(clusterDns))
            {
                throw new ArgumentException($"Wrong cluster DNS name: {clusterDns}", clusterDns);
            }
            if (self == null)
            {
                throw new ArgumentNullException(nameof(self));
            }
            if (groupMembers == null)
            {
                throw new ArgumentNullException(nameof(groupMembers));
            }
            if (clusterManager == null)
            {
                throw new ArgumentNullException(nameof(clusterManager));
            }

            ClusterDns        = clusterDns;
            Self              = self;
            GroupMembers      = groupMembers;
            ClusterManager    = clusterManager;
            ClusterNodesCount = expectedNodesCount;
        }
コード例 #3
0
        private static ClusterVNodeSettings CreateVNode(int nodeNumber, bool isReadOnlyReplica)
        {
            int tcpIntPort  = StartingPort + nodeNumber * 2,
                tcpExtPort  = tcpIntPort + 1,
                httpIntPort = tcpIntPort + 10,
                httpExtPort = tcpIntPort + 11;

            var vnode = new ClusterVNodeSettings(Guid.NewGuid(), 0,
                                                 GetLoopbackForPort(tcpIntPort), null,
                                                 GetLoopbackForPort(tcpExtPort), null,
                                                 GetLoopbackForPort(httpIntPort), GetLoopbackForPort(httpExtPort),
                                                 new Data.GossipAdvertiseInfo(GetLoopbackForPort(tcpIntPort), null,
                                                                              GetLoopbackForPort(tcpExtPort), null,
                                                                              GetLoopbackForPort(httpIntPort),
                                                                              GetLoopbackForPort(httpExtPort),
                                                                              null, null, 0, 0),
                                                 false, null, 1, false, "dns", new[] { GetLoopbackForPort(ManagerPort) },
                                                 TFConsts.MinFlushDelayMs, 3, 2, 2, TimeSpan.FromSeconds(2),
                                                 TimeSpan.FromSeconds(2), true, false, TimeSpan.FromHours(1),
                                                 StatsStorage.StreamAndFile, 0, new InternalAuthenticationProviderFactory(), new LegacyAuthorizationProviderFactory(), false, 30, true, true, true,
                                                 TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(1),
                                                 TimeSpan.FromSeconds(10),
                                                 TimeSpan.FromSeconds(10),
                                                 TimeSpan.FromSeconds(10),
                                                 TimeSpan.FromSeconds(10),
                                                 TimeSpan.FromSeconds(1800),
                                                 true, Opts.MaxMemtableSizeDefault, Opts.HashCollisionReadLimitDefault, false,
                                                 false, false,
                                                 Opts.ConnectionPendingSendBytesThresholdDefault, Opts.ConnectionQueueSizeThresholdDefault,
                                                 Constants.PTableMaxReaderCountDefault,
                                                 readOnlyReplica: isReadOnlyReplica);

            return(vnode);
        }
コード例 #4
0
        private static ClusterVNodeSettings CreateVNode(int nodeNumber)
        {
            int tcpIntPort  = StartingPort + nodeNumber * 2,
                tcpExtPort  = tcpIntPort + 1,
                httpIntPort = tcpIntPort + 10,
                httpExtPort = tcpIntPort + 11;

            var vnode = new ClusterVNodeSettings(Guid.NewGuid(), 0,
                                                 GetLoopbackForPort(tcpIntPort), null,
                                                 GetLoopbackForPort(tcpExtPort), null,
                                                 GetLoopbackForPort(httpIntPort), GetLoopbackForPort(httpExtPort),
                                                 new Data.GossipAdvertiseInfo(GetLoopbackForPort(tcpIntPort), null,
                                                                              GetLoopbackForPort(tcpExtPort), null,
                                                                              GetLoopbackForPort(httpIntPort),
                                                                              GetLoopbackForPort(httpExtPort),
                                                                              null, null, 0, 0),
                                                 new[] { GetLoopbackForPort(httpIntPort).ToHttpUrl(EndpointExtensions.HTTP_SCHEMA) },
                                                 new[] { GetLoopbackForPort(httpExtPort).ToHttpUrl(EndpointExtensions.HTTP_SCHEMA) },
                                                 false, null, 1, false, "dns", new[] { GetLoopbackForPort(ManagerPort) },
                                                 TFConsts.MinFlushDelayMs, 3, 2, 2, TimeSpan.FromSeconds(2),
                                                 TimeSpan.FromSeconds(2), false, false, null, false, TimeSpan.FromHours(1),
                                                 StatsStorage.StreamAndFile, 0, new InternalAuthenticationProviderFactory(), false, 30, true, true, true,
                                                 TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(1),
                                                 TimeSpan.FromSeconds(10),
                                                 TimeSpan.FromSeconds(10),
                                                 TimeSpan.FromSeconds(10),
                                                 TimeSpan.FromSeconds(10), true, Opts.MaxMemtableSizeDefault, Opts.HashCollisionReadLimitDefault, false,
                                                 false, false,
                                                 Opts.ConnectionPendingSendBytesThresholdDefault, Opts.ChunkInitialReaderCountDefault);

            return(vnode);
        }
コード例 #5
0
ファイル: ClusterSettings.cs プロジェクト: tubo70/EventStore
        public ClusterSettings(string clusterDns, IPEndPoint clusterManagerEndPoint, int clusterNodesCount)
        {
            Ensure.NotNullOrEmpty(clusterDns, "clusterDns");
            Ensure.NotNull(clusterManagerEndPoint, "clusterManagerEndPoint");

            ClusterDns        = clusterDns;
            GroupMembers      = new ClusterVNodeSettings[0];
            ClusterManager    = clusterManagerEndPoint;
            ClusterNodesCount = clusterNodesCount;
        }
コード例 #6
0
        private static ClusterVNodeSettings CreateVNode(int nodeNumber, bool isReadOnlyReplica)
        {
            int tcpIntPort = StartingPort + nodeNumber * 2,
                tcpExtPort = tcpIntPort + 1,
                httpPort   = tcpIntPort + 11;

            var useHttps               = EnableHttps();
            var certificate            = useHttps ? ssl_connections.GetServerCertificate() : null;
            var trustedRootCertificate = useHttps ? ssl_connections.GetRootCertificate() : null;

            var vnode = new ClusterVNodeSettings(Guid.NewGuid(), 0,
                                                 () => new ClusterNodeOptions(),
                                                 GetLoopbackForPort(tcpIntPort), null,
                                                 GetLoopbackForPort(tcpExtPort), null,
                                                 GetLoopbackForPort(httpPort),
                                                 new Data.GossipAdvertiseInfo(GetLoopbackForPort(tcpIntPort).ToDnsEndPoint(), null,
                                                                              GetLoopbackForPort(tcpExtPort).ToDnsEndPoint(), null,
                                                                              GetLoopbackForPort(httpPort).ToDnsEndPoint(), null,
                                                                              null, 0, null, 0, 0),
                                                 false, certificate, new X509Certificate2Collection(trustedRootCertificate),
                                                 Opts.CertificateReservedNodeCommonNameDefault, 1, false, "dns", new[] { GetLoopbackForPort(ManagerPort) },
                                                 TFConsts.MinFlushDelayMs, 3, 2, 2, TimeSpan.FromSeconds(2),
                                                 TimeSpan.FromSeconds(2), TimeSpan.FromSeconds(2), false, false, TimeSpan.FromHours(1),
                                                 StatsStorage.StreamAndFile, 0,
                                                 new AuthenticationProviderFactory(components =>
                                                                                   new InternalAuthenticationProviderFactory(components)),
                                                 new AuthorizationProviderFactory(components =>
                                                                                  new LegacyAuthorizationProviderFactory(components.MainQueue)), false, 30, true, true,
                                                 true, TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(1),
                                                 TimeSpan.FromSeconds(10),
                                                 TimeSpan.FromSeconds(10),
                                                 TimeSpan.FromSeconds(10),
                                                 TimeSpan.FromSeconds(10),
                                                 TimeSpan.FromSeconds(1800),
                                                 true, Opts.MaxMemtableSizeDefault, Opts.HashCollisionReadLimitDefault, false,
                                                 false, false,
                                                 Opts.ConnectionPendingSendBytesThresholdDefault, Opts.ConnectionQueueSizeThresholdDefault,
                                                 Constants.PTableMaxReaderCountDefault,
                                                 Opts.StreamInfoCacheCapacityDefault,
                                                 readOnlyReplica: isReadOnlyReplica,
                                                 disableHttps: !useHttps);

            return(vnode);
        }
コード例 #7
0
ファイル: ClusterSettings.cs プロジェクト: tubo70/EventStore
 public ClusterSettings(string clusterDns, IPEndPoint clusterManager, ClusterVNodeSettings self, int clusterNodesCount)
     : this(clusterDns, clusterManager, self, new ClusterVNodeSettings[0], clusterNodesCount)
 {
 }