集群、分布式、微服务概念和区别

集群、分布式、微服务概念和区别,第1张

我们知道,服务器是用来提供各类服务的专业计算机,本质上和我们常规的电脑差不多,只不过它的配置更专业一些。不少人误认为服务器买来后布署下服务器环境就行了,其实不是这样的,服务器如果不进行一些优化设置,那性能也得不到最大化发挥。

当你拿到服务器后要进行哪些优化呢?大致可以从:服务器硬件、系统设置、软件环境优化三方面着手。

服务器硬件优化方案

正常情况下服务器硬件优化是在选购服务器之前就定好,因为硬件优化起来是比较麻烦的。

服务器内存越大越好、CPU核心数越多越好;

服务器硬盘不要选择机械硬盘,固态硬盘性能最好;如果预算有限,那建议是固态+机械硬盘组合使用,系统安装在固态盘里;

关闭不必要的外设,如:光驱、蓝牙等。

服务器系统优化方案

系统直接影响服务器的性能及稳定性,首先要选择合适的系统,然后再进行系统优化。

Linux类系统性能和稳定性要优于WindowsServer;

系统一定要安装64位的,不要选择32位系统;

Linux系统内核参数的优化,如:最大打开文件数限制、内核TCP参数等;

如果使用的是云服务器,则可以关闭服务器上的默认防火墙,改用云计算平台提供的在线防火墙;

关闭不必要的系统服务,如:打印服务;

精简开机启动服务等。

软件环境优化

服务器只是硬件,最终服务的运行时环境还是靠服务器端软件来提供的,比如WEB服务器就离不开:WEB容器(Nginx、Apache、Tomcat、IIS)、数据库(MySQL、SQLServer)等支撑。下面总结一些软件环境优化方案,可以满足大多数服务器的需要。

合理使用NoSQL等缓存,可以很大程度缓解后端数据库的压力;

对于高并发场景,考虑集群分布式部署;

数据库量级很大时,就要考虑SQL优化:读写分离、慢查询优化、合理索引等;

消息系统的合理使用等。

以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流~我是科技领域创作者,十年互联网从业经验,欢迎在线咨询

简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。
例如:
如果一个任务由10个子任务组成,每个子任务单独执行需1小时,则在一台服务器上执行改任务需10小时。
采用分布式方案,提供10台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需一个小时。(这种工作模式的一个典型代表就是Hadoop的Map/Reduce分布式计算模型)
而采用集群方案,同样提供10台服务器,每台服务器都能独立处理这个任务。假设有10个任务同时到达,10个服务器将同时工作,10小后,10个任务同时完成,这样,整身来看,还是1小时内完成一个任务!
以下是摘抄自网络文章:
一、集群概念
1 两大关键特性
集群是一组协同工作的服务实体,用以提供比单一服务实体更具扩展性与可用性的服务平台。在客户端看来,一个集群就象是一个服务实体,但事实上集群由一组服务实体组成。与单一服务实体相比较,集群提供了以下两个关键特性:
· 可扩展性--集群的性能不限于单一的服务实体,新的服务实体可以动态地加入到集群,从而增强集群的性能。
· 高可用性--集群通过服务实体冗余使客户端免于轻易遇到out of service的警告。在集群中,同样的服务可以由多个服务实体提供。如果一个服务实体失败了,另一个服务实体会接管失败的服务实体。集群提供的从一个出 错的服务实体恢复到另一个服务实体的功能增强了应用的可用性。
2 两大能力
为了具有可扩展性和高可用性特点,集群的必须具备以下两大能力:
· 负载均衡--负载均衡能把任务比较均衡地分布到集群环境下的计算和网络资源。
· 错误恢复--由于某种原因,执行某个任务的资源出现故障,另一服务实体中执行同一任务的资源接着完成任务。这种由于一个实体中的资源不能工作,另一个实体中的资源透明的继续完成任务的过程叫错误恢复。
负载均衡和错误恢复都要求各服务实体中有执行同一任务的资源存在,而且对于同一任务的各个资源来说,执行任务所需的信息视图(信息上下文)必须是一样的。
3 两大技术
实现集群务必要有以下两大技术:
· 集群地址--集群由多个服务实体组成,集群客户端通过访问集群的集群地址获取集群内部各服务实体的功能。具有单一集群地址(也叫单一影像)是集群的一个基本特征。维护集群地址的设置被称为负载均衡器。负载均衡器内部负责管理各个服务实体的加入和退出,外部负责集群地址向内部服务实体地址的转换。有的负载均衡器实现真正的负载均衡算法,有的只支持任务的转换。只实现任务转换的负载均衡器适用于支持ACTIVE-STANDBY的集群环境,在那里,集群中只有一个服务实体工作,当正在工作的服务实体发生故障时,负载均衡器把后来的任务转向另外一个服务实体。
· 内部通信--为了能协同工作、实现负载均衡和错误恢复,集群各实体间必须时常通信,比如负载均衡器对服务实体心跳测试信息、服务实体间任务执行上下文信息的通信。
具有同一个集群地址使得客户端能访问集群提供的计算服务,一个集群地址下隐藏了各个服务实体的内部地址,使得客户要求的计算服务能在各个服务实体之间分布。内部通信是集群能正常运转的基础,它使得集群具有均衡负载和错误恢复的能力。
二、集群分类
Linux集群主要分成三大类(高可用集群, 负载均衡集群,科学计算集群)
高可用集群(High Availability Cluster)
负载均衡集群(Load Balance Cluster)
科学计算集群(High Performance Computing Cluster)
具体包括:
Linux High Availability 高可用集群
(普通两节点双机热备,多节点HA集群,RAC, shared, share-nothing集群等)
Linux Load Balance 负载均衡集群
(LVS等)
Linux High Performance Computing 高性能科学计算集群
(Beowulf 类集群)
三、详细介绍
1 高可用集群(High Availability Cluster)
常见的就是2个节点做成的HA集群,有很多通俗的不科学的名称,比如"双机热备","双机互备","双机"。
高可用集群解决的是保障用户的应用程序持续对外提供服务的能力。 (请注意高可用集群既不是用来保护业务数据的,保护的是用户的业务程序对外不间断提供服务,把因软件/硬件/人为造成的故障对业务的影响降低到最小程度)。
2 负载均衡集群(Load Balance Cluster)
负载均衡系统:集群中所有的节点都处于活动状态,它们分摊系统的工作负载。一般Web服务器集群、数据库集群和应用服务器集群都属于这种类型。
负载均衡集群一般用于相应网络请求的网页服务器,数据库服务器。这种集群可以在接到请求时,检查接受请求较少,不繁忙的服务器,并把请求转到这些服务器上。从检查其他服务器状态这一点上看,负载均衡和容错集群很接近,不同之处是数量上更多。
3 科学计算集群(High Performance Computing Cluster)
高性能计算(High Perfermance Computing)集群,简称HPC集群。这类集群致力于提供单个计算机所不能提供的强大的计算能力。
31 高性能计算分类 
311 高吞吐计算(High-throughput Computing)
有一类高性能计算,可以把它分成若干可以并行的子任务,而且各个子任务彼此间没有什么关联。象在家搜寻外星人( SETI@HOME -- Search for Extraterrestrial Intelligence at Home )就是这一类型应用。这一项目是利用Internet上的闲置的计算资源来搜寻外星人。SETI项目的服务器将一组数据和数据模式发给Internet上参加SETI的计算节点,计算节点在给定的数据上用给定的模式进行搜索,然后将搜索的结果发给服务器。服务器负责将从各个计算节点返回的数据汇集成完整的 数据。因为这种类型应用的一个共同特征是在海量数据上搜索某些模式,所以把这类计算称为高吞吐计算。所谓的Internet计算都属于这一类。按照 Flynn的分类,高吞吐计算属于SIMD(Single Instruction/Multiple Data)的范畴。
312 分布计算(Distributed Computing)
另一类计算刚好和高吞吐计算相反,它们虽然可以给分成若干并行的子任务,但是子任务间联系很紧密,需要大量的数据交换。按照Flynn的分类,分布式的高性能计算属于MIMD(Multiple Instruction/Multiple Data)的范畴。
四、分布式(集群)与集群的联系与区别
分布式是指将不同的业务分布在不同的地方;而集群指的是将几台服务器集中在一起,实现同一业务。
分布式中的每一个节点,都可以做集群。 而集群并不一定就是分布式的。
举例:就比如新浪网,访问的人多了,他可以做一个群集,前面放一个响应服务器,后面几台服务器完成同一业务,如果有业务访问的时候,响应服务器看哪台服务器的负载不是很重,就将给哪一台去完成。
而分布式,从窄意上理解,也跟集群差不多, 但是它的组织比较松散,不像集群,有一个组织性,一台服务器垮了,其它的服务器可以顶上来。
分布式的每一个节点,都完成不同的业务,一个节点垮了,那这个业务就不可访问了。

僵尸网络防御方法
如果一台计算机受到了一个僵尸网络的DoS攻击,几乎没有什么选择。一般来说,僵尸网络在地理上是分布式的,我们难于确定其攻击计算机的模式。
被动的 *** 作系统指纹识别可以确认源自僵尸网络的攻击,网络管理员可以配置防火墙设备,使用被动的 *** 作系统指纹识别所获得的信息,对僵尸网络采取行动。最佳的防御措施是利用安装有专用硬件的入侵防御系统。
一些僵尸网络使用免费的DNS托管服务将一个子域指向一个窝藏“肉鸡”的IRC服务器。虽然这些免费的DNS服务自身并不发动攻击,但却提供了参考点。清除这些服务可以破坏整个僵尸网络。近来,有些公司想方设法清除这些域的子域。僵尸社团将这种路由称之为“空路由”,因为DNS托管服务通常将攻击性的子域重新定向到一个不可访问的IP地址上。
前述的僵尸服务器结构有着固有的漏洞和问题。例如,如果发现了一个拥有僵尸网络通道的服务器,也会暴露其它的所有服务器和其它僵尸。如果一个僵尸网络服务器缺乏冗余性,断开服务器将导致整个僵尸网络崩溃。然而,IRC服务器软件包括了一些掩饰其它服务器和僵尸的特性,所以发现一个通道未必会导致僵尸网络的消亡。
基于主机的技术使用启发式手段来确认绕过传统的反病毒机制的僵尸行为。而基于网络的方法逐渐使用上述技术来关闭僵尸网络赖以生存的服务器,如“空路由”的DNS项目,或者完全关闭IRC服务器。
但是,新一代的僵尸网络几乎完全都是P2P的,将命令和控制嵌入到僵尸网络中,通过动态更新和变化,僵尸网络可以避免单个点的失效问题。间谍软件可以将所有可疑的口令用一种公钥“硬编码”到僵尸软件中。只能通过僵尸控制者所掌握的私钥,才能读取僵尸网络所捕获的数据。
必须指出,新一代僵尸网络能够检测可以分析其工作方式的企图,并对其作出响应。如大型的僵尸网络在检测到自己正在被分析研究时,甚至可以将研究者从网络中断开。所以单位需要专业的僵尸网络解决
僵尸网络解决方案
好消息是在威胁不断增长时,防御力量也在快速反应。如果你是一家大型企业的负责人,你可以使用一些商业产品或开源产品,来对付这些威胁。
首先是FireEye的产品,它可以给出任何攻击的清晰视图,而无需求助于任何签名。FireEye的虚拟机是私有的,这就减轻了攻击者学会如何破坏这种虚拟机的危险。FireEye可以识别僵尸网络节点,阻止其与客户端网络的通信。这使得客户的IT人员在FireEye发现僵尸网络攻击时就可以采取行动,然后轻松地重新构建被感染的系统。在网络访问不太至关重要时,可以立即禁止受感染的机器。Damballa创建了其自己的技术来跟踪并防御僵尸网络。这家公司的Failsafe解决方案能够确认企业网络内的受损害的主机,而无需使用签名技术或基于行为的技术。此外,SecureWorks和eEye Digital Security也拥有自己对付僵尸网络的专用技术。
著名的大型公司,如谷歌等,不太可能被僵尸网络击垮。其原因很简单,它们主要依赖于分布式服务器。DDoS攻击者将不得不征服这种全球性的分布式网络,而这几乎是不太可能的,因为这种网络可以处理的数据量可达每秒钟650Gb。小型公司可通过谨慎选择其互联网供应商来防御DDoS攻击,如果供应商能够在高速链路接入水平上确认和过滤攻击就是一个好主意。
不过,由于DDoS攻击活动太容易被发现而且强度大,防御者很容易将其隔离并清除僵尸网络。犯罪组织典型情况下会保留其资源用于那种既可为其带来更多金钱又能将暴露程度减少到最小的任务中。

分布式与集群是不一样的,简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。

如果一个任务由10个子任务组成,每个子任务单独执行需1小时,则在一台服务器上执行改任务需10小时。

采用分布式方案,提供10台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需一个小时。

而采用集群方案,同样提供10台服务器,每台服务器都能独立处理这个任务。假设有10个任务同时到达,10个服务器将同时工作,10小后,10个任务同时完成,这样,整体来看,还是1小时内完成一个任务。


扩展资料

分布式系统可以分为机体内系统、建筑物内系统、建筑物间系统和不同地理范围的区域系统等,它们的耦合度依次由高到低按应用领域的性质决定耦合度,可以分成三类:

一、是面向计算任务的分布并行计算机系统和分布式多用户计算机系统,它们要求尽可能高的耦合度,以便发展成为能分担大型计算机和分时计算机系统所完成的工作。

二、是面向管理信息的分布式数据处理系统。耦合度可以适当降低。

三、是面向过程控制的分布式计算机控制系统。耦合度要求适中,当然对于某些实时应用,其耦合度的要求可能很高。

首先你必须了解什么是超融合?

超融合基础架构(Hyper-Converged Infrastructure,或简称“HCI”)也被称为超融合架构,是指在同一套单元设备(x86服务器)中不仅仅具备计算、网络、存储和服务器虚拟化等资源和技术,而且还包括缓存加速、重复数据删除、在线数据压缩、备份软件、快照技术等元素,而多节点可以通过网络聚合起来,实现模块化的无缝横向扩展(scale-out),形成统一的资源池。

其次你必须了解什么是分布式存储

关于分布式存储实际上并没有一个明确的定义,甚至名称上也没有一个统一的说法,大多数情况下称作 Distributed Data Store 或者 Distributed Storage System。

其中维基百科中给 Distributed data store 的定义是:分布式存储是一种计算机网络,它通常以数据复制的方式将信息存储在多个节点中。

在百度百科中给出的定义是:分布式存储系统,是将数据分散存储在多台独立的设备上。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。

尽管各方对分布式存储的定义并不完全相同,但有一点是统一的,就是分布式存储将数据分散放置在多个节点中,节点通过网络互连提供存储服务。这一点与传统集中式存储将数据集中放置的方式有着明显的区分。

区别与联系

超融合基础架构从定义中明确提出包含软件定义存储(SDS),具备硬件解耦的能力,可运行在通用服务器之上。超融合基础架构与 Server SAN 提倡的理念类似,计算与存储融合,通过全分布式的架构,有效提升系统可靠性与可用性,并具备易于扩展的特性。

由于很多读者对超融合构成还比较混淆,以下以 SmartX 的超融合软件 SMTX OS 为例说明分布式存储和其他模块的关系。

其中分布式块存储,SMTX ZBS 是SMTX OS超融合软件最核心的组件。它采用全分布式架构并且是完全符合软件定义理念的。

晶科科技还不错,他们的运维团队和专业,拥有600+专业运维技术人员,运维的电站有400多座,团队中的人员基本上都是来自电力行业的,专业性上毋庸置疑,还拥有成熟的运营管理体系,完善的资质能力支持电站高效管理,体系还获得SGS三体系认证。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zz/13090234.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-30
下一篇 2023-05-30

发表评论

登录后才能评论

评论列表(0条)

保存