网吧云服务器原理
分布式存储技术原理。
云服务器通常运用到的技术有关于分布式存储、资源调度方面和虚拟化技术。分布式存储用于将大量服务器整合为一台超级计算机,提供海量的数据存储和处理服务。
一、为什么要使用elasticjob
1 可动态修改任务执行时间, 解决quartz 修改配置需重启系统问题 可运维
2: 可通过调整分片的方式, 动态调整任务执行线程的数量 动态改变任务吞吐量
3: Lite-Job 一台机器能起一个实例, 多台机器分别起实例同时执行, 解决quartz 单机执行问题, 可扩展
二、elasticjob原理
底层执行仍然采用quartz,执行过程中会对数据进行取膜。取膜结果与当前服务器拥有的分片做比较,相等则执行,否则不予执行。
单机多分片情形:job触发时会new多个线程执行(每个线程的分片数不同)
多机多分片情形:job触发时会先去zookeeper节点下的leader节点检测看是否有sharding目录下的necssary节点,有则会重新执行分片。分片策略参考如下。
三、分片策略
1AverageAllocationJobShardingStrategy
基于平均分配算法的分片策略,也是默认的分片策略。
如果分片不能整除,则不能整除的多余分片将依次追加到序号小的服务器。如:
如果有3台服务器,分成9片,则每台服务器分到的分片是:1=[0,1,2], 2=[3,4,5], 3=[6,7,8]
如果有3台服务器,分成8片,则每台服务器分到的分片是:1=[0,1,6], 2=[2,3,7], 3=[4,5]
如果有3台服务器,分成10片,则每台服务器分到的分片是:1=[0,1,2,9], 2=[3,4,5], 3=[6,7,8]
2OdevitySortByNameJobShardingStrategy
根据作业名的哈希值奇偶数决定IP升降序算法的分片策略。
作业名的哈希值为奇数则IP升序,作业名的哈希值为偶数则IP降序。
用于不同的作业平均分配负载至不同的服务器。
AverageAllocationJobShardingStrategy的缺点是,一旦分片数小于作业服务器数,作业将永远分配至IP地址靠前的服务器,导致IP地址靠后的服务器空闲。而OdevitySortByNameJobShardingStrategy则可以根据作业名称重新分配服务器负载。如:
如果有3台服务器,分成2片,作业名称的哈希值为奇数,则每台服务器分到的分片是:1=[0], 2=[1], 3=[]
如果有3台服务器,分成2片,作业名称的哈希值为偶数,则每台服务器分到的分片是:3=[0], 2=[1], 1=[]
3RotateServerByNameJobShardingStrategy
根据作业名的哈希值对服务器列表进行轮转的分片策略。
四、处理方式
1、SimpleJob类型处理方式
意为简单实现,未经任何封装的类型。需实现SimpleJob接口。该接口仅提供单一方法用于覆盖,此方法将定时执行。与Quartz原生接口相似,但提供了弹性扩缩容和分片等功能。
2、DataflowJob类型作业
流式处理类型作业
即使实现了DataflowJob接口 默认也是不开启流式作业。
何为流式? 就是fetchData后List,调用processData时候,传整个list。执行后再去fetch,如果还有符合条件的继续processData。
非流式只有时间片到了才触发执行。
此外,还有一点, fetch的List, 会遍历list,每条记录作为task扔到线程中,processData(List),每次处理的都是一条数据。
1、文件服务器上将档案所在目录共享(目录下面的文件默认跟着共享),设定相关读写权限。
2、PowerPoint是没有类似Excel的共享工作簿的功能(多人协同作业),多人打开共享PPTX文档的时候,只有第一个打开的用户有编辑权限,其他人会弹出对话框选择“通知”或“只读”来打开档案,选择通知的话,会在有编辑权限的用户画面弹出对话框,让选择是否给对方编辑,如果选择只读的方式打开,只有查看权限,无法编辑档案,并且无法实时更新编辑者接下来更新的内容(不管保存与否)。因此,对于PPTX文档的共享,只能同时允许一个用户编辑。
3、在文件服务器上编辑、保存、打开PPTX文档,对文件服务器的要求不高,普通电脑就可以承担,且文件服务器对性能的要求,比较注重的网络环境(如千兆网络、链路聚合等),但一般的文件共享,在千兆网络上,已经可以满足。另外,如果用户数量非常多,连线数比较多(100人以上),可考虑内存大一点,比如连线数在1000以上的,内存用到8G这样吧。
4、如果需要用专业服务器做文件服务器,基本上市面上最低规格的服务器,都可以胜任(对文件服务器要求不高的情况下)。如果要求比较高,比如做服务器群集、DFS分布式文件服务器等,可以选用一般的服务器主机来做。
域名越来越多,网页的IP地址难记。DNS全名叫domainnamesystem,是一个部署在分层的DNS服务器上的分布式数据库,通过访问DNS服务器,查询分布式数据库,能够让主机的域名转化为IP地址,,采用分布式,原因是域名越来越多,网页的IP地址难记。DNS分布式,使用了大量的DNS服务器,以层次方式组织,DNS映射分布在所有的DNS服务器上,解决了因信息量过大产生的网络崩溃的问题。
1、在分布式数据库系统里不强调集中控制概念,它具有一个以全局数据库管理员为基础的分层控制结构,但是每个局部数据库管理员都具有高度的自主权。
2、在分布式数据库系统中数据独立性概念也同样重要,然而增加了一个新的概念,就是分布式透明性。所谓分布式透明性就是在编写程序时好象数据没有被分布一样,因此把数据进行转移不会影响程序的正确性。但程序的执行速度会有所降低。
3、集中式数据库系统不同,数据冗余在分布式系统中被看作是所需要的特性,其原因在于:首先,如果在需要的节点复制数据,则可以提高局部的应用性。其次,当某节点发生故障时,可以操作其它节点上的复制数据,因此这可以增加系统的有效性。当然,在分布式系统中对最佳冗余度的评价是很复杂的。
集群和负载均衡的区别如下:
1、集群(Cluster)
所谓集群是指一组独立的计算机系统构成的一个松耦合的多处理器系统,它们之间通过网络实现进程间的通信应用程序可以通过网络共享内存进行消息传送,实现分布式计算机
2、负载均衡(Load Balance)
网络的负载均衡是一种动态均衡技术,通过一些工具实时地分析数据包,掌握网络中的数据流量状况,把任务合理均衡地分配出去这种技术基于现有网络结构,提供了一种扩展服务器带宽和增加服务器吞吐量的廉价有效的方法,加强了网络数据处理能力,提高了网络的灵活性和可用性
3、特点
(1)高可靠性(HA)利用集群管理软件,当主服务器故障时,备份服务器能够自动接管主服务器的工作,并及时切换过去,以实现对用户的不间断服务
(2)高性能计算(HP)即充分利用集群中的每一台计算机的资源,实现复杂运算的并行处理,通常用于科学计算领域,比如基因分析化学分析等
(3)负载平衡即把负载压力根据某种算法合理分配到集群中的每一台计算机上,以减轻主服务器的压力,降低对主服务器的硬件和软件要求
LVS系统结构与特点
1 Linux Virtual Server:简称LVS是由中国一个Linux程序员章文嵩博士发起和领导的,基于Linux系统的服务器集群解决方案,其实现目标是创建一个具有良好的扩展性高可靠性高性能和高可用性的体系许多商业的集群产品,比如RedHat的Piranha Turbo Linux公司的Turbo Cluster等,都是基于LVS的核心代码的
2 体系结构:使用LVS架设的服务器集群系统从体系结构上看是透明的,最终用户只感觉到一个虚拟服务器物理服务器之间可以通过高速的 LAN或分布在各地的WAN相连最前端是负载均衡器,它负责将各种服务请求分发给后面的物理服务器,让整个集群表现得像一个服务于同一IP地址的虚拟服务器
3 LVS的三种模式工作原理和优缺点: Linux Virtual Server主要是在负载均衡器上实现的,负载均衡器是一台加了 LVS Patch的22x版内核的Linux系统LVS Patch可以通过重新编译内核的方法加入内核,也可以当作一个动态的模块插入现在的内核中
RAID 独立磁盘冗余阵列。简单的说,我们把数个硬盘组合起来成为一颗硬盘,以增加数据的传输效率,并提高数据安全性。视硬盘数目而定,你可以有多种选择,以达成以下目标:追求高安全性、追求性能、或是两者兼具。
0条评论