9.app后端选择什么服务器】的更多相关文章

对于很多刚入行的朋友来说,不清楚应该选择什么样的服务器提供商,是选择传统的IDC, 租用服务器租用机柜,还是选择现在很火的云服务器呢?在本文中,通过对比传统的IDC和云服务,简单阐述一下服务器的选择. 1.是选择传统的IDC还是云服务? 在app领域,经常会出现应用爆发的情况.如果真的出现了应用爆发,为了应对爆发的压力,最简单的方法就是升级服务器的硬件,加cpu啊,加内存. 在传统的IDC,要加cpu或内存,流程如下: 1.和客户经理商商谈所需硬件的价格 2.汇款过去,等IDC的财务确认 3.确…
现在,聊天功能已经成了社交app的标配了.但是,众多web开发出生的程序员对聊天相关的服务的不了解,带来了很多开发上的困扰.在这篇文章中,根据下面3个方面,谈谈聊天服务. 1.      聊天服务的技术选型 2.      开发社交app中,实现聊天服务踩过的坑 3.      那些著名app的聊天服务 1. 聊天服务的技术选型 需要开发聊天服务,首先要选择用到的协议,现在,常用的聊天协议有: (1)      xmpp,一个基于xml的消息协议,被广泛应用于Gtalk,Facebook,但缺点…
在qq上,经常看到有创业团队的创始人一直都招不到技术人员,除了项目的因素外,很大的原因就是所需要掌握的开发语言偏门.通过阅读本文,详细了解选择开发语言的核心原则,使各位心里对开发语言的选择更加有数. 选择开发语言就一个核心原则:在合适的业务场景的情况下选择最热门的语言. (1)每种语言都有自己擅长的业务场景,根据业务场景来选择 例如,如果需要开发一个聊天服务器,选择了php来开发,那真的醉了.php这种脚本语言怎么适合聊天服务? 例如,如果是开发web网站,php就很合适,比起java,效率提升…
特此说明,我转载的!!! app后端设计(1)--api app后端设计(2)--xmpp的使用 app后端设计(3)--短信,邮件,推送服务 app后端设计(4)-- 通讯的安全性 app后端设计(5)-- 表情的处理 app后端设计(6)-- LBS app后端设计(7)-- 项目管理 app后端设计(8)-- 数据库分表 app后端设计(9)-- 动态通知 app后端设计(10)--数据增量更新 app后端设计(11)-- 系统架构 app后端设计(12)--图片的处理 app后端设计(1…
做了3年app相关的系统架构,api设计,先后在3个创业公司中工作,经历过手机网页端,android客户端,iphone客户端,现就职于app云后端平台bmob(想了解bmob点击这里).其中的乐与苦,得与失,仰首问天有谁知?我觉得是时候来个总结,把相关的技术和心得记录下来. app后端设计(1)--api app后端设计(2)--xmpp的使用 app后端设计(3)--短信,邮件,推送服务 app后端设计(4)-- 通讯的安全性 app后端设计(5)-- 表情的处理 app后端设计(6)--…
版权声明:本文为博主原创文章,未经博主允许不得转载. 做了3年app相关的系统架构,api设计,先后在3个创业公司中工作,经历过手机网页端,Android客户端,iphone客户端,现就职于app云后端平台bmob(想了解bmob点击这里).其中的乐与苦,得与失,仰首问天有谁知?我觉得是时候来个总结,把相关的技术和心得记录下来. app后端设计(1)--api app后端设计(2)--xmpp的使用 app后端设计(3)--短信,邮件,推送服务 app后端设计(4)-- 通讯的安全性 app后端…
转自:http://blog.csdn.net/newjueqi/article/details/44003503 app后端的开发中,经常要面临的一个问题是:数据放在哪里? mysql ?redis?mongodb? 现在有这么多优秀的开源数据库产品,怎么根据业务场景来选择合适的数据? 常用的数据库产品的优缺点又是什么呢? 通过阅读这篇文章,能帮你解决以上的疑惑,使你在碰到数据存储选择问题时思路更清晰. 1. redis,mongodb,mysql存储数据的区别 数据,就涉及读和写这两个问题.…
app后端的开发中,经常要面临的一个问题是:数据放在哪里? mysql ?redis?mongodb? 现在有这么多优秀的开源数据库产品,怎么根据业务场景来选择合适的数据? 常用的数据库产品的优缺点又是什么呢? 通过阅读这篇文章,能帮你解决以上的疑惑,使你在碰到数据存储选择问题时思路更清晰. 1. redis,mongodb,mysql存储数据的区别 数据,就涉及读和写这两个问题.出于性能的考虑,当然希望读和写的速度越快越好. 计算机中,数据一般都放在内存或硬盘,众所周知,内存的读写速度比硬盘快…
性能测试day07_性能瓶颈和分析 https://www.cnblogs.com/leixiaobai/p/9463748.html 其实如果之前都做的很到位的话,那么再加上APM工具(dynaTrace等),监控到非常细节,那么我们跑一个业务,我们就能完全清楚的知道每个请求的时间,也能知道请求所产生sql的时间,这样你自然而然都知道时间耗在哪里了,直接就能去调节时间消耗最多的请求了. 对于系统调优分为前后端调优,前端之前有一篇专门讲过,现在有些项目用的是胖前端(前端带有数据库,请求数据不请求…
基于阿里云服务器端环境搭建 文章目录 基于阿里云服务器端环境搭建 配置开发环境 安装 Python 3.8.2 安装 Tornado 安装 MySQL 安装 mysqlclient 安装 SQLAlchemy 简单记录 - 掘金 基于 Python 轻松自建 App 服务器 目标是搭建一款简洁.高效,并能快速部署及上手的 App 后端服务器. 先环境搭建. 配置开发环境 基于阿里云的服务器端环境搭建 开发环境需要安装如下软件:Python 3.Tornado.MySQL 和 SQLAlchemy…
app上线后,不断接受用户的反馈,于是,反馈非常差的情况下,都会有app的改版. 一旦app的改版,都会有比较大的UI改动,一改动UI,那么图片的尺寸也就必须要改变. 在app后端设计(1)—api(http://blog.csdn.net/newjueqi/article/details/14053733)这篇文章中,我提到过app后台图片处理的一个基本原则,数据库中只保存原图的路径.对于同一张图片来说,针对不同机型,不同app版本所需要的不同尺寸,使用动态生成的策略,大体思路如下: (1) …
app 后端技术 一直以来工作的方向是web server,对app server没有什么了解.虽然没有接触过移动app开发,但对app后端技术还是挺有探索欲望的,app应用和web应用在前端的用户习惯不同,相信后端也会有很多不太一样的地方.开此文记录一些网上收集到的app后端技术体系,以备了解. 下面就app server在业务设计上通常需要考虑的几个方面: 1.api风格 如何设计一套合理且优雅的api接口集,可以参考Restful分格: api采用http(s)协议与前端通信: 每个uri…
此文章只将思想,不提供具体完整实现(博主太懒,懒得整理),有疑问或想了解的可以私信或评论 背景 在传统的java web 中小型项目中,一般使用session暂存会话信息,比如登录者的身份信息等.此机制是借用http的cookie机制实现,但是对于app来说每次请求都保存并共享cookie信息比较麻烦,并且传统的session对集群并不友好,所以一般app后端服务都使用token来区分用户登录信息. j2ee的session机制大家都很了解,使用非常方便,在传统java web应用中很好用,但是…
在app中有时候是需要添加聊天服务,在这里谈谈曾经开发聊天服务的经验: (1)聊天服务端选的openfire,这是一个基于xmpp协议的聊天服务器(XMPP是一种基于XML的协议,它继承了在XML环境中灵活的发展性.因此,基于XMPP的应用具有超强的可扩展性.经过扩展以后的XMPP可以通过发送扩展的信息来处理用户的需求,以及在XMPP的顶端建立如内容发布系统和基于地址的服务等应用程序.而且,XMPP包含了针对服务器端的软件协议,使之能与另一个进行通话,这使得开发者更容易建立客户应用程序或给一个配…
个人认为,在小型的创业团队中,特别是以应用产品为主,在架构后台的时候,需要集中精力解决自身业务上的问题,不是花时间解决第三方已经解决的问题,简单点来说,就是能用第三方服务就使用第三方的服务.基于这个原则,就有了下面的系统架构: 1. apns:由于在apns中,无效的token会导致连接apns连接的失效从而使apns信息丢失.解决的方案是维护发送队列,当apns服务器返回错误的token后,把这个错误token后的消息重发.第三方推送很好了实现了这个技术方案,我们选择了百度云推送. 2. em…
在app的后端设计中,免不了消息的推送,短信,邮件等服务,下面就个人的开发经验谈谈这方面. (1)最重要的是,各种推送一定要放在队列系统中处理,不然会严重影响api的响应时间. (2)短信方面 以前我们是用亿美软通的短信服务,但在三大运营商收紧了短信服务后,亿美软通的短信延迟非常厉害,后来我们找到了这家短信服务商 http://luosimao.com,这家发送短信到联通,电信,移动手机很快就到了(直到2014.01.24). 如果发送到移动的短信还没有改善,最后的后备方案:发送到联通,电信的短…
现在app展现内容的形式多种多样的,有文字,图片,声音,视频等等,其中文件占了一个很大的比重.随着app不断运营,文件会越来越多,占用的磁盘空间也不断增大,架设一套高效的文件系统,对于整个app架构有着巨大的影响. 1.    如果可能,使用成熟的文件云存储服务 对于创业公司来说,我一直推崇的架构原则是"尽量使用成熟的第三方服务和软件,自己只负责业务逻辑". 架设文件系统,需要牵涉到文件的分布式存储,图片水印,图片缩放,还有CDN等方面,每方面都能耗费掉巨大的开发成本和运维成本. 对于…
刚刚接触app后端,是做完adidas中国的官方商城的时候,那时不清楚app后端应该怎么架构,只能摸着石头过河,网络上只有一些零散的资料,遇到问题,只能不断地搜索,思考,务必找到解决问题的方法. 在从事app后端的3年里,亲手打造了两款社交app,现在也在日pv过亿的云端平台里从事研发工作,慢慢地对app后端的架构有了一些体会. 把自己的工作笔记发表在CSDN博客专栏"app后端技术架构"发表后,收到了很多网友的反馈,后来为了方便交流,就创建了"app后端技术"qq…
在新浪微博的app中,从别的页面进入主页,在没有网络的情况下,首页中的已经收到的微博还是能显示的,这显然是把相关的数据存储在app本地. 使用数据的app本地存储,能减少网络的流量,同时极大提高了用户的体验(想想,很多数据都能在app本地获取,显示的速度当然快).使用了本地存储后,需要考虑的是数据的增量更新方案. 什么是数据的增量更新?假设,用户A的首页在数据表中是有40条数据,id1-40,app每次获取10条数据.第一次运行,app从数据表获取了id1-10条数据同时存储在本地.假设用户离开…
在新浪微博的app中,从别的页面进入主页,在没有网络的情况下,首页中的已经收到的微博还是能显示的,这显然是把相关的数据存储在app本地. 使用数据的app本地存储,能减少网络的流量,同时极大提高了用户的体验(想想,很多数据都能在app本地获取,显示的速度当然快).使用了本地存储后,需要考虑的是数据的增量更新方案. 什么是数据的增量更新?假设,用户A的首页在数据表中是有40条数据,id1-40,app每次获取10条数据.第一次运行,app从数据表获取了id1-10条数据同时存储在本地.假设用户离开…
在app中,例如在通知界面,当新通知的时候,需要显示有多少条通知,用户点击"获取新通知"后,就能看到新的通知. 那么在app端,怎么才能知道有多少条新通知? 实现的技术有两种: 1. polling: app定时查询 2. push:服务器实时推送给app polling就是app每隔一段时间向服务器查询,获取新通知.这种方法很容易实现,但在app端缺点也很明显: 1. 无论有没有数据,都需要查询,增加了服务器的负担. 2. 发送请求消耗手机的流量和电量. 更好的实现方式是push,即…
当项目上线后,随着用户的增长,有些数据表的规模会以几何级增长,当数据达到一定规模的时候(例如100万条),查询,读取性能就下降得很厉害,这时,我们就要考虑分表. 更新表数据时会导致索引更新,当单表数据量很大时这个过程比较耗时,这就是为什么对大表进行新增操作会比较慢的原因,并且更新表数据会进行表级锁或者行锁,这样就导致其他操作等待. 所以我们将大表拆分为多个子表,那么在更新或者查询数据的时候,压力会分散到不同的表上.由于分表之后每个表的数据较小,不管是查询还是更新都极大的提高了速度,即使出现最坏的…
移动互联网行业是个快速发展的行业,需求不断变化,产品更新快.基于移动互联网的以上特点,在开发产品的过程中,我们放弃了传统的瀑布流开发模型,引入了精益的理念和scrum这个敏捷开发框架,下面谈谈实施过程中的一些经验. scrum简介:Scrum是一个敏捷开发框架,是一个增量的.迭代的开发过程.在这个框架中,整个开发周期包括若干个小的跌代周期,每个小的的跌代周期称为一个Sprint,每个Sprint的建议长度2到4周.在Scrum中,使用产品Backlog来管理产品或项目的需求,产品backlog是…
在app的后台设计中,一个很重要的因素是考虑通讯的安全性. 因此,我们需要考虑的要点有: 1. 在app和后台,都不能保存任何用户密码的明文 2. 在app和后台通讯的过程中,怎么保证用户信息的安全性 在app中,根据安全考虑,用户的操作分为两类: 1. 用户登录注册操作 2. 用户的其他操作 在第一点,用户登录注册操作中,是会出现用户密码,所以在这个过程中,必须要使用https通讯,保证通讯的安全. 在第二点,用户的其他操作,怎么保证这部分通讯的安全呢? 在我的设计中,是采用了公钥加私钥保证安…
现在人们的网络生活已经离不开搜索了,遇到不懂的问题,想知道的事情,搜索一下,就知道答案. 在app中,最常见的搜索情景就是搜索用户.只有几百,几千的用户量时,可以直接用用like这样的模糊查询,但是,如果数据有几百万,甚至上千万的时候,一次like查询数据库就堵了.到了一定量级的时候,不得不考虑使用专门的搜索技术. 1.    一个简单的搜索例子 有三行数据: (1)近2周8成股民亏损超10%. (2)满仓中国梦. (3)股民两天亏一套三居. 例如,有个需求,从上面的3行数据中,把包含"股民&q…
在当前的app应用中,到处都能看到视频的身影,例如,在社交类的app上,用户可以拍摄属于自己的小视频,并发布到相应得栏目,增加和好友们互动的机会. 后台常见的视频处理有以下几种: ·          视频的截图,很多视频列表上显示的一张图片,这张图片就是通过截取视频的某一帧(通常是第一帧)得到的. ·          视频加水印,出于版权保护的目的,需要添加水印. ·          视频转码,允许用户上传手机上的视频,并转换为app后端支持的格式. 视频的处理对于大多数程序员来说是个很陌…
推送服务已经是app的标配了.架设推送服务,除了可以使用第三方服务商外,也有大量的开源技术可以选择. 现在推送主要分两块,android推送和ios推送,在下面分别论述: 1.    Android推送 Android手机由于没有系统的限制,当app进入了后台后,也能运行服务,所以android的推送可以基于长连接,这就注定了android的推送服务器和一般的app后端是不一样,技术细节上,架构上也不一样,幸好,现在有大量的开源软件可以轻松地实现推送. 下面深入研究过的开源推送软件:gopush…
在app的主页或通知栏,经常需要通过api取最新的数据.那么,怎么在这部分上做优化,使获取内容的效率更高呢?在本文中,通过推拉和增量更新,实现了一种高效获取数据的策略. 1.高效更新数据策略在app中的应用场景 如图所示,在app首页,经常会有这种瀑布流形式的内容,具体可参考新浪微博的app. 这种内容有以下的特点: 1.      用户访问的频次好(首页一般都经常访问) 2.      看上去数据量很大 那么,怎么获取才能高效获取这种首页数据呢? 高效的关键是两点: 1.      降低访问的…
移动互联网,除了一直在线这个特点外,还有一个重要特点,能定位到手机的位置.查找附近的人,附近的餐馆等服务,以及大量的o2o应用, 都需要使用LBS(Location Based Services).那么,如何用户的地理坐标?如何去查找所需的附近的数据呢?在这篇文章中,为你一一道来. 1.如何获取用户的地理坐标 现在,基于手机来获取用户的地理坐标,主要是下面两种方法: (1)使用手机上的GPS模块 (2)使用手机网络所连接的基站定位 一般是使用第一种方法,当手机上没有GPS模块,就用第二种方法来定…
在上文<16.app后端如何保证通讯安全--url签名>提到,url签名有两个缺点,这两个缺点,如果使用对称加密方法的话,则完全可以避免这两个缺点.在本文中,会介绍对称加密的具体原理,和详细的方案,使app通讯更加安全. 1.对称加密的原理 采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密. 其实很简单,假设有原始数据"1000", 把1000加5就得到密文"1005",得到密文"1…