布线问题分支限界法java_大型布线:Java云应用程序缺少的技术

布线问题分支限界法java

您是否曾经想过,为什么大多数Java框架中的依赖项注入仅用于本地进程内服务而不是分布式服务?

我最近在2013年EMC世界大会上遇到了Paul Maritz的主题演讲 (跳至第32分钟),这使我在云平台的背景下思考了这个问题。 主题演讲是关于Pivtol如何在新兴的云平台市场中定位的出色且经过深思熟虑的陈述。 他最有趣的观点之一是,随着移动和互连设备(通常称为物联网 )的激增,我们看到了一种新的应用程序类别,可以吸收,处理和分发大量数据。

幻灯片1

Maritz用一些有用的轶事证据突出了他的讲话:一次跨大西洋飞行产生了将近30TB的数据,需要通过新型应用程序进行记录,处理和分析。

云织物

这些类型的应用程序不能有效地建立在传统的Java EE应用程序服务器体系结构上。 取而代之的是,它们将在高度适应性强的动态互连基础架构云结构上运行。

幻灯片2

云结构的动态性质对现有Java框架和容器提出了新要求。 例如,可以创建或迁移VM实例以满足不断增长的需求。 在此设置中,计算机(以及服务端点)的地址可能会更改。 这使得通常与Java EE应用程序服务器集群和消息代理相关联的静态体系结构难以管理和扩展

云结构基于硬件虚拟化构建,其中物理计算资源通过软件抽象。 需要将虚拟化扩展到Java编程模型的堆栈,以便可以更高效地运行应用程序。

Spring:服务虚拟化先驱

Spring是这方面的早期先驱。 它通过替换容器API来通过依赖关系注入来获取本地服务引用(JNDI),从而虚拟化了Java EE应用服务器的许多部分。 这样就可以在Java EE容器之外运行Spring应用程序代码,例如在单元测试中。

幻灯片3

随着云结构的普及,我们将看到有必要将Spring的接线功能扩展到大型分布式服务-接线。 正如应用程序不需要容器API来获取对本地服务的引用一样,它们也不需要API来调用远程服务或向端点发送消息。 如果将远程服务连接到应用程序代码,则架构基础结构可以在迁移或创建VM时透明地传播端点地址更改,以响应不断变化的工作负载:

幻灯片4

大型布线的另一个好处是通信 虚拟化。 应用程序代码不再依赖特定于传输的API发送消息或调用远程服务。 云结构负责将代码与管理通信的代理一起注入:

幻灯片5

这将使云结构能够采用和调整最合适的消息传递技术,而无需更改代码级。 除了大大简化代码外,通信虚拟化还使生产更多可移植的云应用成为可能。

在实践中进行大接线

那么,大型布线在实际中是什么样的呢? 好消息是它的许多概念早于现代云计算的出现。 OASIS SCA标准为我们提供了一种简单且熟悉的方式来连接非常适合云架构的远程服务:

<composite name="LoanComposite" ...><component name="Client"><implementation.java class="org.fabric3.sample.client.ClientImpl"/><reference name="service" target="Service"/> </component><component name="Service"><implementation.java class="org.fabric3.sample.service.ServiceImpl"/></component></composite>

可以通过JMS,ZeroMQ,AMQP,MQTT或某些其他通信技术连接上述服务-取决于SCA运行时或部署配置来选择一种。 应用程序代码将相同:

public class ClientImpl implements Client {@Referenceprotected Service service;public void doSomething() {Message message = ...service.send(message);   }}

Fabric3运行时(一致的SCA实现)以我们上面讨论的方式提供了透明的动态端点传播。

下一步是什么?

目前,Fabric3对大型布线的支持要求将应用程序部署到Fabric3容器中。 Fabric3社区正在努力消除这一限制,以便可以从任何JVM或Java运行时以无所不在的方式访问云服务。 这是一个例子:

Fabric fabric = Bootstrap.initialize();
fabric.start();Domain domain = fabric.getDomain();Service service = domain.getService(Service.class);
Message message = ... 
service.send(message);fabric.stop();

该API可以集成到诸如Spring和Guice之类的框架中,以提供透明的远程服务注入。 基本上,应用程序代码将不再需要处理特定的传输API,或者对于Spring,则不再需要处理模板。

****

回到Maritz的大规模消费,处理和分发数据的下一代应用程序的画面,大型布线有望起到与本地依赖注入在公司数据中心中对Java EE所做的现代化作用。 如果您想进一步了解可能的技术,请查看Fabric3 。

参考: 大型接线:我们的JCG合作伙伴 Jim Marino在服务机器博客上提供的Java云应用程序缺少的技术 。

翻译自: https://www.javacodegeeks.com/2013/12/wiring-in-the-large-the-missing-technology-for-java-cloud-applications.html

布线问题分支限界法java

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/345099.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【渝粤题库】陕西师范大学164108 网络营销与策划 作业 (高起专)

《网络营销与策划》作业 单项选择题 以下&#xff08;&#xff09;不是按照检索软件分类的搜索引擎。 A全文数据库检索 B非全文数据库检索 C目录式搜索引擎 D主题指南类检索对于主要基于网站作为信息沟通渠道的公司而言&#xff0c;实施网络营销一般不会涉及&#xff08;&…

java 类似xamarin_有人有基准(代码和结果)比较在Xamarin C#和Java编写的Android应用程序的性能吗?...

我遇到了Xamarin声称他们在Android上的Mono实现和他们的C#编译的应用程序比Java代码更快。有没有人在不同的Android平台上执行非常类似的Java和C#代码的实际基准来验证此类声明&#xff0c;可以发布代码和结果&#xff1f;于2013年6月18日添加因为没有答案&#xff0c;没有人能…

【渝粤题库】陕西师范大学189101 消费者行为学Ⅰ 作业(高起专)

《消费者行为学Ⅰ》作业 一、单选题 1、人在对刺激物进行组织的过程中往往遵循一系列原则。其中&#xff08;&#xff09;是指人在对知觉对象或刺激物理解的过程中&#xff0c;有一种将他的各种感知组织成简单的模式的倾向。 A简洁性原则 B形、底原则 C完形原则 D 分类原则 2、…

Spring Boot微服务,Docker和Kubernetes研讨会–第2部分

在上一篇文章中&#xff0c;我们使用SpringBoot和Docker创建了第一个微服务“ ProductService”。 在这一部分中&#xff0c;我们将详细介绍如何使用Spring Cloud&#xff0c;netflix库&#xff0c;API网关来管理多个微服务。 假设对于我们的订单管理系统&#xff0c;最小关系…

【渝粤题库】陕西师范大学200301几何学作业(高起本)

《几何学》作业 一。填空题 1&#xff0e;若|||-|&#xff0c;则矢量&#xff0c;应满足的条件为&#xff08; &#xff09;&#xff1b; 2&#xff0e;两矢量&#xff0c;夹角为&#xff0c;则cos( )&#xff1b; 3&#xff0e;平面的法式化方程为&#xff08; &#xff09;&a…

java封装拦截请求_Retrofit,OkHttp拦截器,RxJava封装请求网络

Retrofit和Okhttp和RxJava的封装导入依赖compile io.reactivex.rxjava2:rxandroid:2.0.1compile io.reactivex.rxjava2:rxjava:2.1.7compile com.squareup.retrofit2:retrofit:2.0.0-beta4compile com.squareup.retrofit2:converter-gson:2.0.0-beta4compile com.squareup.retr…

【渝粤题库】陕西师范大学200671 电子技术基础

《电子技术基础》作业 一&#xff0e;电路如图所示&#xff1a; 请计算该电路的静态工作点Q&#xff1b; 请画出该电路的微变等效电路图&#xff1b; 请计算该电路的输入电阻Ri;输出电阻Ro; 二&#xff0e;电路如图所示&#xff0c;试判断&#xff1a; 1.该电路的反馈类型&…

【渝粤题库】陕西师范大学202051公共财政学作业(高起专)

《公共财政学》作业 一、填空题&#xff1a; &#xff11;&#xff0e;财政的基本职能是____________职能&#xff0c;职能&#xff0c;___________职能。 &#xff12;&#xff0e;按财政收入形式分类&#xff0c;是财政收入的主要来源。 &#xff13;&#xff0e;我国现行个人…

java空类型方法无参_类的无参方法

一.JavaDoc注释语法&#xff1a;/***author Flc*/author 标明开发该类模块的作者version 标明该类模块的版本see 参考转向&#xff0c;也就是相关主题param 对方法中某参数的说明return 对方法返回值的说明exception 对方法可能抛出的异常进行说明author 作者名version 版本号其…

jboss5.1安全性配置_使用Java EE安全性和JBoss AS 7.x保护JSF应用程序的安全

jboss5.1安全性配置企业应用程序的一个常见要求是在登录页面后面保护所有JSF页面。 有时&#xff0c;您甚至希望在应用程序内部具有保护区&#xff0c;只有拥有特定角色的用户才能访问这些保护区。 Java EE标准附带了实现受某些安全性约束保护的Web应用程序所需的所有方法。 在…

java comparator相等_详解Java中Comparable和Comparator接口的区别

详解Java中Comparable和Comparator接口的区别发布于 2020-7-20|复制链接摘记: 详解Java中Comparable和Comparator接口的区别本文要来详细分析一下Java中Comparable和Comparator接口的区别&#xff0c;两者都有比较的功能&#xff0c;那么究竟有什么区别呢&#xff0c;感兴趣的J…

Java 11:运行单文件程序和“ shebang”脚本

在Java 11中&#xff0c;对java启动器进行了增强&#xff0c;使其可以直接运行单文件源代码程序&#xff0c;而不必先对其进行编译。 例如&#xff0c;考虑以下仅添加其参数的类&#xff1a; import java.util.*; public class Add {public static void main(String[] args) …

update core.php 更新_PHP: 更新日志 - Manual

8.0.0The format character p has been added.Prior to this version, false was returned on failure.Prior to this version, false was returned on failure.These functions no longer return false on failure.callback 回调现在可以为空(nullable)。scale is now nullabl…

分布式事务 camel_使用Camel在Amazon上构建分布式工作流应用程序

分布式事务 camel带有SNS-SQS的管道 工作流由以动态条件确定的特定顺序执行的独立任务组成。 工作流通常代表业务流程&#xff0c;例如电子商务商店中的订单处理步骤。 Amazon Web Services提供了用于构建分布式和可伸缩工作流应用程序的各种工具。 构建此类应用程序的一种方法…

php登陆框_PHP 登录完成跳转上一访问页面

需求描述&#xff1a;访问网站页面时&#xff0c;有的页面需要授权才能访问&#xff0c;这时候就会要求用户登录&#xff0c;跳转到登录页面login.php&#xff0c;怎么实现登录后返回到刚才访问的页面。解决思路1&#xff1a;在跳转到登录页面之前要将当前访问页面的url保存到c…

比较Java REST文档框架

确定在记录REST API时选择哪种Java框架可能很麻烦。 在本博文中&#xff0c;我们将简要比较我们自己使用的REST Web服务的三种文档框架&#xff0c;以及它们如何与Spring框架&#xff08;这是Foreach最常使用的Java框架&#xff09;集成。 这些是RESTful API建模语言&#xff0…

php 获取文件最后几行,php获取文件的最后N行数据

本篇文章介绍的内容是php获取文件的最后N行数据&#xff0c;现在分享给大家&#xff0c;也可以给有需要的朋友一个参考GitHub源码代码是基于以下问题&#xff0c;给出的解决方案&#xff1a;用php写一个函数&#xff0c;获取一个文本文件最后$n行内容&#xff0c;要求尽可能效率…

jaVa游戏三国志英杰传,《三国志英杰传》到底是怎样的一款游戏

原标题&#xff1a;《三国志英杰传》到底是怎样的一款游戏介绍作为PC平台上经典的战棋策略类游戏&#xff0c;英杰传系列可谓把这一类型游戏在战略性和资源获取上的精髓发挥的淋漓尽致。系列初代的《三国志英杰传》诞生在1995年的DOS系统上&#xff0c;虽然我接触英杰传时已经是…

jvm 内存镜像_镜像镜像–使用反射在运行时查看JVM内部

jvm 内存镜像开发人员&#xff1a;Takipi会告诉您何时新代码在生产中中断– 了解更多 我们都习惯于在我们的日常工作中直接或通过利用反射的框架来运用反射。 它是Java和Scala编程的主要方面&#xff0c;它使我们使用的库可以与我们的代码进行交互&#xff0c;而无需对其进行硬…

【渝粤题库】广东开放大学 微信平台开发与应用 形成性考核 (2)

选择题 题目&#xff1a; 以下哪些功能是属于微信的&#xff1f; 题目&#xff1a; 认证过的订阅号的底部是否可以直接链接到外部链接&#xff1f; 题目&#xff1a; 下面哪些属于页面前端开发技术&#xff1f; 题目&#xff1a; 那种情况下的公众号可以申请微信支付&#xff1…