人无信不立,业不勤不精
第一:storm集群环境准备及部署【1】硬件环境准备--->机器数量>=3--->网卡>=1--->内存:尽可能大--->硬盘:无额外需求【2】软件环境准备--->CentOS-6.0-x86_64系统环境--->三台地址--->zookeeper和storm公用物理环境 第二:节点环境查看 ...
curator是Netflix公司开源的一套ZooKeeper客户端,Curator解决了很多ZooKeeper客户端非常底层的细节开发工作。包括连接重连,反复注册Watcher等。实现了Fluent风格的API接口,目前已经为Apache的顶级项目,是全世界使用最广泛的ZooKeeper客户端之一 第一:maven依赖 1 2 org.
ZkClient是Gitthub上一个开源的ZooKeeper客户端。ZKClient在ZooKeeper原生API接口之上进行了包装,是一个更加易用的ZooKeeper客户端。同时ZKClient在内部实现诸如Session超时重连,Watcher反复注册等功能。
一:客户端链接测试 1 package com.yeepay.sxf.createConnection; 2 3 import java.io.IOException; 4 5 import org.
这些都是比较有实用性的系统配置,收藏下,以备不时之需!以下是etc下重要配置文件解释: 1、/etc/hosts #文件格式: IPaddress hostname aliases #文件功能: 提供主机名到IP地址的对应关系,建议将自己经常使用的主机 ...
一:zookeeper客户端链接【1】进入zookeeper的安装目录的bin目录下 # cd /opt/zookeeper/bin【2】敲击链接客户端的命令(zkCli.sh) # ./zkCli.sh -timeout 0 -r -server ip:port timeout==>单位:毫秒 表示:当前会话的超时时间,规定时间没有收到心跳包,则认为该链接失效 -r==>只读模式,在集群和半数以上机器失去联系后,则不能进行写服务,但可以提供读服务。
一:ZooKeeper服务安装包下载 第一步:打开zooKeeper官网第二步:进入下载页第三步:进入真正的下载页第四步:选择ZooKeeper版本第五步:复制下载的地址第六步:将本地的压缩包上传到服务器目录 二:zookeeper集群模式配置【1】zookeeper/cnfg/zoo_sample.
一:Zookeeper的设计目标 -->Zookeeper致力于提供一个高性能,高可用,且具有严格的顺序访问控制能力(主要是写操作的严格顺行性)的分布式协调服务。 -->高性能使得Zookeeper能够应用于那些对系统吞吐有明确要求的大型分布式系统中。
一:背景 --->随着互联网技术的高速发展,企业对计算机系统的计算,存储能力要求越来越高,最简单的明证就是出现一些诸如:高并发,海量存储这样的词汇。在这样的背景下,单纯依靠少量高性能主机来完成计算任务已经不能满足企业需求,企业的IT架构逐步从集中式向分布式过渡,所谓的分布式:把一个计算任务分解成若干个计算单元,并且分派到若干不同的计算机中去执行,然后汇总计算结果的过程。
TCP/IP协议,你一定经常听说吧,其中TCP(Transmission Control Protocol)称为传输控制协议,IP(Internet Protocol)称为因特网互联协议,好吧,这都是什么2B名字,根本不知所云,这个时候,计算机科学对于一个没有经过深入研究的人,毫无用户体验可言。
今天我总结了什么是HTTP三次握手,还有HTTPS握手的过程以及为什么HTTPS是安全的。一:HTTP与TCP/IP区别?--->TPC/IP协议是传输层协议,主要解决数据如何在网络中传输--->HTTP是应用层协议,主要解决如何包装数据--->WEB使用HTTP协议作应用层协议,以封装HTTP 文本信息,然后使用TCP/IP做传输层协议将它发到网络上。
zookeeper是什么官方说辞:Zookeeper 分布式服务框架是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。
最近研究paxos算法,看了许多相关的文章,概念还是很模糊,觉得还是没有掌握paxos算法的精髓,所以花了3天时间分析了libpaxos3的所有代码,此代码可以从https://bitbucket.org/sciascid/libpaxos 下载。
1.应用场景 (1)分布式中的一致性Paxos算法主要是解决一致性问题,关于“一致性”,在不同的场景有不同的解释:NoSQL领域:一致性更强调“能读到新写入的”,就是读写一致性数据库领域:一致性强调“所有的数据状态一致”,经过一个事务后,如果事务成功,所有的表数据都按照事务中的SQL进行了操作,该修改的修改,该增加的增加,该删除的删除,不能该修改的修改了,该删除的没删掉;如果事务失败,所有的数据还是在初始状态;状态机:在状态机中的一致性更强调在每个初始状态一致的状态机上执行一串命令后状态都必须相互一致,也就是顺序一致性。
转载地址:http://www.lxway.com/4618606.htm 维基的简介:Paxos算法是莱斯利·兰伯特(Leslie Lamport,就是 LaTeX 中的"La",此人现在在微软研究院)于1990年提出的一种基于消息传递且具有高度容错特性的一致性算法。
一:分布式一致性协议--->对于一个分布式系统进行架构设计的过程中,往往会在系统的可用性和数据一致性之间进行反复的权衡,于是就产生了一系列的一致性协议。--->长期探索涌现出一大批经典的一致性协议和算法。
一:事务--->是由一系列对系统中数据进行访问与更新的操作所组成的一个程序执行逻辑单元。保证数据在业务逻辑上是正确的。--->事务的四大特征:原子性,一致性,隔离性,持久性。简称事务的ACID特性。●原子性 要么全部成功执行,要么全部失败。
一:集中式向分布式转变---->大型主机(IBM),稳定快速。但扩容性差,价格昂贵。存在单点问题。---->小型微机,pc等服务器成本低,随着技术发展性能提升。---->互联网业务成井喷式快速发展,访问量暴增,计算机系统规模扩大,单一大型主机上运行系统的扩容比较困难。
一:桥梁模式定义 --->桥梁模式(Bridge Pattern)也叫做桥接模式,是一个比较简单的模式 --->将抽象和实现解耦,使得两者可以独立地变化。二:桥梁模式角色● Abstraction——抽象化角色 它的主要职责是定义出该角色的行为,同时保存一个对实现化角色的引用,该角色一般是抽象类。
一:解析器模式定义 --->解释器模式(Interpreter Pattern)是一种按照规定语法进行解析的方案,在现在项目中使用较少 --->给定一门语言,定义它的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子二:解析器模式角色● AbstractExpression——抽象解释器 具体的解释任务由各个实现类完成,具体的解释器分别由TerminalExpression和Non-terminalExpression完成。
一:状态模式定义 --->当一个对象内在状态改变时允许其改变行为,这个对象看起来像改变了其类 --->状态模式的核心是封装,状态的变更引起了行为的变更,从外部看起来就好像这个对象对应的类发生了改变一样 --->状态模式相对来说比较复杂,它提供了一种对物质运动...
一:访问者模式定义 --->封装一些作用于某种数据结构中的各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。二:访问者模式角色● Visitor——抽象访问者 抽象类或者接口,声明访问者可以访问哪些元素,具体到程序中就是visit方法的参数定义哪些对象是可以被访问的。
《一:备忘录模式的定义 --->备忘录模式(Memento Pattern)提供了一种弥补真实世界缺陷的方法,让“后悔药”在程序的世界中真实可行 --->在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。
一:门面模式的定义 --->门面模式(Facade Pattern)也叫做外观模式,是一种比较常用的封装模式 --->要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。
一:观察者模式的定义 --->观察者模式(Observer Pattern)也叫做发布订阅模式(Publish/subscribe),它是一个在项目中经常使用的模式 --->定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新二:观察者模式的角色● Subject被观察者 定义被观察者必须实现的职责,它必须能够动态地增加、取消观察者。
一:组合模式的定义 --->组合模式(Composite Pattern)也叫合成模式,有时又叫做部分-整体模式(Part-Whole),主要是用来描述部分与整体的关系 --->将对象组合成树形结构以表示“部分-整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。
一:迭代器模式的定义 --->迭代器模式(Iterator Pattern)目前已经是一个没落的模式,基本上没人会单独写一个迭代器,除非是产品性质的开发 --->它提供一种方法访问一个容器对象中各个元素,而又不需暴露该对象的内部细节。
一:适配器模式的定义 --->一个补救模式,这种模式可以让你从因业务扩展而系统无法迅速适应的苦恼中解脱而出。 --->贫血对象和充血对象,这两个名词很简单,在领域模型中分别叫做贫血领域模型和充血领域模型,有什么区别呢?一个对象如果不存储实体状态以及对象之间的关系,该对象就叫做贫血对象,对应的领域模型就是贫血领域模型,有实体状态和对象关系的模型就是充血领域模型 --->将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。
quartz2.2.1集群调度机制调研及源码分析引言quartz集群架构调度器实例化调度过程触发器的获取触发trigger:Job执行过程:总结:附: 引言 quratz是目前最为成熟,使用最广泛的java任务调度框架,功能强大配置灵活.
1、基本信息: Quartz是一个开源的作业调度框架,它完全由java写成,并设计用于J2Se和J2EE应用中。它提供了巨大的灵活性而不牺牲简单性。你能够用它 来为执行一个作业而创建简单的或复杂的调度。
Quartz是一个大名鼎鼎的Java版开源定时调度器,功能强悍,使用方便。 一、核心概念 Quartz的原理不是很复杂,只要搞明白几个概念,然后知道如何去启动和关闭一个调度程序即可。 1、Job 表示一个工作,要执行的具体内容。
一:装饰模式的定义 --->动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活。 --->如果大家还记得代理模式,那么很容易看懂这个类图,装饰类的作用也就是一个特殊的代理类.
一、核心概念 Quartz的原理不是很复杂,只要搞明白几个概念,然后知道如何去启动和关闭一个调度程序即可。 1、Job表示一个工作,要执行的具体内容。此接口中只有一个方法void execute(JobExecutionContext context) 2、JobDetailJobDetail表示一个具体的可执行的调度程序,Job是这个可执行程调度程序所要执行的内容,另外JobDetail还包含了这个任务调度的方案和策略。
一:责任链模式的定义 --->使多个对象都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。 --->责任链模式的重点是在“链”上,由一条链去处理相似的请求在链中决定谁来处理这个请求,并返回相应的结果 --->一般会有一个封装类对责任模式进行封装,也就是替代Client类,直接返回链中的第一个处理者,具体链的设置不需要高层次模块关系,这样,更简化了高层次模块的调用,减少模块间的耦合,提高系统的灵活性。
一:命令模式的定义 --->命令模式是一个高内聚的模式 --->将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。
一:中介模式的定义 --->用一个中介对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 --->中介模式的组成部分: ● Mediator 抽象中介者角色:抽象中介者角色定义统一的接口,用于各同事角色之间的通信。
一:原型模式的定义 --->用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 --->原型模式(Prototype Pattern)的简单程度仅次于单例模式和迭代器模式。
一:建造者模式的定义 --->建造者模式(Builder Pattern)也叫做生成器模式,其定义如下:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示 ● Product产品类 通常是实现了模板方法模式,也就是有模板方法和基本方法,这个参考模板方法模式。
一:模板方法模式的定义 --->定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 --->模板方法模式确实非常简单,仅仅使用了Java的继承机制,但它是一个应用非常广泛的模式。
在这里对linux下、sun(oracle) JDK的线程资源占用问题的查找步骤做一个小结;linux环境下,当发现java进程占用CPU资源很高,且又要想更进一步查出哪一个java线程占用了CPU资源时,按照以下步骤进行查找: 第一步:登陆到web服务所在的liunx服务器,利用top命令获取j...
开闭原则一:开闭原则的定义 --->一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。 --->我们做一件事情,或者选择一个方向,一般需要经历三个步骤:What——是什么,Why——为什么,How——怎么做(简称3W原则,How取最后一个w) --->对于开闭原则,我们也采用这三步来分析,即什么是开闭原则,为什么要使用开闭原则,怎么使用开闭原则?二:如何使用开闭原则 --->抽象约束。
链接代码 项目启动报的异常 本地main方法链接报的异常 网上查询原因 问题说明及解决方案: 网上原因很多,最终原因都是连接不到数据库造成的。 1、查看防火墙 2、tomcat端口是否屏蔽 3、查看连接数据库文件,连接地址是否正确,尤其要注意IP 特殊原因:这里,数据库设备有2台,都具有实IP地址,还有一台设备来做负载,也具有IP,连接数据时,连接该负载设备的IP。
迪米特法则一:迪米特法则定义: ---->迪米特法则(Law of Demeter,LoD)也称为最少知识原则(Least KnowledgePrinciple,LKP), ---->一个对象应该对其他对象有最少的了解。
节点,设备一:概念 ---->是带有至少一个处理器,内存以及可能还带有其他设备的处理元素。在实际工作中,一般说来服务器,工作站或者客户机都可以称为一个节点。 ---->节点就是应用程序的部署单元。
组件一:概念 --->组件是系统中实际存在的可更换部分,它实现特定的功能,符合一套接口标准并实现一组接口。 --->组件代表系统中的一部分物理实施。包括软件代码(源代码,二进制代码或可执行代码)或其等价物(如脚本或命令文件) --->在UML的定义中,组件之间唯一的关系就是依赖。
关系 --->在UML中关系是非常重要的语义,它抽象出对象之间的联系,让对象构成特定的结构。 一,关联关系(association) --->关联关系是用一条直线表示的。
设计类 --->设计类是系统实施中一个或多个对象的抽象。 --->设计类已经直接映射到实现代码了,因此设计类依赖于实施语言。另一方面,设计类来源于前期的系统分析,在统一过程中,类不是品空想像出来的。
一:基本概念 ---->在那大数项目中,分析类是被忽视的一种非常有用的元素。 ---->分析类用于获取系统中主要的“职责簇”,他们代表系统的原型类,是系统必须处理的主要抽象概念的“第一个关口”。
一:基本概念 ---->包是一种容器,如同文件夹一样。它将某些信息分类。形成逻辑单元 ---->包是UML非常常用的一个元素,它最主要的作用就是容纳并为其他元素分类。包可以容纳任何UML元素,例如用例,业务实体,类图等,也包括子包。
一:基本概念 ---->业务实体类(class)的一种版型。特别用于在业务建模阶段建立领域模型。业务实体是业务模型中非常重要的一个因素,它为问题领域中的关键概念建立概念化的理解。是人们认识问题领域的重要手段。