分布式应用的各基本领域及开发技术概要

2015-09-16 16:27:33本文将简要介绍分布式应用的各基本领域的相关技术。这些技术在一个分布式应用中都会有或多或少的设计,即便暂时没有涉及到,设计人员也要有所考虑,保证系统有进一步发展的空间。
分布式系统技术概要
现在互联网应用,尤其是大型互联网公司的应用已经发展为大规模或超大规模的分布式的,集群化的应用。而中小规模的分布式应用也已广泛出现在各个领域。未来,随着云计算向社会生活的方方面面去渗透,分布式应用将更加地普及。所以,任何一个要从事 服务器 端应用开发的人员,都有具备对分布式应用的基本认识。
本文将简要介绍分布式应用的各基本领域的相关技术。这些技术在一个分布式应用中都会有或多或少的设计,即便暂时没有涉及到,设计人员也要有所考虑,保证系统有进一步发展的空间。
1. 集群管理
关键字:Apache Zookeeper、Paxos 算法、Etcd、Raft、Apache Curator
在一个分布式系统中,存在着一些和系统运行,以及重要业务紧密相关的数据,如节点相关的数据、应用服务和数据服务相关的数据等,这些数据对集群的正常运行至关重要。
这些重要的数据在分布式系统中存在着多份拷贝,以保证高可用性。但这产生了另外一个问题,就是如何保证这些数据的一致性。因为这些数据是如此重要,不一致的数据会产生严重甚至致命的错误。在一个小规模的分布式系统中,因为可以用一两台服务器去做集群管理,所以数据的一致性容易实现。但是对于一个大规模的分布式系统,一两台集群配置管理服务器无法支撑整个集群所带来的大量并发读写操作,所以要使用几台、十几台,甚至更多的服务器去支撑这些请求。此时,就需要一个保持这些服务器中集群配置数据的一致性的方案了。
这众多方案中,Paxos 算法算是***方案之一。关于 Paxos 算法的内容,不在这里详述了。简单描述就是集群中各节点相互以提议的方式通信(对一项数据的修改),提议中带有不断增加的 ID 号,节点永远同意当前 ID 号***的提议,并拒绝其它提议。当有半数以上节点同意一项提议之后,这个提议便被整个节点所接受并采纳。
1.1. Apache Zookeeper
Paxos 算法的语言表述看上去不难,但是其中的技术难点并不少。好在现在已经有了很多的解决方案,其中最为著名的便是 Apache Zookeeper。Zookeeper 不仅可以用来存储配置数据,还可以用来实现集群 Master 选举、分布式锁等场景。Apache Curator 是 Zookeeper 的客户端,可以简化对 Zookeeper 的使用,实现各式的场景。
Zookeeper 是一个分布式的服务管理框架。Zookeeper 的典型的应用场景包括配置文件的管理、集群管理、分布式锁、Leader 选举、队列管理等。Zookeeper 可工作在集群模式下,zoo.cfg 中记录着集群中所有 Zookeeper 服务器的地址,每个服务器有自己唯一的 ID。同时,每个服务器在自己的>
企业SD-WAN技术网络包括哪些架构?
SD-WAN分为三层架构:
最底层是网络虚拟层,可以绑定多种链路接入(如MPLS,Internet,甚至4G);并可以针对通讯协议优化。
中间层是虚拟化的网络功能(VNF)利用软件达到传统网络专用硬件的功能,如智能路由、QoS、负载均衡、高级别防火墙等。
最上层就是中央策略控制,其工作原理如下:识别企业级应用软件(超过3000种);大数据分析模块即时分析应用层与网络层的状态,回传给策略控制器,然后控制器针对某一种或几种应用软件,即时调用各种优化模块(如数据优化、传输协议优化),以达到最优化传输。 整个过程几毫秒内全自动完成。
对企业而言,现有的网络基础层要求不高,客户无需改造基础,而对软件层面的加持则可以节省企业采购成本,进而提高运营效率和业务能力。
在项目中你是怎么看java四大特征
这个问题,不是很严格要求的话,只需要根据业务需要,业务需求自己去写代码就ok了。 这些不是最关键的。
云计算的概念是什么,它起什么作用吗?
云计算的概念是指遵循网格计算原理,使用内存和存储容量以及共享计算机和服务器的计算,并通过Internet进行联网。作用:
1、大规模、分布式“云”一般具有相当的规模,一些知名的云供应商如Google云计算、Amazon、IBM、微软、阿里等也都拥能拥有上百万级的服务器规模。 而依靠这些分布式的服务器所构建起来的“云”能够为使用者提供前所未有的计算能力。 2、高可用性和扩展性那些知名的云计算供应商一般都会采用数据多副本容错、计算节点同构可互换等措施来保障服务的高可靠性。 基于云服务的应用可以持续对外提供服务(7*24小时),另外“云”的规模可以动态伸缩,来满足应用和用户规模增长的需要。 3、虚拟化云计算都会采用虚拟化技术,用户并不需要关注具体的硬件实体,只需要选择一家云服务提供商,注册一个账号,登陆到它们的云控制台,去购买和配置你需要的服务,再为你的应用做一些简单的配置之后,你就可以让你的应用对外服务了,这比传统的在企业的数据中心去部署一套应用要简单方便得多。 而且你可以随时随地通过你的PC或移动设备来控制你的资源,这就好像是云服务商为每一个用户都提供了一个IDC一样。 4、安全网络安全已经成为所有企业或个人创业者必须面对的问题,企业的IT团队或个人很难应对那些来自网络的恶意攻击,而使用云服务则可以借助更专业的安全团队来有效降低安全风险。 5、按需服务,更加经济。
用户可以根据自己的需要来购买服务,甚至可以按使用量来进行精确计费。 这能大大节省IT成本,而资源的整体利用率也将得到明显的改善。
发表评论