【成功案例】路路Guide——在风起亚洲云平台上轻松扩建App

2024-03-22 04:10

本文主要是介绍【成功案例】路路Guide——在风起亚洲云平台上轻松扩建App,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文介绍了香港「路路Guide」网站(http://rrg.com.hk)在风起亚洲云平台(http://www.fengqi.asia/cn)上的移植及相关情况。


Google Map提供的古怪路线一直是大家茶余饭后的话题,从神秘小径至疯狂渡海泳一应俱全。为了安全起见,笔者一直使用朋友开发的「路路Guide」 (rrg.com.hk) 。除了更准确的路线规划外,时间、车资亦都一并俱全,帮助市民找出最平最快的乘车路线。


「路路Guide」每月约有两万独立用户使用,在高峰时更达每小时400人次。随着「路路Guide」越来越受欢迎,朋友亦遇到了两个问题﹕

1)     为了应付短期的大量人流,网站配备了更多的硬件 (包括额外的内存及处理器),而这些额外的配置在一般流量时却白白浪费了﹔

2)     突如其来的浏览量较难估计,有时连额外的资源也不敷应用,做成网站速度过慢,以致用户流失。

 

参考过无数意见,「路路Guide」团队希望利用云端计算技术解决上述的两个问题。他们比较了最广为业界熟识的两大云计算平台,却发现如果把网站迁移到这两大云平台上,问题很难得到大幅的改善

1) 虚拟机 (Virtual Machine)的性能并不理想,相信是把大量资源浪费了在虚拟化的缘故

2) 每样服务亦要额外收费 (如带宽,云端储存空间),算起来每月营运成本有增无减。

 

工程团队后来发现美国LinkedIn社交网站及Kabam的在线游戏并没有架设在这两大云平台上,而是设立在一个叫Joyent(http://www.joyent.com)的云平台上,其主要的优点正正解决了上述的两个问题:

1)     Lean Virtualization – 相比其他云平台,Joyent的虚拟化技术只需使用服务器中的1GB RAM来作全机的虚拟化分割,如果服务器有48GBR AM,则1GBRAM会用来作系统虚拟化,其余的47GB会留给虚拟机使用,大大减少了虚拟化过程中的浪费,并把用户的资源放在应用服务上而非虚拟化上。

2)     CPU Bursting – Joyent技术能处理突发的工作增幅,例如一台双核的虚拟机遇上突如其来的访问量,当两个处理器核心超出负荷,Joyent技术会自动调配服务器上有剩余处理能力的核心处理额外工作。

 

虽然Joyent技术有以上两点好处,不过服务器却在美国,由于「路路Guide」的主要用户是在香港,工程团队希望服务器能设置在香港本地。幸好,Joyent已授权风起亚洲 (Fengqi.Asia) 使用其技术,在香港,北京及广州架设云平台,并且提供大中华区的技术支持。

Fengqi.Asia为「路路Guide」提供了一个JoyentSmartMachine作测试,在大量请求的情况下,Fengqi.Asia可以支持多3倍用户。在100个同时在线请求下,最大的全页下时间为3.5秒,比旧配置快2.5


经过个多月的测试,「路路Guide」正式在风起亚洲上线,「路路Guide」只是选用了足够应付日常流量的系统设定,峰值浏览量的处理交给了云平台,满足了用户的要求,亦减省了营运成本。

 

以下是移植网站的主要步骤:

 

第1步: 选择合适的SmartMachine / VirtualMachine及系统要求 (如: 8GB RAM, 160GBStorage, SmartOS)


第2步: 设定Public and Private Keys 及远程联机登入

 

第3步: 安装应用软件

在SmartOSConsole中:

  • 用“pkgin list”查看可直接安装的软件清单
  • 用pkgin command安装合适的软件,例如: “pkgin install apache”
  • 复制网站档案至document root /home/httpd/


若想免费试用风起亚洲云平台,可访问:http://www.fengqi.asia/cn/quick-start.html

联科集团(http://www.clustertech.com/cn/)是风起亚洲云的技术服务提供商。

任何问题(技术或者商务)可以联系我 Michael Chen :michaelchen@clustertech.com

这篇关于【成功案例】路路Guide——在风起亚洲云平台上轻松扩建App的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/834491

相关文章

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

macOS无效Launchpad图标轻松删除的4 种实用方法

《macOS无效Launchpad图标轻松删除的4种实用方法》mac中不在appstore上下载的应用经常在删除后它的图标还残留在launchpad中,并且长按图标也不会出现删除符号,下面解决这个问... 在 MACOS 上,Launchpad(也就是「启动台」)是一个便捷的 App 启动工具。但有时候,应

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式

MySQL中实现多表查询的操作方法(配sql+实操图+案例巩固 通俗易懂版)

《MySQL中实现多表查询的操作方法(配sql+实操图+案例巩固通俗易懂版)》本文主要讲解了MySQL中的多表查询,包括子查询、笛卡尔积、自连接、多表查询的实现方法以及多列子查询等,通过实际例子和操... 目录复合查询1. 回顾查询基本操作group by 分组having1. 显示部门号为10的部门名,员

Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)

《Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)》本文介绍了如何使用Python和Selenium结合ddddocr库实现图片验证码的识别和点击功能,感兴趣的朋友一起看... 目录1.获取图片2.目标识别3.背景坐标识别3.1 ddddocr3.2 打码平台4.坐标点击5.图

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

Go Mongox轻松实现MongoDB的时间字段自动填充

《GoMongox轻松实现MongoDB的时间字段自动填充》这篇文章主要为大家详细介绍了Go语言如何使用mongox库,在插入和更新数据时自动填充时间字段,从而提升开发效率并减少重复代码,需要的可以... 目录前言时间字段填充规则Mongox 的安装使用 Mongox 进行插入操作使用 Mongox 进行更

SpringBoot实现动态插拔的AOP的完整案例

《SpringBoot实现动态插拔的AOP的完整案例》在现代软件开发中,面向切面编程(AOP)是一种非常重要的技术,能够有效实现日志记录、安全控制、性能监控等横切关注点的分离,在传统的AOP实现中,切... 目录引言一、AOP 概述1.1 什么是 AOP1.2 AOP 的典型应用场景1.3 为什么需要动态插