分布式部署

Sping Cloud 分布式数据存储 分布式事务 超级有用

假装没事ソ 提交于 2019-11-28 04:16:31
Sping Cloud 分布式数据存储 分布式事务 常见搜索引擎 1. Lucene 搜索引擎库,功能强大,接入复杂 2. Solr 基于Lucene的搜索引擎服务器 3. Elasticsearch 基于Lucene的搜索引擎服务器,分布式 Elasticsearch基础概念3-1 node 节点,部署Elasticsearch程序的服务器 cluster 集群,多个节点组成的架构 index 索引,相当于关系型数据库的database shard 索引分片,索引可以被设置为多个分片 replicas 索引副本 Elasticsearch基础概念3-2  type 类型,对应于关系型数据库的table document 文档,类似于关系型数据库的row 关系型数据库 Elasticsearch Database index Table type Row document Elasticsearch基础概念3-3  文档三元素 _index:文档对应的索引 _type:文档对应的数据类型 _ID:文档的唯一ID Elasticsearch客户端 - Kibana  Kibana → Dev Tools Elasticsearch命令分类 索引管理 创建、配置、删除索引 文档管理 创建、修改、删除文档 数据查询 空查询 指定索引查询、指定类型查询 请求体查询(过滤查询

分布式理论(一)CAP 理论

筅森魡賤 提交于 2019-11-28 04:15:31
分布式理论(一) CAP 理论 一. CAP 理论前言 CAP 原则又称为 CAP 理论,主要思想是在任何一个分布式系统中都无法同时满足 CAP 。 C ( Consistency ):表示一致性,所有的节点同一时间看到的是相同的数据。 A ( Avaliablity ):表示可用性,不管是否成功,确保一个请求都能接收到响应。 P ( Partion Tolerance ):分区容错性,系统任意分区后,在网络故障时,仍能操作。 如上所述,正如 Gilbert 认为, 一致性 其实就是关系型数据库所讲的 ACID ,一个用户请求要么是成功,要么是失败的,不能有处于一个中间状态;一旦一个事务完成,将来所有事务都必须基于这个完成后的状态;未完成的事务不会互相影响;一旦一个事务完成,就是持戒的。 可用性 其实就是对于一个系统而言,所有的请求都应该 “成功”并且收到“响应”。 分区容错性 其实就是指分布式系统的容错性,一个节点出现了故障,不影响整个集群的正常使用。 二. CAP 理论介绍 如图,在一个网络中, N1 和 N2 即分布式系统中的两个节点,他们都共享数据块 V ,其中有一个值是为 V0 。 l 在满足一致性的时候, A 中的 V0 应该和 B 中的 V0 保持一致的,即 V0=V0 l 在满足可用性的时候,无论请求访问 A 或者是 B 都应该得到响应。 l 在满足分区可用性的时候

云计算 Cloud Computing 简介

倾然丶 夕夏残阳落幕 提交于 2019-11-28 02:35:14
http://hi.baidu.com/hieda/blog/item/47a772fa4837e79159ee9039.html 云计算 Cloud Computing 简介   最近,很多大公司如MicroSoft、Google、IBM等都在炒作一个概念就是 云计算 ,如IBM跟欧盟合作开展云计算,欧盟拨款1.7亿万欧元;Google与IBM 联合力推云计算模式;Yahoo! 也把宝押在了云计算上;我国也在无锡跟IBM公司联合建立了一个云计算中心;有人说微软收购Yahoo!一个重要的考虑就是在Yahoo在云计算方面的领先地位,多少有点儿道理。那么,什么是云计算哪?我看到有一位推广自由开源的老先生把云计算(Cloud Computing)翻译成“云雾计算”着实是可笑,好多网友也在问什么是云计算,什么是雾计算,说明好多人对于云计算是一头雾水。云计算可不是“云雨”,可不是云山雾罩。   “云计算”(Cloud Computing)是分布式处理(Distributed Computing)、并行处理(Parallel Computing)和网格计算(Grid Computing)的发展,或者说是这些计算机科学概念的商业实现。许多跨国信息技术行业的公司如IBM、Yahoo和Google等正在使用云计算的概念兜售自己的产品和服务。   云计算这个名词可能是借用了量子物理中的“电子云”

zookeeper基础

谁说我不能喝 提交于 2019-11-28 01:36:31
1. zookeeper的由来   Zookeeper 最早起源于雅虎研究院的一个研究小组。在当时,研究人员发现,在雅虎内部很多大型系统基本都需要依赖一个类似的系统来进行分布式协调,但是这些系统往往都存在分布式单点问题。   所以,雅虎的开发人员就试图开发一个通用的无单点问题的分布式协调框架,以便让开发人员将精力集中在处理业务逻辑上。   关于“ZooKeeper”这个项目的名字,其实也有一段趣闻。在立项初期,考虑到之前内部很多项目都是使用动物的名字来命名的(例如著名的Pig项目),雅虎的工程师希望给这个项目也取一个动物的名字。时任研究院的首席科学家 Raghu Ramakrishnan 开玩笑地说:“在这样下去,我们这儿就变成动物园了!”此话一出,大家纷纷表示就叫动物园管理员吧,因为各个以动物命名的分布式组件放在一起,雅虎的整个分布式系统看上去就像一个大型的动物园了。   而 Zookeeper 正好要用来进行分布式环境的协调,于是,Zookeeper 的名字也就由此诞生了。 2. zookeeper概览   ZooKeeper 是一个开源的分布式协调服务。ZooKeeper 框架最初是在“Yahoo!"上构建的,用于以简单而稳健的方式访问他们的应用程序。   后来,Apache ZooKeeper 成为 Hadoop,HBase 和其他分布式框架使用的有组织服务的标准。  

Leaf:美团分布式ID生成服务开源

雨燕双飞 提交于 2019-11-28 01:20:33
文章目录 引言 1. Leaf特性 2. Leaf诞生 3. Leaf双Buffer优化 4. Leaf动态调整Step 5. MySQL高可用 6. Leaf Snowflake 7. 未来规划 8. 关于开源 引言 Leaf是美团基础研发平台推出的一个分布式ID生成服务,名字取自德国哲学家、数学家莱布尼茨的一句话“There are no two identical leaves in the world”。Leaf具备高可靠、低延迟、全局唯一等特点。目前已经广泛应用于美团金融、美团外卖、美团酒旅等多个部门。具体的技术细节,可参考此前美团技术博客的一篇文章:《Leaf美团分布式ID生成服务》。近日,Leaf项目已经在Github上开源: https://github.com/Meituan-Dianping/Leaf,希望能和更多的技术同行一起交流、共建。 1. Leaf特性 Leaf在设计之初就秉承着几点要求: 全局唯一,绝对不会出现重复的ID,且ID整体趋势递增。 高可用,服务完全基于分布式架构,即使MySQL宕机,也能容忍一段时间的数据库不可用。 高并发低延时,在CentOS 4C8G的虚拟机上,远程调用QPS可达5W+,TP99在1ms内。 接入简单,直接通过公司RPC服务或者HTTP调用即可接入。 2. Leaf诞生 Leaf第一个版本采用了预分发的方式生成ID

Leaf——美团点评分布式ID生成系统

强颜欢笑 提交于 2019-11-28 01:19:58
2019独角兽企业重金招聘Python工程师标准>>> 背景 在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识。如在美团点评的金融、支付、餐饮、酒店、猫眼电影等产品的系统中,数据日渐增长,对数据分库分表后需要有一个唯一ID来标识一条数据或消息,数据库的自增ID显然不能满足需求;特别一点的如订单、骑手、优惠券也都需要有唯一ID做标识。此时一个能够生成全局唯一ID的系统是非常必要的。概括下来,那业务系统对ID号的要求有哪些呢? 全局唯一性:不能出现重复的ID号,既然是唯一标识,这是最基本的要求。 趋势递增:在MySQL InnoDB引擎中使用的是聚集索引,由于多数RDBMS使用B-tree的数据结构来存储索引数据,在主键的选择上面我们应该尽量使用有序的主键保证写入性能。 单调递增:保证下一个ID一定大于上一个ID,例如事务版本号、IM增量消息、排序等特殊需求。 信息安全:如果ID是连续的,恶意用户的扒取工作就非常容易做了,直接按照顺序下载指定URL即可;如果是订单号就更危险了,竞对可以直接知道我们一天的单量。所以在一些应用场景下,会需要ID无规则、不规则。 上述123对应三类不同的场景,3和4需求还是互斥的,无法使用同一个方案满足。 同时除了对ID号码自身的要求,业务还对ID号生成系统的可用性要求极高,想象一下,如果ID生成系统瘫痪,整个美团点评支付、优惠券发券

Hadoop大数据平台基础

本秂侑毒 提交于 2019-11-28 00:49:44
官网:http://hadoop.apache.org/ 文章目录 Hadoop简介 核心架构 HDFS NameNode DataNode 文件操作 Linux 集群 Hadoop和高效能计算、网格计算的区别 发展现状 MapReduce与Hadoop之比较 Hadoop生态圈 概况 HDFS(Hadoop分布式文件系统) Mapreduce(分布式计算框架) HBASE(分布式列存数据库) Zookeeper(分布式协作服务) HIVE(数据仓库) Pig(ad-hoc脚本) Sqoop(数据ETL/同步工具) Flume(日志收集工具) Mahout(数据挖掘算法库) Oozie(工作流调度器) Yarn(分布式资源管理器) Mesos(分布式资源管理器) Tachyon(分布式内存文件系统) Tez(DAG计算模型) Spark(内存DAG计算模型) Giraph(图计算模型) GraphX(图计算模型) MLib(机器学习库) Streaming(流计算模型) Kafka(分布式消息队列) Phoenix(hbase sql接口) ranger(安全管理工具) knox(hadoop安全网关) falcon(数据生命周期管理工具) Ambari(安装部署配置管理工具) Hadoop简介 Hadoop实现了一个 分布式文件系统(Hadoop Distributed File

SpringCloud学习笔记(8)分布式配置中心——config

柔情痞子 提交于 2019-11-28 00:35:07
分布式配置中心——config Spring Cloud Config为分布式系统中的外部化配置提供服务器端和客户端支持。使用Config Server,您可以在所有环境中管理应用程序的外部属性。客户端和服务器上的概念映射与Spring Environment 和 PropertySource 抽象,因此它们非常适合Spring应用程序,但可以与任何语言运行的任何应用程序一起使用。当应用程序通过部署管道从开发到测试再到生产时,您可以管理这些环境之间的配置,并确保应用程序具有迁移时需要运行的所有内容。服务器存储后端的默认实现使用git,因此它可以轻松支持配置环境的标签版本,以及可用于管理内容的各种工具。 1、在GitHub创建项目 (1)、创建项目 (2)、本地克隆项目 (3)、创建application.yml spring: profiles: active: - dev ​ --- spring: application: name: config-server-dev profiles: dev ​ --- spring: application: name: config-server-test profiles: test (4)、上传配置文件到GitHub 2、配置中心服务端 引入依赖 <!-- config-server 依赖 --> <dependency>

分布式与集群,以及负载均衡

萝らか妹 提交于 2019-11-27 22:57:57
新浪微博 分布式的集群服务 集群:集群就是一组部署有 相同应用 的服务器 集群是一组独立的计算机系统构成一个松耦合的多处理器系统,它们之间通过网络实现进程间的通信。 应用程序通过网络共享内存进行消息传送,实现分布式计算。 集群可分纵向集群(一台计算机部署多个应用)和横向集群(多台计算机部署多个应用)。 负载均衡:一种服务的提供访问策略。用来在多台计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载的一种计算机网络技术。 负载均衡能把任务比较均衡地分布到集群环境下的计算和网络资源。 可以达到最大化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。 分布式是一个大型的互联网应用的架构设计的理念。多个集群,多个负载均衡策略组成的非常庞大的 分布式与集群区别: 一句话:分布式是并联工作的,集群是串联工作的。 1.分布式是指将不同的业务分布在不同的地方。 而集群指的是将几台服务器集中在一起,实现同一业务。 分布式中的每一个节点,都可以做集群。 而集群并不一定就是分布式的。 举例:就比如新浪网,访问的人多了,他可以做一个群集,前面放一个响应服务器,后面几台服务器完成同一业务,如果有业务访问的时候,响应服务器看哪台服务器的负载不是很重,就将给哪一台去完成。 而分布式,从窄意上理解,也跟集群差不多, 但是它的组织比较松散,不像集群,有一个组织性,一台服务器垮了

理解分布式系统常用的负载均衡算法

拈花ヽ惹草 提交于 2019-11-27 22:48:15
分布式系统常用的负载均衡算法 最近在做的系统上使用ES比较多,出于对ES的学习,在了解了ES的负载均衡算法之后,也相应的了解了其它的负载均衡算法,在这里做一个分享。 1:轮询法: 轮询很容易实现,将请求按顺序轮流分配到后台服务器上,均衡的对待每一台服务器,而不关心服务器实际的连接数和当前的系统负载。使用轮询策略的目的是,希望做到请求转移的绝对均衡,但付出的性能代价也是相当大的。为了保证pos变量的并发互斥,引入了重量级悲观锁synchronized,将会导致该轮询代码的并发吞吐量明显下降。 2:随机法: 通过系统随机函数,根据后台服务器列表的大小值来随机选取其中一台进行访问。由概率统计理论得知,随着调用量的增大,其实际效果越来越仅仅与平均分配流量到后台的每一台服务器,也就是轮询法的效果。 3:随机轮询法: 随机轮询,就是将随机法和轮询法结合起来,在轮询节点时,随机选择一个节点作为开始位置的index,此后每次选择下一个节点来处理请求,即(index+1)%size。 这种方式只是在选择第一个节点使用了随机方法,其他与轮询法无异,缺点和轮询一样。 4:源地址哈希法: 源地址哈希的思想是根据服务消费者请求客户端的IP地址,通过哈希函数计算得到一个哈希值,将此哈希值和服务器列表的大小进行取模运算,得到的结果便是要访问的服务器地址的序号。采用源地址哈希法进行负载均衡,相同的ip客户端