如何设计一个优秀的移动端接口服务器

如何设计一个优秀的移动端接口服务器,第1张

下面简单介绍一种或许可行的方案,仅供参考

------------------------

1)默认要有一个版本更新接口

告诉客户端当前版本是否还在兼容范围内,假如不是,强制升级。(假如还可以用且不是最新,建议升级)

2)接口多版本并存规则

同一个业务接口,可能存在多个版本。

如 购物下单,可能由于业务需求的变更,导致存在着 1.0 / 2.0 / …… 等多个接口

[version] //默认版本

public void Order()

[version(1.2)] //1.2版本

public void Order()

[version(2.0-3.4)] // 2.0-3.4版本

public void Order()

多版本管理,特殊版本则调用特殊方法,不存在特殊版本/不在特殊版本内,则调用通用方法。

假如是未来那个版本做大变更了(将成为通用版本),那么无外乎就是把主/特殊 对调一下

[version] //默认版本

public void Order()

[version(1.0-1.1)] //1.0-1.1版本

public void Order()

[version(1.2)] //1.2版本

public void Order()

3)给客户端分配版本号并管理好

调用方式可以类似所有请求加版本号,从原来的 http://url/…… 变更为 http://url/v1.0/…… 表示当期客户端用的是 1.0版本接口

4)其他说明

这个方案需要关注的是,客户端对接口版本调用的对应关系的管理。

 1、超大规模 “云”具有相当的规模,Google云计算已经拥有100多万台服务器,亚马逊、IBM、微软和Yahoo等公司的“云”均拥有几十万台服务器。“云”能赋予用户前所未有的计算能力。

2、虚拟化 云计算支持用户在任意位置使用各种终端获取服务。所请求的资源来自“云”,而不是固定的有形的实体。应用在“云”中某处运行,但实际上用户无需了解应用运行的具体位置,只需要一台笔记本或一个PDA,就可以通过网络服务来获取各种能力超强的服务。

3、高可靠性 “云”使用了数据多副本容错、计算节点同构可互换等措施来保障服务的高可靠性,使用云计算比使用本地计算机更加可靠。

4、通用性 云计算不针对特定的应用,在“云”的支撑下可以构造出于变万化的应用,同一片“云”可以同时支撑不同的应用运行。

5、高可伸缩性 “云”的规模可以动态伸缩,满足应用和用户规模增长的需要。

6、按需服务 “云”是一个庞大的资源池,用户按需购买,像自来水、电和煤气那样计费。

7、极其廉价 “云”的特殊容错措施使得可以采用极其廉价的节点来构成云“云”的自动化管理使数据中心管理成本大幅降低“云”的公用性和通用性使资源的利用率大幅提升“云”设施可以建在电力资源丰富的地区,从而大幅降低能源成本。

云计算对服务器的要求

在了解了云计算之后,我们再说回云计算服务器,现在对于云计算服务器没有一个明确的定义,也没有一个统一的标准。与传统服务器相比,传统服务器中,包含处理器摸块、存储模块、网络模块、电源、风扇等设备。

云服务器关注的是高性能吞吐量计算能力,关注的是在一段时间内的工作最总和。因此,云服务器在架构上和传统的服务器有着很大的区别。

架构上,云服务器体系架构包含云处理器模块、网络处理模块、存储处理模块与系统件理模块等。这种架构的优势使得云服务器可以大大提高了利用率,采用多个云处理器完成系统设计,引入低功耗管理理念完成对系统的集中冗余管理,同时在系统中省去了很多重复的硬件。

云服务器一般包括线程、核、处理器、网络、加速器等功能单元全部计算的总和。因此,云计算一般都有着庞大的数据输入量或海量的工作集。那么服务器应该具备哪些能力呢,我们详细的来说一说。

高密度

高密度低成本基本上已经是云服务器的基本要求了,按照云计算中心本身的特点,云服务器应该和云计算中心高密度、低功耗、低成本的特点相符,即主要面向大规模部署的云应用。高密度服务器能够减少延迟、提高反应速度。目前高密度服务器主要分为多路机架和刀片服务器。

虚拟化

服务器虚拟化的能力,可以说直接影响云计算的效果。由于服务器虚拟化技术实现了将高负载节点中的某些虚拟机实时迁移到低负载的节点,把多个低负载的虚拟机合并到一个物理节点,并将多余的空闲物理节点关闭,以提高资源的使用效率,使负载达到均衡,从而使上层应用的性能得到了保障,同时还达到了减少能耗的目的。

因此云计算利用服务器虚拟化技术可实现对虚拟机的部署和配置,通过对虚拟机的快速部署和实时迁移能大大提高系统的效能,还可通过对虚拟机资源的调整来实现软件系统的可伸缩性,确保系统能迅速从故障中恢复并继续提供服务,提高了系统的可靠性与稳定性。所以在购买云服务器的时候,服务器硬件虚拟化的支持程度是考量服务器的一个重要因素。

横向扩展

根据云计算的第一个特点“超大规模”来说,云计算服务器的横向扩展能力就变得至关重要,目前英特尔已经推出了横向扩展的存储解决方案,结合英特尔的硬件,可以对这种大量的文件访问提供更高数据库和更好的可扩展性,而英特尔万兆网卡可以结合英特尔虚拟化技术,为整个云计算的中心提供更高效、更安全以及更简化的方式,保证了云数据中心的灵活性。

并行计算

云计算在某种形式上来说就是分布式计算、并行计算、网格计算等一脉相传的技术路线,从概念上来说,可以把云计算看成是“存储云”+“计算云”的有机结合,而计算云就是指并行计算,因此,云计算的基础架构首先是要确保能实现并行计算。

总结:

综上所述云计算对于服务器本身的性能要求不是很高,但对于服务器的结构灵活性上来说有一定的要求,另一方面就是对于服务器的计算密度、虚拟化能力、以及是否能够实现并行计算的能力这几方面要注重的去考虑,所以我们再去挑选服务器的时候,结合上述的四点要求去做,以做到事半功倍的效果。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存