第二部分 大型分布式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相关推荐

  1. java 23_《分布式JAVA应用 基础与实践》 第三章 3.2 JVM内存管理(三)

    [3.2.3  内存回收(1) 收集器 JVM通过GC来回收堆和方法区中的内存,GC的基本原理首先会找到程序中不再被使用的对象,然后回收这些对象所占用的内 ...] 3.2.3  内存回收(2) Fu ...

  2. JAVA天眼大型分布式跟踪系统

    目录 ├─源码SkyEye-master.zip ├─第1课-项目架构与技术点讲解.mp4 ├─第1课-项目架构与技术点讲解.pdf ├─第2课-日志实时采集.mp4 ├─第2课-日志实时采集.pdf ...

  3. java天眼培训_Java天眼大型分布式跟踪系统 附带源码_IT教程网

    资源名称:Java天眼大型分布式跟踪系统 附带源码 教程内容: APP: 接入skyeye-client的系统会通过kafkaAppender向kafka写入日志 es-indexer-group: ...

  4. 分布式跟踪系统 java_Java天眼大型分布式跟踪系统 附带源码

    资源名称:Java天眼大型分布式跟踪系统 附带源码 教程内容: APP: 接入skyeye-client的系统会通过kafkaAppender向kafka写入日志 es-indexer-group: ...

  5. Java分布式应用技术架构介绍

    一.分布式架构的演进 1.系统架构演化历程-初始阶段架构 初始阶段 的小型系统 应用程序.数据库.文件等所有的资源都在一台服务器上通俗称为LAMP 特征:应用程序.数据库.文件等所有的资源都在一台服务 ...

  6. 分布式-Java应用

    分布式计算不是一门年轻的技术,早在上个世纪70年代末便已是计算机科学的一个独立分支了:它也不是一门冷僻的技术,从C/S模式到P2P模式,从集群计算到网格计算,乃至风靡当下的云计算,都是其表演的舞台.另 ...

  7. java 爬虫_探索Java 多线程爬虫及分布式爬虫架构

    在我们调试爬虫程序的时候,单线程爬虫没什么问题,但是当我们在线上环境使用单线程爬虫程序去采集网页时,单线程就暴露出了两个致命的问题: 采集效率特别慢,单线程之间都是串行的,下一个执行动作需要等上一个执 ...

  8. 基于Java的大型网站设计方案

    第一章 分布式系统介绍 分布式系统的定义:组件分布在网络计算机上,组件间仅仅通过消息传递来通信并协调行动. 分布式系统的意义: 升级单机处理能力的性价比越来越低 单机处理能力存在瓶颈 处于稳定性和可用 ...

  9. 《分布式JAVA应用 基础与实践》 第六章 构建高可用的系统

    对于互联网或企业中的大型应用而言,多数要求做到7*24小时不间断运行.实际上要完全做到不太可能,但可尽量接近,各大网站或大型应用在总结一年的运行状况时,通常会有当年的可用性为99.9%这样的内容. 为 ...

最新文章

  1. 黄聪:C#编写的Word操作类,有换页,添加表格,文本功能
  2. 如果我要....(生活版)
  3. Xformode的坑
  4. 为Windows Phone SDK 模拟器安装应用
  5. 修改图层的范围_PS教程连载第47课:PS图层操作案例星球
  6. down.php怎么安装,Markdown、phpstudy的安装及配置
  7. atitit.人脸识别的应用场景and使用最佳实践 java .net php
  8. ContextCapture、EPS、CASS3D房地一体详细操作流程
  9. JavaFX TableView 自定义可编辑状态的切换和监听
  10. 计算机粘贴复制快捷键,电脑粘贴复制快捷键ctrl加什么(电脑快捷键方法大全)...
  11. html的锚标记,HTML验证锚标记
  12. 如何在控制台创建文件夹
  13. Spring环绕通知Around
  14. 基于Tesseract-OCR的空调外包装表面的字符识别
  15. 解决各种中文乱码的方法
  16. 赛效:电脑在线美化图片怎么弄?
  17. Google笔试集锦
  18. 正方形的面积用java写,java 编程 使用接口方式计算圆和正方形的面积(S)和周长(L)...
  19. 网络工程师成长日记373-李宁公司项目
  20. 编程ph与c语言是学什么的,一、程序设计与C语言

热门文章

  1. 异常NoSuchBeanDefinitionException
  2. 新手编程VS2019出现 error LNK2019 LNK1120 报错
  3. 【基于scala语言的spark编程】
  4. Outlook 2007设置了新的邮件信纸,设置步骤总结如下:
  5. Objective-C 30分钟入门教程
  6. 软件测试工程师笔试题(附带答案)
  7. 信创办公–基于WPS的EXCEL最佳实践系列 (处理合并单元格)
  8. npm ERR! This is probably not a problem with npm. There is likely additional 或 Uncaught SyntaxErro
  9. 技术分享 | 如何实现小程序与App的跳转
  10. Python爬虫——获取经纬度