在过去的几周里,我正在阅读不同的文章,出版物,博客文章,以及有关基于云的应用程序的通用软件架构模型的文章.我也非常有兴趣了解你对此的想法.
通过我的阅读,我发现以下三种类型的软件架构在当前行业焦点中用于不同类型的基于Web的分布式应用程序.
MVC - 现在有很多基于它的框架,如Spring,Struts2,JBoos Seam,JSF,ASP.net MVC,Ruby-on-Rails,CakePHP,Zend,Django等等.微软的云计算平台Azure还为云中基于MVC的应用程序提供了良好的集成和迁移途径.
3层 - 架构模型代表了不同层和分布层的良好分离,因此从基于Web的应用程序的出现,它为软件架构师设计满足其需求的强大平台起到了关键作用.然而,随着MVC框架的出现以及它们的易用性使得3层架构成为许多人的第二选择.令人惊讶的是,Google的云平台AppEngine以这样的方式提供了他们的迁移策略,这些策略主要是传达"无状态计算层"和"有状态存储层"的清晰分离的信息,从而支持基于3层架构的主要基础.我发现像MS Azure这样的语句支持通用计算,而不是像GAE支持的特定类型的应用程序.
基于SOA和REST的应用程序现在正以极快的速度出现,主要是由于移动计算平台,面向服务的产品以及与分布式计算(如HTTP,XML,UDDI,WSDL和SOAP)中的通信的标准Internet协议的良好相似性.Facebook,Twitter和其他社交网络炒作等新兴应用程序大多使用RESTful架构模型用于他们的移动平台,未来的趋势也随着JAX-WS/RS,Jersey,Restlet,RestEeasy,微软WCF的增强使用而显示出稳定的焦点, Apache CXF和Axis2.现在,如果我们按照云计算原则来看,许多互联网编写者都在展示它是如何从SOA和SaaS发展出来的,但是没有明确提到这两个概念是如何相互集成和互操作的.同样,基于SOA和SaaS的应用程序如何能够迁移到云平台仍然不完全清晰可见."移动云计算"这个短语现在似乎出现在许多互联网页面中,但它实际上如何根据基于SaaS和Utility的计算工作,从软件架构师的角度来看,它仍然是未知的.
为此,我们现在有三种不同类型的架构模型,它们都有一些相似之处,许多差异以及其他关键的大脑推理事实,但这些可以互操作以及如何将它们迁移到Internet巨人(如Azure,GAE)或者AWS)云产品仍然不是完全明显的,并表明在这个资本研究领域热衷于将业务和技术整合在一起的更多头脑风暴.
在这方面听到你的声音有更多的例子,评论和解释以及批评:)会很棒,因为我只是这个舞台上的新手,还在学习.
非常感谢 ....
我从Visual Studio发布了一个Azure Web角色,出了点问题.我认为我的工作站设置有误.如果部署出错,有没有办法恢复Azure网站?
我正在尝试将一些文件添加到我的空间进入heroku来处理我的Facebook应用程序...
我首先创建一个index.ejs,一切都很好
然后我创建了一个2个新文件:test.html和credits.php
我尝试用命令将它们发送到heroku:
git commit -am"newfiles"但是有一些错误
还有我用git添加myappfolder/view/test.html,但没有工作
如何将这两个文件添加到我的Facebook空间应用程序中
(我选择node.js作为创建fb app的语言...然后可以上传php和.html文件)
是否可以使用Puppet设置,使用JClouds在云上实例化新虚拟机,然后通过Puppet定义和实现其配置(软件堆栈)?
或者Puppet的本质是否存在某些内在因素阻止其在AWS,RackSpace或Heroku等云提供商上的使用?
我有一个PHP应用程序,它接受用户的输入,并使用正常的文件操作fopen, fwrite等将它们写入文件.它在我的服务器上运行良好.如果我将整个代码迁移到亚马逊的云并使用它的服务,我如何将这些文件操作映射到Beanstalk上的相应操作?
文件操作是否可以正常工作,而不会发生变化?
如果是,这些文件将存储在哪里?
如果不是,有什么替代方案?
谢谢你的帮助!!
我正在构建一个mashup,它从相当慢的外部API获取数据并在客户端处理它.为了加快速度,我想添加一个简单的缓存,它将在线存储处理结果,但我不想购买专用服务器.是否有免费的在线服务使用AJAX缓存任何JSON/XML /文本数据?
从VM内部如何识别它是AWS机器还是Azure机器?BIOS中是否有某些特定内容可供我识别,以便将其丢弃.
我想创建一个可以与Microsoft Office 365进行通信的REST节点应用程序,并以JSON的形式获取我的日历信息。我正在使用https://github.com/jasonjoh/node-calendar-sync作为基本代码。
当我尝试将此应用程序部署到Heroku时,出现以下错误
2017-02-18T20:04:04.472725+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=sleepy-depths-93877.herokuapp.com request_id=b2fc89a1-5493-417d-9ee9-c81dd85d17fd fwd="157.49.2.140" dyno= connect= service= status=503 bytes=
2017-02-18T20:04:10.593603+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=sleepy-depths-93877.herokuapp.com request_id=92860d21-8d13-4e6a-8cf7-d2580e88a7a4 fwd="157.49.2.140" dyno= connect= service= status=503 bytes=
Run Code Online (Sandbox Code Playgroud)
我无法解决此错误。
我有以下问题:
带着敬意
我正在尝试在计算机上下载Google Cloud SDK,但是在安装过程中发生了错误:
下载失败:连接到主机。
你能帮我解决吗?
Nutshell解释:
构建一个非常基本的Eureka Discovery服务器spring boot 2.0.4.还创建了一个使用Eureka发现的基本Eureka服务.启动发现服务器,然后启动该服务.该服务向发现服务器注册,但随后立即取消注册并停止.
详细信息Discovery Server代码:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@SpringBootApplication
@EnableEurekaServer
public class DiscoveryServerApplication {
public static void main(String[] args) {
SpringApplication.run(DiscoveryServerApplication.class, args);
}
}
Run Code Online (Sandbox Code Playgroud)
服务:请注意,本例中我将Controller放在主启动应用程序中.
@EnableDiscoveryClient //Want it to registger with the discovery
@SpringBootApplication
@RestController //Obviously not a best practice just an example
public class ServiceApplication {
public static void main(String[] args) {
SpringApplication.run(ServiceApplication.class, args);
}
@Value("${spring.application.name")
private String instance;
@RequestMapping("/")
public String message() {
return "hello from " + instance;
}
}
Run Code Online (Sandbox Code Playgroud)
服务pom.xml:
<?xml …Run Code Online (Sandbox Code Playgroud)