APP服务器如何选择?

APP服务器如何选择?,第1张

不同的应用对于服务器有不同需求,APP选择服务器时需要注意几个方面:

一、根据规模的大小,来选择合适的配置与带宽,比如说新开发的APP,前期访问量小,可以用一个普通配置的云服务器就能满足需求,但如果是较大规模或者数据量比较多的APP,则需要用较高的配置和带宽。

二、根据用户分布区域来选择机房线路,大多APP是面向全国各地的用户,所以在服务器线路方面,推荐用多线或者BGP线路。

三、后期扩展性。如果你选择的是云服务器,基本上都是支持中途升级高配置的,但如果是选择的物理服务器,就需要考虑后期升级的便利性,毕竟随着APP规模的提升,后期升级配置以及带宽也是很常见的操作。

四、服务商的资质以及服务,APP是需要全天不间断运行的,所以选择一个有信誉,资质齐全,服务有保障的IDC服务商,在服务器出现问题时能第一时间响应并解决,非常重要。

首先手机APP现在有很多,而且一般不大,如果不是大型的应用一般不会选择服务器租用,一般会选择云这样有几个好处。

1:价格便宜,减低前期投入成本

2:安全可靠,一般都有备份功能

3,:部署实施方面快捷,更方便

4:改变了交付模式,开机一般只需要几秒,而且配有负载均衡、路由和防火墙。

如果是大型的部署实施,也可以选择物理服务器,不过一般大型的都会选择托管,自己采购或者代采购,然后找IDC托管。其实需要注意什么要结合自身的特点来选择供应商和机房。比如我身运维能力不足,一旦出问题没有专人负责,那么就要找个带运维服务的供应商。比如对安全注重,那么就选个有一定的抗D能力的。等等。望采纳

app server的前身是middleware(中间件),历史要长的多。早在上世纪六七十年代就已经开始在IBM大型机系统上广泛应用了,叫做TP Monitor,比较著名的是BEA的Tuxedo和IBM的CICS,运行在Terminal/Server模式的Server端,其功能主要是分离商业逻辑,进行分布式计算的,可以自动管理事务、资源和容错等等。因为发展的时间很长,所以技术非常成熟。middleware最早是用cobol编写的,现在还可以偶尔看到cobol的中间件的旧系统,再后来middleware改用C++来实现,著名中间件的有IBM的CICS,BEA的Tuexdo,仍然广泛的应用在高端系统中,特别是银行系统。

然而在面向对象的技术出现和广泛的应用之后,TP Monitor由于不是面向对象的,而是面向过程的调用,因此TP Monitor管理的商业逻辑并没有分布式对象系统中的商业组件那样的可扩展性、可重用性,表现出来很大的局限。

不过像PHP这样主要还是面向过程调用的函数式的语言来说,TP Monitor仍然可以支持的非常完美,由于有了TP Monitor的支持,PHP也可以应用在企业的环境中了。

我所知道的eachnet用的是:

1

Linux+Apache+PHP+Tuxedo+Oracle

eachnet在上海好几个ISP那里放了服务器,以保证服务不因某个ISP的问题而无法访问。我曾经见过eachnet在上海热线机房的服务器,说出来,大家可能不信,eachnet竟然用的是自己攒的兼容机,世纪之星的机箱,估计不比我们大家自己买的兼容机强到哪里去。大概有六七台机器的样子,来负载均衡。

对象请求代理(Object Request Brokers)是另一种用的很多的中间件,支持分布式对象的调用。然而它的问题是仅仅是一个代理(Broker),系统级的功能需要自己来实现,这包括管理并发性、事务、资源管理和容错机制等等,而且不同的厂商提供的ORB之间也存在互操作的兼容性问题。

于是一种综合了TP Monitor和ORB功能的新的服务器出现了,叫做CTM(Component Transaction Monitor)组件事务监控器。用在我们特定的管理应用程序的环境中就是App Server。

在1997年开始,CTM市场发生了巨大的变化,因为这一年Sun的J2EE标准正式发布,从此除了微软之外,所有的CTM厂商都用Java来改写自己的产品,例如Sybase原来有一个叫做Jagus CTS的东西,现在已经变成了纯Java实现的EAServer,Borland的公司app server也是这样来的。这样一来,除了微软之外,就剩下基于Java的app server了。

App Server可以自动管理并发性、事务、对象分布、负载均衡、安全性和资源管理等等系统级功能。简单的来说就是App Server是管理服务端组件的,它给服务端组件提供了一个全功能可靠的运行环境。

打个比方来说,数据库系统是管理数据的,它也给数据提供了一个受监控和管理的运行环境,提供了事务、安全性、负载均衡,并发性等等系统级功能,对于使用者来说,你不需要自己处理数据库表的并发锁定问题,自己处理SQL语句的解析、自己处理索引的优化等等系统级功能,同样对于服务端组件的调用者来说也不需要自己处理并发请求、对象创建、销毁、缓存,控制组件事务等等系统级功能。

App Server对服务端组件的的关系就是数据库系统对数据的关系。App Server完全是一个类似数据库系统这样一个非常复杂的服务端软件,所不同之处就是数据库系统(RDBMS)是管理数据的,而App Server是管理对象的。这也是我研究Weblogic Server之后的切身感受。

Microsoft是最早发布App Server的厂商,叫做Microsoft Transaction Server(MTS)。其他还有很多基于不同技术的App Server,不过随着EJB规范的发布,主流的App Server基本上都是基于J2EE的了。目前看来,App Server市场主要就是实现J2EE规范的Java应用服务器和Microsoft的.Net应用服务器这两大主流。

Tuxedo等基于过程传统的中间件会继续在特定的场合发挥巨大的作用,像那些需要极高的响应性能和基于特定平台C/C++的场合,还是具有不可替代的作用。

App Server提供的服务端组件模型并没有解决所有的问题,基于不同技术实现的服务端组件之间不能互相调用和数据共享,比如EJB组件和COM组件之间不能之间交换数据,所以基于SOAP协议的Web Services试图解决这个问题,想把互联网上所有的不同技术实现的组件服务都统一成单一的Web Services。这也是Web Services热门的原因之一,标准的统一对大家都有好处。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/397847.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-19
下一篇2023-05-19

发表评论

登录后才能评论

评论列表(0条)

    保存