Java分布式开发,有那些技术可以实现

yqsshr 2009-04-14 12:33:44
1、Java分布式开发,有那些技术可以实现。
我知道的有RMI、CORBA
2、RMI和CORBA都能够实现下面的功能吗?如果都能够,那个更好?

现有多台服务器,当用户登陆任何一台服务器的时候,这个服务器除了要检索自己本地的资源以外,还可以作为一个客户端,自动地去连接其它服务器,发出检索请求,并将检索的结果进行合并和汇总,返回给用户登陆的那台服务器。(这样,用户只需要登陆任意一台服务器,就可以检索到大量所需资源,尽管这些资源来自于不同的服务器,但检索的过程对用户来说是透明的,用户检索和获取这些资源就如同检索和获取所请求的服务器上的资源一样。)

3、webservice可以实现吗,能简单介绍下webservice吗?

望达人指教!
...全文
25509 35 打赏 收藏 转发到动态 举报
写回复
用AI写文章
35 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwwksakjsoa 2012-09-28
  • 打赏
  • 举报
回复
我觉得要是主要实现楼主的这些功能的话,通信那块用http post请求就OK
鲜为人知 2010-11-10
  • 打赏
  • 举报
回复
关注一下,没有好的想法
yangfuchao418 2010-05-30
  • 打赏
  • 举报
回复
楼主你这个完全可以用Hadoop。

引言
Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。HDFS在最开始是作为Apache Nutch搜索引擎项目的基础架构而开发的。HDFS是Apache Hadoop Core项目的一部分。这个项目的地址是http://hadoop.apache.org/core/。

前提和设计目标
硬件错误
硬件错误是常态而不是异常。HDFS可能由成百上千的服务器所构成,每个服务器上存储着文件系统的部分数据。我们面对的现实是构成系统的组件数目是巨大的,而且任一组件都有可能失效,这意味着总是有一部分HDFS的组件是不工作的。因此错误检测和快速、自动的恢复是HDFS最核心的架构目标。

流式数据访问
运行在HDFS上的应用和普通的应用不同,需要流式访问它们的数据集。HDFS的设计中更多的考虑到了数据批处理,而不是用户交互处理。比之数据访问的低延迟问题,更关键的在于数据访问的高吞吐量。POSIX标准设置的很多硬性约束对HDFS应用系统不是必需的。为了提高数据的吞吐量,在一些关键方面对POSIX的语义做了一些修改。

大规模数据集
运行在HDFS上的应用具有很大的数据集。HDFS上的一个典型文件大小一般都在G字节至T字节。因此,HDFS被调节以支持大文件存储。它应该能提供整体上高的数据传输带宽,能在一个集群里扩展到数百个节点。一个单一的HDFS实例应该能支撑数以千万计的文件。

简单的一致性模型
HDFS应用需要一个“一次写入多次读取”的文件访问模型。一个文件经过创建、写入和关闭之后就不需要改变。这一假设简化了数据一致性问题,并且使高吞吐量的数据访问成为可能。Map/Reduce应用或者网络爬虫应用都非常适合这个模型。目前还有计划在将来扩充这个模型,使之支持文件的附加写操作。

“移动计算比移动数据更划算”
一个应用请求的计算,离它操作的数据越近就越高效,在数据达到海量级别的时候更是如此。因为这样就能降低网络阻塞的影响,提高系统数据的吞吐量。将计算移动到数据附近,比之将数据移动到应用所在显然更好。HDFS为应用提供了将它们自己移动到数据附近的接口。

异构软硬件平台间的可移植性
HDFS在设计的时候就考虑到平台的可移植性。这种特性方便了HDFS作为大规模数据应用平台的推广。

Namenode 和 Datanode
HDFS采用master/slave架构。一个HDFS集群是由一个Namenode和一定数目的Datanodes组成。Namenode是一个中心服务器,负责管理文件系统的名字空间(namespace)以及客户端对文件的访问。集群中的Datanode一般是一个节点一个,负责管理它所在节点上的存储。HDFS暴露了文件系统的名字空间,用户能够以文件的形式在上面存储数据。从内部看,一个文件其实被分成一个或多个数据块,这些块存储在一组Datanode上。Namenode执行文件系统的名字空间操作,比如打开、关闭、重命名文件或目录。它也负责确定数据块到具体Datanode节点的映射。Datanode负责处理文件系统客户端的读写请求。在Namenode的统一调度下进行数据块的创建、删除和复制。
yangfuchao418 2010-05-30
  • 打赏
  • 举报
回复
用Hadoop最好
Cathy123lee 2010-05-14
  • 打赏
  • 举报
回复
W3C组织对其的定义如下,它是一个软件系统,为了支持跨网络的机器间相互操作交互而设计。Web Service服务通常被定义为一组模块化的API,它们可以通过网络进行调用,来执行远程系统的请求服务。最普遍的一种说法就是,Web Service = SOAP + HTTP + WSDL。其中,SOAP Simple Object Access Protocol)协议是web service的主体,它通过HTTP或者SMTP等应用层协议进行通讯,自身使用XML文件来描述程序的函数方法和参数信息,从而完成不同主机的异构系统间的计算服务处理。这里的WSDL(Web Services Description Language)web 服务描述语言也是一个XML文档,它通过HTTP向公众发布,公告客户端程序关于某个具体的 Web service服务的URL信息、方法的命名,参数,返回值等。
Web Service是一个应用组件,它逻辑性的为其他应用程序提供数据与服务.各应用程序通过网络协议和规定的一些标准数据格式(Http,XML,Soap)来访问Web Service,通过Web Service内部执行得到所需结果.Web Service可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他Web Service应用程序可以发现并调用它部署的服务。
ubiquitious 2010-05-14
  • 打赏
  • 举报
回复
如果只是简单的tomcat之间的通讯
那么使用http就行了
jiangzhaos 2010-02-23
  • 打赏
  • 举报
回复
真懂得啊欧文阿斯蒂芬乃的
JavaProgramming 2009-12-19
  • 打赏
  • 举报
回复
学习下 呵呵
DL88250 2009-04-18
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 yqsshr 的回复:]
简单描述一下我的问题,期望达人指教:
打算做的是一个小项目,实现不同web服务器(Tomcat)之间通信,用什么技术可以实现呢?当然服务器同时也可以作为客户器使用。
[/Quote]
1. Socket, RMI
2. EJB,Web Service / RESTful
zhouxingyu896 2009-04-18
  • 打赏
  • 举报
回复
学习

学习
yqsshr 2009-04-18
  • 打赏
  • 举报
回复
谢谢诸位关注,本人很菜,没有项目开发经验,
对这样一个项目仍然是一脸迷茫,不知道如何下手。。
期望更多人能给点建议..
xiguagege 2009-04-18
  • 打赏
  • 举报
回复
up
yqsshr 2009-04-17
  • 打赏
  • 举报
回复
这方面的技术是不是少的可怜啊。。。
Billy.Wang 2009-04-16
  • 打赏
  • 举报
回复
如果楼主的应用比较广泛的话,建议使用SOA产品,协助解决需求。但SOA产品一般价格比较昂贵,部署较复杂,但是各个分布节点的访问非常的方便。
Neoze 2009-04-16
  • 打赏
  • 举报
回复
EJB才是王道
fangpengyu 2009-04-16
  • 打赏
  • 举报
回复
我是来学习得,大家一起来
Cyanapple_wen 2009-04-16
  • 打赏
  • 举报
回复
我也来学学这方面的技术
yqsshr 2009-04-16
  • 打赏
  • 举报
回复
期待~~
yqsshr 2009-04-16
  • 打赏
  • 举报
回复
不好意思,写错了。“客户器”应该为“客户机”
yqsshr 2009-04-16
  • 打赏
  • 举报
回复
简单描述一下我的问题,期望达人指教:
打算做的是一个小项目,实现不同web服务器(Tomcat)之间通信,用什么技术可以实现呢?当然服务器同时也可以作为客户器使用。
加载更多回复(14)
Java分布式中间件大汇聚实战第1季 套餐课程~SpringBoot2.0+Redis+RabbitMQ+Redisson+ZooKeeper+面试突击” 包含了几大重磅性课程,学员 可以根据自己的喜好 进行学习,一步一个脚印深入巩固消息中间件RabbitMQ、缓存中间件Redis 综合中间件Redisson 以及 分布式锁(ZooKeeper+Redisson+数据库级别锁...)的实现方式 1、SpringBoot2.0缓存中间件Redis技术入门与典型应用场景: 这是一门关于目前相当流行的分布式缓存中间件Redis相关技术栈的介绍与实战,目的在于带领各位小伙伴一起学习、攻克Redis,更好地巩固自己的核心竞争力;值得介绍的是,本课程在技术层面涵盖了中间件Redis的相关技术栈,比如数据结构String、List、Set、SortedSet以及Hash等等,除此之外,在设计并实战“抢红包系统”以及实战各种数据结构对应的应用场景期间,也使用了微服务、分布式相关的技术。包括SpringBoot2.x、Mybatis、热部署工具、二倍均值法、多线程并发编程、发送邮件等等 2、RabbitMQ实战视频教程 :本课程可以让学员零基础从官网的权威技术开发手册入手,学习掌握消息中间件RabbitMQ的各大专用词汇,之后会着重基于SpringBoot搭建的微服务项目实战RabbitMQ的各大知识要点,包括各大消息模型,异步解耦,异步通信发送邮件,业务服务模块解耦,死信队列实战以及死信队列实际业务场景实战等等 3、中间件Redisson实战视频教程: 介绍redisson相关的核心技术栈及其典型的应用场景,其中的应用场景就包括布隆过滤器、限流器、短信发送、实时/定时邮件发送、数据字典、分布式服务调度等等,在业界号称是在java项目里正确使用redis的姿势! 4、分布式锁实战视频教程 : 本课程将更深入的实战当前分布式系统、微服务架构下“高并发多线程访问共享资源”时如何实现分布式锁,控制对于共享资源的访问,其中涉及到的相关技术主要是各种分布式中间件:Redis、Zookeeper、Redisson等,还有数据库级别的乐观悲观锁实战,最后还实战了两大常见的业务场景: (1)重复提交 (2)抢单系统如CRM系统销售人员抢单场景 (可以自行扩充到 “抢微信红包”、“商城系统抢单”、“美团骑手、滴滴司机、货拉拉司机抢单”等业务场景!!!) 相信学习了这套视频教程之后,将会更加深入的巩固各位学员的微服务以及分布式知识体系!!! 5、Java分布式中间件大汇聚实战第一季(基于SpringBoot2.0+典型业务场景+点赞系统+面试突击) : 主要介绍了企业级项目中真实应用场景的实现及主流的Java核心技术栈(Redis、RabbitMQ、Spring AOP、Redisson、ZooKeeper…)的实战, 同时也介绍了基于Redis设计并实战一款点赞系统(点赞、取消点赞、排行榜、用户中心、文章点赞用户列表…)可以说技术干货甚多,不仅可以巩固企业级应用系统的开发实战能力,相信在面试、跳槽涨薪方面也能带来相应的帮助!值得一提的是,本季课程实战的应用场景包括“日志记录”、“邮件发送”、“通告消息通知”、“短信验证码失效验证”、“会员到期自动提醒/到期前N天自动提醒”以及“点赞系统”的设计与实战。 课程的最后,我们给大家整理了一份最新的面向BAT大厂招聘 ~ 2020年程序猿最新的Java面试题(附带目录和答案),希望对各位小伙伴的成长有所帮助!

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧