>() {});ServerTransportConfig serverTransportConfig = Optional.ofNullable(groupList).flatMap(this::extractServerTransportConfig).orElse(null);return serverTransportConfig;});ClusterServerConfigManager.registerServerTransportProperty(serverTransportDs.getProperty());//ClusterServerConfigManager.loadGlobalTransportConfig(new ServerTransportConfig().setIdleSeconds(600).setPort(transPort));}private void registerClusterRuleSupplier() {ClusterFlowRuleManager.setPropertySupplier(namespace -> {ReadableDataSource
>() {}));return ds.getProperty();});ClusterParamFlowRuleManager.setPropertySupplier(namespace -> {ReadableDataSource
>() {}));return ds.getProperty();});}/*** 服务端配置,设置server端口和IP,注释的配置是写死的方式,这个在服务端是不用配置的,只有客户端需要配置用来连接服务端*/private void initClientServerAssignProperty() {ReadableDataSource
>() {});ClusterClientAssignConfig clusterClientAssignConfig = Optional.ofNullable(groupList).flatMap(this::extractClientAssignment).orElse(null);return clusterClientAssignConfig;});ClusterClientConfigManager.registerServerAssignProperty(clientAssignDs.getProperty());//ClusterClientAssignConfig serverConfig = new ClusterClientAssignConfig();//serverConfig.setServerHost("127.0.0.1");//serverConfig.setServerPort(transPort);//ConfigSupplierRegistry.setNamespaceSupplier(() -> "trade-center");//ClusterClientConfigManager.applyNewAssignConfig(serverConfig);}private Optional
>() {});Integer state = Optional.ofNullable(groupList).map(s -> groupList.stream().filter(this::machineEqual).findFirst().get().getState()).orElse(ClusterStateManager.CLUSTER_NOT_STARTED);return state;});ClusterStateManager.registerProperty(clusterModeDs.getProperty());//ClusterStateManager.applyState(ClusterStateManager.CLUSTER_SERVER);}private Optional
@Datapublic class ClusterGroupEntity {private String machineId;private String ip;private Integer port;private Integer state;}
然后是Apollo中的限流规则的配置和server/client集群关系的配置 。
需要说明一下的就是flowId,这个是区分限流规则的全局唯一ID,必须要有,否则集群限流会有问题 。
thresholdType代表限流模式,默认是0,代表单机均摊,比如这里count限流QPS=20,有3台机器,那么集群限流阈值就是60,如果是1代表全局阈值,也就是count配置的值就是集群限流的上限 。
demo_sentinel=[{"resource": "test_res", //限流资源名"count": 20, //集群限流QPS"clusterMode": true, //true为集群限流模式"clusterConfig": {"flowId": 111, //这个必须得有,否则会有问题"thresholdType": 1 //限流模式,默认为0单机均摊,1是全局阈值}}]demo_cluster=[{"ip": "192.168.3.20","machineId": "192.168.3.20@8720","port": 9999, //server和client通信接口"state": 1 //指定为server},{"ip": "192.168.3.20","machineId": "192.168.3.20@8721","state": 0},{"ip": "192.168.3.20","machineId": "192.168.3.20@8722","state": 0}]
推荐阅读
- 索尼|时代落幕!PS3彻底退出舞台:新版本关闭账号注册功能
- 玻璃红茶器,玻璃红茶茶具
- 英雄联盟|挂机“摆烂”要遭殃 《英雄联盟手游》新功能来了:3分钟能重开
- 机械硬盘|硬盘挖矿彻底凉了 Chia币一年后无人问津:价格暴跌30倍
- 关于励志演讲稿3分钟?关于励志的演讲稿两分钟
- Linux|RTX 30系显卡彻底沦陷 算力破解更完美了:Windows/Linux双线攻克
- 幼儿园儿童讲故事2分钟?幼儿讲故事2-3分钟
- 对孩子彻底放弃?不是孩子不行,是家长肯不肯放手
- 一根“棒子”竟彻底解决男人的腰痛
- 秋葵焯水多长时间能熟?