集群

分布式与集群的联系与区别

﹥>﹥吖頭↗ 提交于 2021-02-02 03:43:56
集群是一组协同工作的服务实体,用以提供比单一服务实体更具扩展性与可用性的服务平台。在客户端看来,一个集群就象是一个服务实体,但事实上集群由一组服务实体组成。与单一服务实体相比较,集群提供了以下两个关键特性 : 先说区别: 一句话:分布式是 串联 工作的,集群是 并联 工作的。 1:分布式是指将不同的业务分布在不同的地方。 而集群指的是将几台服务器集中在一起,实现同一业务。 分布式中的每一个节点,都可以做集群。 而集群并不一定就是分布式的。 举例:就比如新浪网,访问的人多了,他可以做一个群集,前面放一个响应服务器,后面几台服务器完成同一业务,如果有业务访问的时候,响应服务器看哪台服务器的负载不是很重,就将给哪一台去完成。 而分布式,从窄意上理解,也跟集群差不多, 但是它的组织比较松散,不像集群,有一个组织性,一台服务器垮了,其它的服务器可以顶上来。 分布式的每一个节点,都完成不同的业务,一个节点垮了,哪这个业务就不可访问了。 2:简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。 例如: 如果一个任务由10个子任务组成,每个子任务单独执行需1小时,则在一台服务器上执行该任务需10小时。 采用分布式方案,提供10台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需一个小时。

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

CAS客户端集群

巧了我就是萌 提交于 2020-12-22 06:18:30
##环境变量定义## CAS_CLIENT_HOME : CAS Java客户端源码包目录(版本:3.2.1) NGINX_HOME:nginx安装目录(版本:1.4.1) PHP_HOME :php安装目录(版本: 5.5.1) CATALINA_HOME: tomcat安装目录(版本: 7.0.42) 网络拓扑 集群原理 不管是Java还是PHP,还是其他语言的CAS客户端,集群要解决问题就是session同步。如果客户端在本地内存记录了与登陆状态有关的数据,那么这部分代码需要进行改造——把这部分的数据共享出去。 ###CAS JavaEE客户端集群 ### 我们以tomcat 7自带的例子examples应用为例。假设你已经按照 这里 配置好,下面只需配置session同步以及同步单点登出。session同步不在这里累述。 需要注意的是 ,web.xml中的 casServerUrlPrefix , casServerUrlPrefix 和 serverName 这几个参数的ip(或域名)指向nginx服务器。比如这里是192.168.121.130 这里要着重说说”同步单点登出“。 由于CAS 提供的Java客户端会将一些与登陆状态有关的数据记录在本地内存中,因此需要对$CAS_CLIENT_HOME的cas-client-core模块和cas-client-support

CAS集群解决方案

拟墨画扇 提交于 2020-12-09 03:06:53
1. 总体方案 本方案的目的是搭建一个高可用,高可伸缩的中心认证服务。环境是 CAS 服务器是可任意扩展的,任意一个 CAS 服务节点均是等效的, CAS 服务器的状态信息是集中存储的; CAS 服务的客户端应用也是集群的环境,客户端应用服务器也是可任意扩展的,客户端应用的 session 状态信息是集中存储的,任意两个应用服务节点都是等效的; CAS 服务器和客户端应用的状态信息集中存储在缓存服务器 Memcached 上。该方案具有以下特性。 l 只支持 Tomcat6.x 和 Tomcat7.x 。 l 无单点故障。 l 能够应对 Tomcat 故障转移。 l 能够应对 memcached 故障转移。 注意:上述方案中有一个问题是如果 cas 服务端应用程序或者客户端应用程序将某些状态数据直接存储在 jvm 本地对象中的时候,则节点会出现不等效的情况,甚至出现不稳定的故障。该问题的解决办法是: 1. 避免这样的情况。 2. 同步各 jvm 实例之间的所有对象。 1.1. 正常登录流程(未单点登录)讨论 讨论用户的浏览器里无 TGT cookie值,即未曾登录过 CAS 服务器。 1. 用户浏览器访问必联网受保护的资源,假设用户未登录必联网应用,由于必联网各节点的 session 状态集中存储,则任意一个节点都是等效的。 2. 用户浏览器被转发请求到 cas 服务器

Elasticsearch 安装与集群配置

扶醉桌前 提交于 2020-04-15 16:42:39
【推荐阅读】微服务还能火多久?>>> Elasticsearch 安装 官网下载 Elasticsearch 最新版本 本次实验采用 ES 的 elasticsearch-2.3.2.tar.gz 版本 因为Elasticsearch不能使用root用户启动,先创建一个启动用户 elk # useradd elk # passwd elk # groupadd elk 安装ES # cd /usr/local/software/ # tar -zxvf elasticsearch-2.3.2.tar.gz -C /usr/local/ # mv elasticsearch-2.3.2 elasticsearch # chown -hR elk:elk /usr/local/elasticsearch/ # vim elasticsearch.yml PS:其中红色箭头处配置的是服务启动时监听的IP地址 黄色箭头部分是用来配置集群节点发现的 启动 elasticsearch # su elk $ ./elasticsearch $ curl -X GET http://192.168.1.81:9200 安装插件 安装 head 插件 $ ./plugin install mobz/elasticsearch-head 安装完成之后通过浏览器访问可以看到如下截图 http://192

软件架构杂谈(二) --- 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 台,其他多台构成它的备份,若业务机出现故障,其他备份机立马接管任务,对外而言丝毫感受不到业务主机的故障。这样维修人员可以立马修复故障机,修好后成为新的备份机。这样就构成了相互备份的小集团,极大提高了实时业务的可靠性。

基于PhalApi的DB集群拓展 V0.1bate

一笑奈何 提交于 2020-03-02 03:18:04
#基于PhalApi的DB集群拓展 V0.1bate ##前言## 先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框架. 编写本次拓展出于的目的是解决大量数据写入分析的问题,也希望本拓展能对大家有些帮助,能够解决大家遇到的同样的问题. 注:V0.1bate版本,很多功能尚不完善,只提供技术交流使用,请不要用户生产环境 附上: 官网地址: http://www.phalapi.net/ 开源中国Git地址: http://git.oschina.net/dogstar/PhalApi/tree/release ##1.起因## 说到为什么写这个拓展,起因是这样的,在和产品交流的时候他们希望可以 存一些东西作为数据分析用 ,我考虑过hadoop但是如果说使用hadoop需要投入的成本太高了,在想有没有什么好办法的时候,想到了分表分库解决数据量大的问题,那么可以有一个封装好的服务就和操作数据库一样操作可以达到良好的分表分库的效果吗,出于这个考虑就开始这个拓展的编写. ##2.业务场景## 大量select 当一个数据库需要对付大量的select请求的时候,我们往往会想到使用读写分离来解决此类问题,一个写库多个读库,一台或多台服务器用一个读库,所有的写入操作使用主库操作,应为是大量的select操作,读的压力被分配到了很多个读库实例

Redis集群的搭建

北城以北 提交于 2020-03-01 13:30:35
1、安装Redis 下载文件 http://download.redis.io/releases/redis-3.0.7.tar.gz 解压redis,tar xzvf redis-3.0.7.tar.gz 编译再安装 make ; make install 安装完毕后,用命令redis-server –version和redis-cli –version应能看到服务端和客户端已启动 1.1 安装ruby,因为我们使用redis的src目录下的redis-tri脚本帮助集群管理 yum install ruby ruby-devel rubygems rpm-build 如果报错说依赖ruby(abi) = 1.8和ruby-rdoc,则执行yum install ruby-rdoc和yum install ruby-libs 1.2 安装redis gem gem install redis 如果网络连接失败,则先下载 https://rubygems.global.ssl.fastly.net/gems/redis-3.0.7.gem 然后进入下载目录,手动安装gem install -l ./redis-3.0.7.gem 1.3 关闭防火墙 由于使用过程会涉及到很多端口的开放,最好关闭防火墙 使用命令service iptables stop或者systemctl stop

大型高性能ASP.NET系统架构设计

和自甴很熟 提交于 2020-03-01 06:37:18
大型 动态应用系统 平台主要是针对于大流量、高并发网站建立的底层系统架构。大型网站的运行需要一个可靠、安全、可扩展、易维护的应用系统平台做为支撑,以保证网站应用的平稳运行。 大型动态应用系统又可分为几个子系统: Web前端系统、负载均衡系统、数据库集群系统、缓存系统、分布式存储系统、分布式服务器管理系统、代码分发系统 1、Web前端系统 为了达到不同应用的服务器共享、避免单点故障、集中管理、统一配置等目的,不以应用划分服 务器,而是将所有服务器做统一使用,每台服务器都可以对多个应用提供服务,当某些应用访问量升高时,通过增加服务器节点达到整个服务器集群的性能提高,同时使他应用也会受益。 该Web前端系统基于IIS/ASP.NET等的虚拟主机平台,提供PHP程序运行环境。服务器对开发人员是透明的,不需要开发人员介入服务器管理。 2、负载均衡系统 负载均衡系统分为硬件和软件两种。硬件负载均衡效率高,但是价格贵,比如F5等。软件负载均衡系统价格较低或者免费,效率较硬件负载均衡系统低,不过对于流量一般或稍大些网站来讲也足够使用,比如lvs,nginx。大多数网站都是硬件、软件负载均衡系统并用。 3、数据库集群系统 由于Web前端采用了负载均衡集群结构提高了服务的有效性和扩展性,因此数据库必须也是高可靠的才能保证整个服务体系的高可靠性,如何构建一个高可靠的、可以提供大规模并发处理的数据库体系?

Kubernetes集群操作系统进阶指南

北战南征 提交于 2020-03-01 02:50:02
一、基本概念 二、安装 1、基本安装 2、深入安装 3、工具安装 三、快速使用 四、日志监控 监控面板,预警设置,日志收集与统计分析,实时监控与故障恢复。 五、运维管理 1、系统迁移 平台迁移与服务迁移、节点迁移。 2、规模伸缩 集群伸缩,滚动升级。 3、容错 容错设计,容错测试。 4、备份 日常备份与灾难备份。对于分布式系统,重建是非常复杂的,仅有数据备份是不够的。 灾备实施,灾难演习。 六、持续交付 开发基础设施,流程,交付。 来源: oschina 链接: https://my.oschina.net/u/2306127/blog/1605888