发表于: 2018-10-14 16:22:51

1 452


今天完成的事情

测试使用rmi服务的延迟

总共循环查询了10000次。

在远程服务端的本地执行如下代码

最终耗时8873ms

在自己电脑上以rmi方式调用另一个jvm中的远程StudentService对象

最终耗时16102ms , 大约是直接访问方式的两倍时间。此过程tcp连接一直在自己本机内部 , 不会受到外部网络因素的干扰。

rmi方式调用远程阿里云服务器中远程StudentService对象

此时需要通过tcp协议远程访问阿里云服务器。理论上经过外部网络传输 , 应该耗时更长才是。但实际情况是 , 经过大半天的折腾 , 依然无法实现在阿里云启动远程服务端 , 在本机上使用本地客户端调用到远程对象。

1.     也手动指定了stub对象的端口 , 并加入防火墙白名单

2.     也使用了System.setProperty("java.rmi.server.hostname", "47.100.183.26");来设置使用外网ip地址

但就是不行 , 各种方式都尝试了 , 我选择放弃。

学习SOA的概念

SOA这个词汇有二义性——Service-Oriented Architecture

1.     一层含义是指面向服务架构(Service Oriented Architecture)这种架构风格;

2.     另一层含义是指多年前IBM/SAP/Dell/Oracle等公司搞的SOA解决方案,例如BPEL + SCA + SDO这套东西,以及Enterprise Service Bus(ESB)WebSphere Process ServerWPS)、WebSphere Integration DeveloperWID)、WebSphere Message BrokerWMB)等产品。

你可以认为前者是一种Style,后者是一套Specification + Implementation。微服务可以被视作是SOA架构风格的另外一种实现方式。所以其实我们要对比的是SOA和以前IBM/Oracle等公司搞的SOA的区别。

SOAjava领域具体方案

SOAJava领域有两套标准:

1.     一个是SUN推出的JBI(没有得到BEAIBM的承认),

2.     另外一个是:IBMBEA等公司推出的SCASDO标准。

JBI之关注Java组件只处理Java组件的集成。

SCA实现了业务组件和传输协议的分离,可以处理各种平台组件的集成。

SDO可以的自由读取各种不同数据源的数据。

另外,BPEL本质上是一种集成Web Service服务的语言,也可以算作为SOA的一部分。

学习SCA的概念

SCA是对目前组件编程的进一步升华,其目标是让服务组件能自由绑定各种传输协议,集成其他的组建与服务。SCA与传统的业务组件最大区别在于SCA实现了两个功能:

1.     一是组件和传输协议的分离,

2.     二是接口和实现语言的分离。

SCA的本质是一种软件架构思想,SCA架构是独立于程序语言的SOA架构。SCA的目标是创建一个可集成服务组件的运行环境。

关于apache Tuscany

看官网说已经停止更新了 , 应该是有了更新的解决方案 , 比如springcloud ? 今天简单添加了依赖和配置 , 但还没调试成功。明天再做吧。

明天计划的事情

学完Tuscany , 做个小例子 , 然后使用spring+Tuscany把原来的项目改造一下。争取完成任务九。

遇到的问题

就是把spring rmi部署在阿里云 , 在本地无论如何也无法成功访问。放弃了

收获

看关于soasca的介绍 , 一个个缩写的大写英文字母都代表着过去曾经辉煌过的各种技术啊 , 现在的技术不久也会过时 , 要持续学习啊。

 



返回列表 返回列表
评论

    分享到