第二部分 大型分布式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. Python3中内置函数callable介绍
  2. 机器学习笔记:概率图模型
  3. RxJava 在Android中的应用(一)
  4. Sentinel: 分布式系统的流量防卫兵 1
  5. 高可用集群技术之corosync应用详解(一)
  6. 第Q题:聪明的木匠(队列解答)=======一位老木匠需要将一根长的木棒切成N段...
  7. 58. magento quote lifetime
  8. 广芯微电子产品使用笔记分享
  9. 桥接文件中file not found
  10. Livereload介绍
  11. 不开机win7计算机还原,Win7开机出现Windows错误恢复解决方法
  12. 提高测试工作效率的硬技能和软技能
  13. 共享文件计算机和设备拒绝访问,“拒绝访问”共享文件解决方法
  14. c 抓取百度页面html,搜索引擎百度蜘蛛详解,百度蜘蛛IP分析
  15. 云端编译android,Android原生插件开发云端打包问题
  16. 《郦波评说曾国藩家训》书摘
  17. Rushcrm:如何利用CRM系统的权限设置
  18. 不用注册表删除搜狗输入法残留文件夹
  19. 【coppeliasim】高效传送带
  20. 模具分类以及塑胶模具设计流程

热门文章

  1. 使用incognito劫持身份psexec调用远程cmd
  2. beanstalkd mysql_Beanstalkd 的理解
  3. 日本跨境电商平台黑马Starday强势来袭,高性价比平台只此一家
  4. 用C语言实现strcpy函数和strncpy函数
  5. JavaWeb项目smbms超市订单管理系统
  6. HTTPConnectionPool(host=‘127.0.0.1‘, port=44245) 解决方案
  7. (域名怎么选)域名选择的技巧你知道哪些
  8. IT人介绍自己的产品有难度
  9. java微博中评论模块怎么实战_用户操作之点赞、收藏、评论、删除微博功能实现二...
  10. IDEA报错 Failed to determine a suitable driver class