与云无关的架构? [关闭]

2024-04-28

我正在对一个新解决方案进行一些架构工作,该解决方案最初将在 Windows Azure 中运行。不过,我希望解决方案(或至少是架构/设计)与云无关(无论现实程度如何)。有没有人在这方面做过任何工作或看过任何好的白皮书/博客文章?

我们的高级架构将包含发送到 Web 服务(例如 WCF)的有效负载,该有效负载将被转储到队列上(出于参数考虑),并且工作进程将从该队列中获取消息并处理它们。将会有一个客户信息数据库,我们理想情况下希望将其保留在云之外,但有明显的性能考虑。

热衷于倾听别人的想法。

干杯 戴夫


我认为云不可知论是指与正在运行的特定平台无关,例如 GAE、Amazon EC2 或 Azure,并且您希望编写一个平台并部署在任何地方。

理论上,如果所有云提供商都支持相同的语言,这应该是可能的。据我所知GAE支持Python和Java。 Amazon EC2 可以使用实际服务器本身上的几乎任何内容,而 Azure 是一个完全的 .net 平台。因此,实际的处理方面,即编写队列 Web 服务和处理单元可能很困难。

另一个障碍是没有通用的统一API来调用云计算服务。无论如何,GAE/Azure/EC2 的实现都是不同的,因此它们的 API 公开的方法都不同,为此,您的一线代码需要知道它正在调用哪种类型的 API 来控制云计算资源。

然而,Web 服务本质上是松散耦合的。意思是,如果您努力抽象资源控制,以便您可以在任何您想要的云上创建实例,如果该新实例是处理 Web 服务输入/计算的另一个单元,并且公开的 Web 服务与 GAE 上的相同以 EC2 为例,没有什么可以阻止两者的交谈。同样,如果您在实例之间使用某种形式的 Web 服务/协议,您仍然应该能够跨计算平台通过互联网与其他实例进行通信。也就是说,这样做会将内部应用程序的数据暴露给全世界,从而带来安全风险。

我同意否认:Java 是一个非常好的方法。有大量的 EJB 容器,甚至还有更多的 Web 服务服务器(例如 Tomcat)。我猜 EC2 支持它(嗯,它肯定支持,但他们是否运行 Tomcat/Geromino 而不是 IBM 版本以及收费如何我不知道)。 GAE 声音基于这篇博文的限制 http://www.pardontheinformation.com/2009/06/google-app-engine-for-java-3-tips-for.html- 无论谷歌在后端做什么,他们都设计了一些非常奇怪的东西。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

与云无关的架构? [关闭] 的相关文章

随机推荐

  • 如何在nodejs中获取同步readline,或者使用异步“模拟”它?

    我想知道是否有一种简单的方法来获取 同步 readline 或至少在 node js 中获取同步 I O 的外观 我用这样的东西 但它很尴尬 var readline require readline var rl readline cre
  • 如何使元素水平居中?

    如何水平居中 div 在另一个内 div 使用CSS div div Foo foo div div With flexbox水平和垂直居中的 div 样式非常容易 inner border 0 05em solid black outer
  • Android 从另一个未上传文件的应用程序启动 Google Drive 应用程序

    我尝试通过手动启动 Google 驱动器 安装在设备上 从 Android 应用程序上传文件 我尝试使用此发送Intent createChooser其上传文件附件工作正常 但我需要出于特定目的上传文件 例如 Dropbox 仅限 Goog
  • 无法在层次结构中的指定点插入节点”代码:“3

    嘿 又是我问了一个关于 jquery 的问题网格布局 http phase change org jquery gridlayout 我用 switch 制作了一个 php 模板 我插入的代码是这样的 div div div class b
  • 在 Actionscript 3 中实现单例模式类的最佳方法是什么?

    由于 AS3 不允许私有构造函数 因此构造单例并保证构造函数不是通过 new 显式创建的唯一方法是传递单个参数并检查它 我听说过两个建议 一个是检查调用者并确保它是静态 getInstance 另一个是在同一包命名空间中拥有一个私有 内部类
  • 更改工具栏中的标题颜色?

    我有一个使用的工具栏 并设置标题 ActionBarActivity getActivity getSupportActionBar setTitle Home 有没有办法将颜色从黑色更改为白色 我尝试制作自己的主题并将其设置在 xml 中
  • Java邮件,设置回复地址不起作用

    我用java写了一个小的电子邮件发送程序 它有from to and reply to地址 当客户端尝试回复邮件时 应该能够回复reply to地址 目前它不起作用 我的代码如下 File Name SendEmail java impor
  • 在 stackblitz 中找不到包,即使它存在于 npm 网站中。那要怎么安装呢?

    我正在 stackblitz 中安装聚合物应用程序的依赖项 说找不到 3 个包 但 npm 网站上有这些包 我也尝试过cdn 即使这样也行不通 截图 我也安装了来自该网站的 CDN https www jsdelivr com packag
  • 如何使用 Playwright 打开新选项卡(例如,单击按钮在新选项卡中打开新部分)

    我正在寻找针对当前情况的更简单的解决方案 例如 您打开 google 任何其他网站 并且希望通过单击按钮 例如 Gmail 使用 Playwright 在新选项卡中打开此页面 let browser page context describ
  • 如何将钱兑换成零钱

    尝试将输入的数字转换为 25 美分 50 美分 10 美分和 10 分 有几个问题 public class Coins public static void main String args private int quarters di
  • 从 Android 通知中的 URL 加载图像

    在我的 Android 应用程序中 我想动态设置将从 URL 加载的通知图标 为此 我使用了setLargeIcon中的NotificationBuilder的属性receiver 我参考了很多链接并尝试了各种解决方案 但无法获得所需的输出
  • Android 应用程序还需要包含扩展文件下载器吗?

    我的问题是当应用程序大于 50MB 并且必须使用它们时 应用程序是否需要能够下载扩展文件 根据 Android 开发人员帮助 应用程序可以依赖扩展文件 在较新的设备上 扩展文件会在 APK 之前 之后自动下载 而在 较旧的设备 上 开发人员
  • PHP客户端验证https证书

    我需要创建一个 php 来充当客户端并使用 https 下的一些 Web 服务 我的问题是我还想验证服务器证书 我需要知道我有正确的服务器并且中间没有人充当服务器 有人能帮助我吗 Thanks 如果您有curl 扩展 则可以将其配置为验证连
  • 如何防止IntelliJ IDEA删除未使用的包?

    我正在使用 intellij 我的问题是当我开始将一些临时未使用的包导入到我的类文件中时 intellij 会在一秒钟内删除这些行 我怎样才能关闭这个不太好的功能 Disable File Settings Editor General A
  • Xcode:如何创建出现在另一个视图控制器中的弹出视图控制器

    基本上我想做的是 假设我有一个名为 V1 的视图控制器 它内部有一个常规视图和一个按钮 现在 当您点击该按钮时 我希望该按钮创建一个操作 在同一视图控制器 V1 中弹出另一个名为 V2 的视图控制器 V2 的尺寸会缩小一些 使其不会填满整个
  • WPF 中的 InvokeRequired [重复]

    这个问题在这里已经有答案了 我在一个中使用了这个函数Windows forms应用 delegate void ParametrizedMethodInvoker5 int arg private void log left accs in
  • 在 Pandas DataFrame 中拆分列表

    我有一个包含多列的 csv 文件 使用 pandas 我将此 csv 文件读入数据帧 并有一个日期时间索引和五六个其他列 其中一列是时间戳列表 下面带有索引的示例 CreateDate TimeStamps 4 1 11 Timestamp
  • 我想隐藏工具提示中的标签,因为它显示未定义

    我正在使用 Chart js 来显示折线图 如何隐藏 Chart js 折线图的工具提示标签 工具提示中的标签显示undefined所以我想隐藏标签 请参见屏幕截图 也许有一种方法可以修改工具提示 让我只能在工具提示中显示图例值 我的代码如
  • 如何在 Intellij IDEA 实时模板 groovy 脚本中将变量传递给 groovy 代码?

    我有一个groovyScript in my IntellijIDEA 实时模板 如下所示 groovyScript D test groovy v1 on my D test groovy我有这样的代码 if v1 abc abc 现在我
  • 与云无关的架构? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在对一个新解决方案进行一些架构工作 该解决方案最初将在 Windows Azure 中运行 不过 我希望解决方案 或至少是架构 设计 与云无