cluster

Socket.io的集群方案

北慕城南 提交于 2021-01-14 08:05:01
介绍 Nodejs因其简单方便,在服务端应用市场也开始占有一席之地,其另外一个分支--socket.io(最后跟nodejs好像又要合并了),特别适合聊天室、白板(document collabration)、在线实时计算、计数器等应用,如果要支持大容量应用,就需要使用集群技术了,下面逐一讨论常见的socket.io集群方案。 集群方案 在官网介绍的方案有使用ngix反向代理方案。这种方案比较简单不需要修改业务代码可以直接布署,通过iphash轮调算法保存用户分配到同一个进程。 vi /etc/nginx/conf/nginx.conf http { upstream io_nodes { ip_hash; server 127.0.0.1:6001; server 127.0.0.1:6002; server 127.0.0.1:6003; server 127.0.0.1:6004; } server { listen 3000; server_name io.yourhost.com; location / { #为支持转发WebSocket数据,加上upgrade头 proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header X

软件架构杂谈(二) --- Cluster (HA)

心已入冬 提交于 2020-03-26 17:04:19
3 月,跳不动了?>>> 浅谈软件架构 ( 二 ) cnyinlinux 之前发布过的博文,已经对 C/S 和 B/S 作了讨论,本文将讨论的是集群— Cluster 。 1. C/S 2. B/S 3. Cluster (HA) 4. Cloud 5. Distributed 6. APNS-like 7. P2P 集群的技术是近年来计算机应用大规模普及,以及性能要求逐渐提高的形势下提出来的。简而言之,集群就是一批独立计算机联合运作处理某一高要求任务的技术。其建立在网络互连的基础上,核心是节点间任务分配——调度算法。 集群有几个显著特点: A .提高性能 B .降低成本 C .高扩展性 D .高可靠性 集群与分布式的功能还是有区别的,关于分布式架构在别文讨论。 从应用场景和特性分为以下几种,本文将分别介绍各自特点。 1 )双机热备(高可用 HA ) 2 )科学集群 3 )负载均衡 一,双机热备,也被叫做高可用集群 (HA) 。这种方式也称为集群。它指的是具备同样功能且数据共享的多台机器之间构成相互备份的物理结构,每一时刻对外提供业务的机器只有 1 台,其他多台构成它的备份,若业务机出现故障,其他备份机立马接管任务,对外而言丝毫感受不到业务主机的故障。这样维修人员可以立马修复故障机,修好后成为新的备份机。这样就构成了相互备份的小集团,极大提高了实时业务的可靠性。

redis cluster jedis client 示例

霸气de小男生 提交于 2020-02-28 15:57:51
redis cluster 基本的redis操作示例: JedisCluster jc = null; @Before public void before(){ Set<HostAndPort> jedisClusterNodes = new HashSet<HostAndPort>(); //Jedis Cluster will attempt to discover cluster nodes automatically jedisClusterNodes.add(new HostAndPort("127.0.0.1", 7000)); jc = new JedisCluster(jedisClusterNodes); } @Test public void test_incr(){ String key = "page_view"; jc.del(key); jc.incr(key); String result = jc.get(key); System.out.println(result); Assertions.assertThat(result).isEqualTo(1+""); } @Test public void test_setAndGetStringVal(){ String key = "foo"; String value = "bar"; jc

Galera_Cluster_For_MySQL集群安装

送分小仙女□ 提交于 2020-01-07 12:10:58
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Galera Cluster For MySQL简介: Galera Cluster for MySQL是一套基于同步复制的多主MySQL集群解决方案,使用简单,没有单点故障,可用性高,能很好保证业务不断增长时我们数据的安全和随时的扩展,主要特点: 同步复制 多主服务器的拓扑结构 可以在任意节点上进行读写 自动剔除故障节点 自动加入新节点 真正行级别的并发复制 客户端连接跟操作单台MySQL数据库的体验一致 注意: Galera Cluster需要至少三台mysql服务器,如果只有两台做cluster的话,一旦出现数据不一致的情况,就可能发生脑裂,需要一台仲裁服务器,如果直接三台做cluster的话,就不再需要仲裁 使用Galera Cluster For MySQL前注意事项: 使用Galera必须要给MySQL-Server打wsrep补丁.可以直接使用官方提供的已经打好补丁的MySQL安装包, 如果服务器上已经安装了标准版MYSQL,需要先卸载再重新安装.卸载前注意备份数据. MySQL/Galera集群只支持InnoDB存储引擎.如果你的数据表使用的MyISAM,需要转换为InnoDB,否则记录不会在多台复制. 可以在备份老数据时,为mysqldump命令添加-skip-create-options参数

Mysql cluster错误收集

╄→гoц情女王★ 提交于 2019-12-07 01:52:14
1、 导入数据的时候遇到如下报错: ERROR 1005 (HY000) at line 25: Can't create table 'tuge.pangolin_fnc_accountverification' (errno: 140) Error | 1296 | Got error 738 'Record too big' from NDB 分析原因:表但行数据太大 解决办法:需要更改表结构,使最大单行数据的大小小于8KB! 2、 导入大量数据的时候遇到如下报错 Error 1297: Got temporary error 'REDO' log overloaded. ERROR : Got temporary error 1204 'Temporary failure, distribution changed' from NDBCLUSTER ERROR : Got temporary error 1234 'REDO log files overloaded (increase disk hardware)' from NDBCLUSTER 分析原因:遇到这个错误,是表示redo log用完了,需要增加 解决办法:修改config.ini文件,更改或添加如下参数: FragmentLogFileSize=256M NoOfFragmentLogFiles=16

Redis3.0.6集群搭建

我是研究僧i 提交于 2019-12-06 22:23:19
创建一个RedisCluster之前,我们需要有一些以cluster模式运行的Redis实例,这是因为cluster模式下Redis实例将会开启cluster的特征和命令。 现在我有2台Vbox搭建的CentOS6虚拟机【CentOS1(192.168.56.101)和CentOS2(192.168.56.102)】,准备在此上搭建Redis集群。 由于最小的Redis集群需要3个Master节点,本次测试使用另外3个节点作为备份的节点(Replicas),于是此次搭建需要6个Redis实例。由于可在同一台机器上运行多个 Redis 实例,因此我将在CentOS1上运行以下实例: 192.168.56.101:7000 192.168.56.101:7001 192.168.56.101:7002 并在CentOS2上运行以下实例: 192.168.56.102:7003 192.168.56.102:7004 192.168.56.102:7005 1. 下载Redis ,目前的stable版本为3.0.6: http://redis.io/download 2. 安装Redis tar zxvf redis-3.0.6.tar.gz cd redis-3.0.6 make 安装完成后,redis-3.0.6/src文件夹下会出现redis-server、redis

Hadoop cluster on Cubieboards

人走茶凉 提交于 2019-12-04 21:42:23
hadoop 是一个 分布式系统 基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个 分布式文件系统 (Hadoop Distributed File System),简称HDFS。HDFS有着高 容错性 的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(high throughput)来访问 应用程序 的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以流的形式访问(streaming access)文件系统中的数据。 我用8块A10搭建了一个集群,经过测试性能还是很不错的。去官网看 hadoop ,这里还有一些高清的 大图 。打算在上面做一些应用:HDFS写读文件,mapreduce并行计算,hadoop编程.....感兴趣的朋友可以自己搭建一个简单的集群,单机版,双核版都可以,下面有些资源: 1. Hadoop-CB 定制 镜像文件 。 这个适用于 CB-A10 ,集成了集群搭建需要的 JDK 和 Openssh, 其中 JDK 的路径为 exportJAVA_HOME=/lib/jdk 。 2. Hadoop 软件下载 hadoop 0.20

使用YCSB测试mongodb分片集群性能

旧街凉风 提交于 2019-12-04 21:24:47
1. 测试工具 本次测试选取YCSB(Yahoo! Cloud System Benchmark)作为测试客户端工具。YCSB是Yahoo开源的一个nosql测试工具,用来测试比较各种nosql的性能,项目地址:https://github.com/brianfrankcooper/YCSB。项目的mongodb目录下有详细的安装和测试方法。 YCSB支持常见的nosql数据库读写,如插入,修改,删除,读取等。它可以使用多线程来提高客户端的性能。可以方便的自定义各种场景,如95%插入5%读,或者90%读5%更新5%插入等等。可以自定义数据请求分布方式:平均分布,zipfian(大约20%数据获得80%访问请求),最新数据。 2. 测试步骤 1. 选择客户端线程数。使用YCSB测试,要选择一个合适的线程数,否则测试的瓶颈可能在客户端而不是数据库,经过比较,大概100个线程时,YCSB达到最大性能。 2.定义测试场景。本次测试的场景如下: workloada 写多读少,90%插入,5%读,5%更新。 workloadb 读多写少,95%读,5%更新。 workloadc 读多写少,100%读。 workloadd 读多写少,95%读,5%插入。 workloadf 读多写少,50%读,50%读写修改同一条记录。 workloadg 读多写少,60%读,20%读,20%更新。 3

redis cluster 安装部署

孤人 提交于 2019-12-04 06:15:18
redis cluster 依赖环境安装 redis 集群某些功能需要依赖 ruby 运行环境,基于yum进行安装: $ yum install ruby* 安装redis的ruby组件: $ gem install redis 提示: [root@bogon redis]# gem install redis ERROR: Could not find a valid gem 'redis' (>= 0), here is why: Unable to download data from https://rubygems.org/ - Errno::ECONNRESET: Connection reset by peer - SSL_connect (https://rubygems.org/latest_specs.4.8.gz) 解决办法 $ sudo gem sources -r https://rubygems.org $ sudo gem sources -a http://rubygems.org 重试,发现可以安装成功,之前的 ERROR 变成了 WARNING cluster 配置 本次实验采用4个节点来搭建 redis cluster,其中 16379, 16479, 16579 为集群的3个主节点,承担整个集群的槽位分配,16379 和 16380

利用Spring Security 3.2的remember-me搭建SSO

百般思念 提交于 2019-12-02 05:56:16
回顾 在上一篇文章,我实现了Spring Security3.2搭建的第一个网站应用firstWeb. 进阶-使用Spring Security3.2搭建LDAP认证授权和Remember-me 。 而在更早的时候,我有使用Apache+tomcat搭建cluster, Apache httpd与tomcat集群 。接下来,我将利用之前的作品,继续向更远的地方前进。 提纲 为firstWeb应用创建cluster。 创建并部署一个新的应用secondWeb。 使用Remember-me机制实现firstWeb与secondWeb的SSO。 架构示意图 此图是为最终形态而画的,今天的实验并不涉及CAS,请忽略CAS。 由上图可见,Apache作为一个逆向代理,提供两个虚拟主机,两个虚拟主机均在 .test.com 域中。其中一个虚拟主机为cluster, Apache需要为其提供负载平衡服务。另外,Apache开启了SSL。 所有Apache的配置可以在此下载: http://pan.baidu.com/s/1i37fUFb 由于之前的文章已经有配置好OpenLDAP,OpenSSL,所以本文将在此基础上搭建网站。想从头开始的请往前翻。 FirstWeb集群 FirstWeb是我们在上一篇文章所产生的应用,如果需要将FirstWeb部署为cluster的话,需要四个步骤: