① 什么是分布式编程
分布式应用程序就是指应用程序分布在不同计算机上,通过网络来共同完成一项任务,通常为服务器/客户端模式。更广义上理解“分布”,不只是应用程序,还包括数据库等,分布在不同计算机,完成同一个任务。之所以要把一个应用程序分布在不同的计算机上,主要有两个目的:
1) 分散服务器的压力
大型系统中,模块众多,并发量大,仅用一个服务器承载往往会发生压力过大而导致系统瘫痪的情况。可以在横向和纵向两方面来进行拆分,把这些模块部署到不同的服务器上。这样整个系统的压力就分布到了不同的服务器上。
l 横向:按功能划分。
l 纵向:N层架构,其中的一些层分布到不同的服务器上(分层的概念会在后文进行介绍)。
2) 提供服务,功能重用
使用服务进行功能重用比使用组件进行代码重用更进一层。举例来说,如果在一个系统中的三个模块都需要用到报表功能,一种方法是把报表功能做成一个单独的组件,然后让三个模块都引用这个组件,计算操作由三个模块各自进行;另一种方法是把报表功能做成单独的服务,让这三个模块直接使用这个服务来获取数据,所有的计算操作都在一处进行,很明显后者的方案会比前者好得多。
服务不仅能对内提供还能对外提供,如果其他合作伙伴需要使用我们的报表服务,我们又不想直接把所有的信息都公开给它们。在这种情况下组件方式就不是很合理了,通过公开服务并对服务的使用方做授权和验证,那么我们既能保证合作伙伴能得到他们需要的数据,又能保证核心的数据不公开。
② java分布式开发,什么是分布式开发。
就是同一个服务,把数据库的不同部分分开建立到不同的服务器上。以缓解数据库大量数据访问的压力。
很多大公司的业务量比较大,每天的访问量都达到几百万上千万,甚至上亿的访问量,在访问量不是很大的情况下,是可以通过提高单台服务器的配置来满足需求的。但是当单台服务器已经满足不了需求的时候就需要做分布式处理了。毕竟一台服务器的处理能力是有限的。
如果分散到几台甚至几十台几百天电脑上,其优势就显现出来了。
③ 问问大神,准备学python。它是网络编程,多线编程,分布式编程技术吗怎样才算对数据结构和算法设
python不适合做分布式
如果要做分布式,可以用java, scala, go 或者erlang
④ 软件开发中经常提到一个分布式这个词,请问什么是分布式开发
分清几个概念:分布式开发,分布式架构,分层开发。分布式开发是纵向以功能模块为单位分割软件,并以此分工的开发方式,尤其对大型开源的软件,开发者都身处不同地域,对各种功能模块的实现架构也有不同理解,但,模块开发完成提交后,有总构架师集成到系统中;分布式架构主要是为了web软件性能的优化而提出的软件结构方案与硬件配置方案;分层开发与纵向模块化相对,以横向分割软件,三层就是把软件横向分为三部分,每一层都有各种功能模块
⑤ 分布式开发的特点
何为分布式应用开发模式
在数据库应用程序的开发过程中,网络已走到社会的各个角落。从金融行业的银行联网、交通行业的售票系统、公安系统的全国户籍管理等等,这些企业或行业单位之间地理分布性或业务分布性,使得一个企业或行业拥有多个网络服务器,如何在这种分布式的网络环境下实现高效的数据库应用程序的开发是一个重要的问题。
分布式应用开发简单的说,是指将用户界面、控制台服务、数据库管理三个层次部署在不同的位置上。其中用户界面是客户端实现的功能,控制台服务是一个专门的服务器,数据管理是在一个专门的数据库服务器上实现的。
提示:这里的Web服务器,都是指软件(如IIS等Web服务器软件),它和Web服务器应用以及其它程序等,共同存在于服务器计算机上。
控制台CGI应用:是一个独立的控制台EXE。它在一个标准输入设备上接收客户端的请求信息,在标准输出设备上将结果返回给服务器。
分布式结构层次如图1所示。
图1
当然在应用中,为了节省成本或实际需要,利用计算机的多任务性和强大的计算能力,我们往往把控制台服务器与数据库服务器放在同一个计算机中。如图1所示内容又可以如图2所示,虽然减少了计算机的数量,但实质意义并没有改变。
图2
提示:我们在以后的连接远程数据库的示例中,均采用图2连接方式。
⑥ java怎么进行分布式开发
a请求b有很多的通讯方式,如果是socket,就可以直接socket对象中就有地址,http也差不多,如果是其他方式,就看看用的取地址的方法,如果类没有提供的话就不行。
⑦ 什么是分布式应用开发
分布式应用是指在通过网络相连的不同平台上,在独立运行时间内运行的不同组件所构成的应用程序组。分布式应用能并发服务多个用户,充分利用处理器资源,这主要取决于其设计特征。典型的分布式应用包括双重式(客户机-服务器)、三重式(客户机-中间件-服务器)和多重式(客户机-多组件-多服务器)。
建立分布式应用主要设计以下几种技术:
客户机/服务器体系结构;
远程过程调用(RPC);
分布式计算环境(DCE);
分布式组件对象模型(DCOM);
通用对象请求代理体系结构(COBRA);
企业 Intranet Applet;
Java 分布式对象模型。
在当今网络世界,分布式应用正变得越来越为流行和普遍。
相关术语:客户机/服务器体系结构、远程过程调用(RPC)、分布式计算环境(DCE)、分布式组件对象模型(DCOM)、通用对象请求代理体系结构(COBRA)、Applet、Java 分布式对象模型
⑧ 什么是分布式开发
分布式应用开发简单的说,是指将用户界面、控制台服务、数据库管理三个层次部署在不同的位置上。其中用户界面是客户端实现的功能,控制台服务是一个专门的服务器,数据管理是在一个专门的数据库服务器上实现的。
⑨ 分布式开发主要用到什么
在谈分布式系统架构前,我们先来看看,什么是分布式系统?
假设原来我们有一个系统,代码量30多万行。现在拆分成20个小系统,每个小系统1万多行代码。
原本代码之间都是直接基于Spring框架走JVM内存调用,现在拆开来,将20个小系统部署在不同的机器上,然后基于分布式服务框架(比如bbo)搞一个rpc调用,接口与接口之间通过网络通信来进行请求和响应。
所以分布式系统很重要的特点就是服务间要跨网络进行调用。
此外,分布式系统可以大概可以分成两类。
(一)、底层的分布式系统
比如hadoop hdfs(分布式存储系统)、spark(分布式计算系统)、storm(分布式流式计算系统)、elasticsearch(分布式搜索系统)、kafka(分布式发布订阅消息系统)等。
(二)、分布式业务系统
分布式业务系统,把原来用java开发的一个大块系统,给拆分成多个子系统,多个子系统之间互相调用,形成一个大系统的整体。
举个例子,假设原来你做了一个OA系统,里面包含了权限模块、员工模块、请假模块、财务模块,一个工程,里面包含了一堆模块,模块与模块之间会互相去调用,1台机器部署。
现在如果你把他这个系统给拆开,权限系统,员工系统,请假系统,财务系统,4个系统,4个工程,分别在4台机器上部署。
然后一个请求过来,完成这个请求,员工系统去调用权限系统,调用请假系统,调用财务系统,4个系统分别完成了一部分的事情。
最后4个系统都干完了以后,才认为是这个请求已经完成了。这就是所谓的分布式业务系统。
⑩ 分布式编程中的heartbeat是起什么作用的
心跳,用来检测各个节点之间是不是连通的,就像医院里监控你的心跳,停了要么就是挂了(节点死了),要么就是那个仪器掉了(网络断开)