Java分布式应用:大型分布式Java应用与SOA
第二部分 大型分布式Java应用与SOA
SOA是一种服务集成的架构思想,超越具体的技术和架构,又涵盖具体的技术和架构。SOA的最常见的解决方案是SCA、ESB。
Apache Tuscany 是SCA的具体实现技术,Apache Tuscany 提供开放式可扩展的运行环境以支持现在和将来的各种技术.这将解除应用程序对底层技术的依赖和偶合,使得跨技术网络平台的组装成为可能并大大简化.
多种构件实现, 包括Java, BPEL, XQuery, JavaScript
多种通讯协议, 包括RMI, Web Services, JSONRPC, Feed, EJB, CORBA
多种接口语言, 包括Java , WSDL
多种数据绑定, 包括XML, JavaBeans, JAXB, SDO, XMLBeans, JSON, AXIOM
优势:对于服务的统一交互支持比较好
Mule是ESB实现框架之一。和Tuscany不同的地方仅在配置文件和启动代码 。
支持:RMI、Web Service等
优势:需要解耦的方式的服务交互以及复杂多服务交互的场景。
SOA:发布服务、调用服务、支持通信以及交互方式
特点:
1.高性能、可扩展的轻量级框架;
2.对监测、安全控制、流量控制的支持:(Qos服务质量)
3.服务注册和服务仓库
4.开发工具
微服务
微服务架构是一种架构风格和架构思想,它提倡将系统业务按照功能拆分为更加细粒度的服务,即每一个服务都是一个独立的应用。这些应用对外提供公共API用于应用调度。
总结:
RPC:远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。PRC是跨语言跨系统的。
即解决了2个问题:
1.解决分布式系统中,服务之间的调用问题。
2.远程调用时,要能够像本地调用一样方便,让调用者感知不到远程调用的逻辑。
优势:
1.复杂度可控
2.可独立部署
3.技术选型灵活
4.易于容错
5.易于拓展
6.功能特定,相互关联度低。
不足:
1.分布式的创建和测试有一定的难度
2.部署较为复杂
3.多服务相对来说消耗内存
微服务与SOA的区别
Java分布式应用:大型分布式Java应用与SOA相关推荐
- java 23_《分布式JAVA应用 基础与实践》 第三章 3.2 JVM内存管理(三)
[3.2.3 内存回收(1) 收集器 JVM通过GC来回收堆和方法区中的内存,GC的基本原理首先会找到程序中不再被使用的对象,然后回收这些对象所占用的内 ...] 3.2.3 内存回收(2) Fu ...
- JAVA天眼大型分布式跟踪系统
目录 ├─源码SkyEye-master.zip ├─第1课-项目架构与技术点讲解.mp4 ├─第1课-项目架构与技术点讲解.pdf ├─第2课-日志实时采集.mp4 ├─第2课-日志实时采集.pdf ...
- java天眼培训_Java天眼大型分布式跟踪系统 附带源码_IT教程网
资源名称:Java天眼大型分布式跟踪系统 附带源码 教程内容: APP: 接入skyeye-client的系统会通过kafkaAppender向kafka写入日志 es-indexer-group: ...
- 分布式跟踪系统 java_Java天眼大型分布式跟踪系统 附带源码
资源名称:Java天眼大型分布式跟踪系统 附带源码 教程内容: APP: 接入skyeye-client的系统会通过kafkaAppender向kafka写入日志 es-indexer-group: ...
- Java分布式应用技术架构介绍
一.分布式架构的演进 1.系统架构演化历程-初始阶段架构 初始阶段 的小型系统 应用程序.数据库.文件等所有的资源都在一台服务器上通俗称为LAMP 特征:应用程序.数据库.文件等所有的资源都在一台服务 ...
- 分布式-Java应用
分布式计算不是一门年轻的技术,早在上个世纪70年代末便已是计算机科学的一个独立分支了:它也不是一门冷僻的技术,从C/S模式到P2P模式,从集群计算到网格计算,乃至风靡当下的云计算,都是其表演的舞台.另 ...
- java 爬虫_探索Java 多线程爬虫及分布式爬虫架构
在我们调试爬虫程序的时候,单线程爬虫没什么问题,但是当我们在线上环境使用单线程爬虫程序去采集网页时,单线程就暴露出了两个致命的问题: 采集效率特别慢,单线程之间都是串行的,下一个执行动作需要等上一个执 ...
- 基于Java的大型网站设计方案
第一章 分布式系统介绍 分布式系统的定义:组件分布在网络计算机上,组件间仅仅通过消息传递来通信并协调行动. 分布式系统的意义: 升级单机处理能力的性价比越来越低 单机处理能力存在瓶颈 处于稳定性和可用 ...
- 《分布式JAVA应用 基础与实践》 第六章 构建高可用的系统
对于互联网或企业中的大型应用而言,多数要求做到7*24小时不间断运行.实际上要完全做到不太可能,但可尽量接近,各大网站或大型应用在总结一年的运行状况时,通常会有当年的可用性为99.9%这样的内容. 为 ...
最新文章
- Python3中内置函数callable介绍
- 机器学习笔记:概率图模型
- RxJava 在Android中的应用(一)
- Sentinel: 分布式系统的流量防卫兵 1
- 高可用集群技术之corosync应用详解(一)
- 第Q题:聪明的木匠(队列解答)=======一位老木匠需要将一根长的木棒切成N段...
- 58. magento quote lifetime
- 广芯微电子产品使用笔记分享
- 桥接文件中file not found
- Livereload介绍
- 不开机win7计算机还原,Win7开机出现Windows错误恢复解决方法
- 提高测试工作效率的硬技能和软技能
- 共享文件计算机和设备拒绝访问,“拒绝访问”共享文件解决方法
- c 抓取百度页面html,搜索引擎百度蜘蛛详解,百度蜘蛛IP分析
- 云端编译android,Android原生插件开发云端打包问题
- 《郦波评说曾国藩家训》书摘
- Rushcrm:如何利用CRM系统的权限设置
- 不用注册表删除搜狗输入法残留文件夹
- 【coppeliasim】高效传送带
- 模具分类以及塑胶模具设计流程
热门文章
- 使用incognito劫持身份psexec调用远程cmd
- beanstalkd mysql_Beanstalkd 的理解
- 日本跨境电商平台黑马Starday强势来袭,高性价比平台只此一家
- 用C语言实现strcpy函数和strncpy函数
- JavaWeb项目smbms超市订单管理系统
- HTTPConnectionPool(host=‘127.0.0.1‘, port=44245) 解决方案
- (域名怎么选)域名选择的技巧你知道哪些
- IT人介绍自己的产品有难度
- java微博中评论模块怎么实战_用户操作之点赞、收藏、评论、删除微博功能实现二...
- IDEA报错 Failed to determine a suitable driver class