• 0755-82538016
  • 0755-82560826
  • 深圳网站建设_APP小程序开发_博纳网络

    • 网站建设案例
      • ";

        营销网站建设

        全网营销网站

        高端网站建设

        商城网站建设

        外贸网站建设

        小程序开发

        区块链开发

        物联网项目开发

        定制app开发

        在线教育网站

        速成网站建设

        服装网站建设

        餐饮网站建设

        珠宝首饰网站

        机械制造网站

        文化旅游网站

        家装建材网站

        美容化妆品网站

        数码产品网站

        模板案例库

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 网站推广
      • ";

        网站优化基础

        建站优化

        网站优化

        营销推广

        整站优化

        推广帮助

        谷歌搜索

        推广方案

        推广套餐

        推广技巧

        百度排名

        巧用微博推广

        直播视频网站推广法

        微信推广网站方法

        网站外链推广

        公共微信号推广

        网站优化闲谈

        常见问题

        公司资讯

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 网站制作资讯
      • ";

        网站制作

        外贸网站建设

        网站设计

        网站代运营

        深圳网站建设专栏

        深圳小程序开发

        网站改版

        APP开发

        网站建设方案

        安全维护

        软件开发

        平台搭建

        建站行业资讯

        域名注册

        虚拟主机

        企业邮局

        国外主机

        VPS独享空间

        免备案香港服务器

        如何解析域名

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 网站报价
      • ";

        网站报价

        建站方案

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 公司动态
      • ";
        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 关注博纳
      • ";

        网站制作精英团队

        网站建设公司愿景

        公司介绍

        主营业务

        博纳文化

        加入博纳

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 联系我们
      • ";

        网站建设公司联系方式

        网站建设、网站制作公司乘车路线

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
      网站制作资讯

      当前位置:

        主页网站制作资讯APP开发APP项目开发怎样实现架构的单机部署?(二)

      APP项目开发怎样实现架构的单机部署?(二)

      发布时间:2018-12-07

      文章编辑:网站建设 文章来源:APP开发 浏览量:次

      APP项目开发怎样实现架构的单机部署?(二)
      APP项目开发架构单机部署方法,本文接上一篇未完部分继续与各位分享:
      1.为什么要加入负载均衡HLB?
        一般来说,只有在访问量达到一定的程度时,才需要使用负载均衡把请求分发到集群中的服务器,减轻单台服务器的压力。深圳APP开发公司认为这是因为UCloud的负载均衡ULB是免费的,在这个阶段提前使用负载均衡ULB,把外网的请求转发到云服务器,云服务器就不需要直接暴露在外网,增加整个架构的安全性,同时也不会增加额外的资金支出。
        开发人员需要连接云服务器的ssh服务,只需要在负载均衡ULB中把ssh端口的请求转发到云服务器的ssh端口,就能通过ssh操作云服务。 
      2.为什么一开始就使用Redis?
        因为Redis既能用作缓存,又能充当队列服务,使用同样的软件减轻运维的负担。同时其并发性能高,能在长时间内应对业务压力,非常适于初期的项目。在这个业务时期,Redis具有下面的作用。
      (1)验证用户信息
        在需要用户登录的App中,为了保持应用服务器的无状态,在需要验证用户信息的场景,每次App请求附带用户的信息来验证用户的状态,由于每次App的请求都要验证信息,这种访问频次非常高的用户信息行为应该在Redis中进行,如图10-12所示。
      (2)充当消息队列
        这个阶段架构的要求是极简化设计,但极简化设计不能牺牲用户体验,在App中,有个常见的响应时间比较长的功能需求:发送验证码用户注册的时候.App为了获取用户真实的社交关系,需要获取用户的手机号和手机通信录信息,获取手机号时为了验证手机号的真伪。要通过手机验证码验证手机号,但由于发送手机验证码只能通过第三方的短信发送平台发送,因此发送验证码功能有可能响应时间比较长。
        为了使发送手机验证码这个功能不影响API接口的响应时间,通常的做法是把发送验证码的功能放在消息队列中处理,在这里Redis充当消息队列的角色,如图10-13所示。
      3.架构中不包含文件服务
        文件服务作为App后台中使用得非常频繁的服务,在服务器中搭建文件服务有下面系列运维和开发成本。
      ·当容量不足时,要及时给文件系统扩容。
      ·图片的缩略、剪裁、水印等常见功能都需要研发。
      ·为了保证文件服务的高可用,最少需要两台文件服务器做互备。
      ·为了获得更快的文件上传和下载速度,需要更大的带宽,但带宽的成本非常高(视频网站的财务报表显示,带宽的支出占总收入的30%以上).为了提升用户体验投入这么多的资金不划算。开发人员在架构App后台、涉及文件服务的时候,都应该考虑以上的问题。
        APP开发公司同推崇的架构原则是,“尽量使用成熟可靠的云服务和开源软件,自身只专注于业务逻辑”,使用文件云存储服务后以上的问题都能解决。文件云存储服务有如下的优点。
      ·全网加速,根据使用场景选择最优的加速线路。
      ·云端数据处理,图片缩略、剪裁、水印等常见操作都能通过相应的API实现,无须再重复造轮子。
      ·安全存储,多机房互相备份,保证数据安全性。
      ·存储无上限、支持高并发访问。
      ·按下载量计费的付费模式更加灵活,节省更多的流动资金。
      因此博纳网络认为应该把搭建文件服务器这块从架构中移除,直接使用文件云存储服务,让研发人员投入更多的精力在业务上。
        在这个阶段追求的是快速搭建后台架构,在图10-12的架构中,如果团队的开发语言是以PHP为主,那么相应的架构可以是Ngiux+PHP+Redis+MySQL这个经典的组合。大量的初学者不知道怎样在服务器上快速安装并配置这个环境,根据APP开发公司工程师的观察,大部分的做法是从网络上搜索这些软件对应的安装敦程(大多数是教编译安装的方法),一步步对照着教程安装相应的软件,如果中选出现了和教程中不符合的现象,又是长时间的搜索,效率非常低。APP开发公司博纳网络以CentOS系统为例,列举四种快速安装Nginx+PHP+Redis+MySQLi的方法。
      (1)使用yum i nstall命令,很快就能把Nginx+PHP+Redis+MySQL环境安装完。但这种方法不推荐,因为这种方法安装的软件无法配置具体的编译参数,太多不可控的因素。
      (2)在使用云服务器提供的镜像市场中选择镜像安装。
      在UCloud中,当创建一台云主机的时候,可以从镜像市场中选择一个配置好基础环境的镜像创建服务器,如图l0-14所示。
      这种方式也是不推荐的,理由和(1)一样,安装的软件无法配置具体的编译参数,太多不可控的因素。
      (3)使用一键安装包
        网络上有很多一键安装包,只要输入相应的软件版本和安装路径后,能很方便地安装相应的软件,例如lnmp一键安装包(http://www.lnmp.org)和ezhttp一键安装包(https://github.com/centos-bz/ezhttp)。如果安装某个软件需要修改其编译参数,则查找安装脚本对应的部分修改就行。
        这个阶段的项目,一般都是由开发人员来当运维人员,这类键安装包就是帮开发者处理了常见软件的安装、配置和优化工作,搭建了大体框架,开发者如果有特殊的需求则在其基础上修改就行了,减少了运维上的负担,使用起来非常方便。
        需要注意的是一键安装包为了通用性,会在系统中安装很多软件,但未必所有软件都是开发者所需要的,因此为了保证安全性,APP开发者在安装脚本执行完毕后还要关闭所有不需要的服务,在防火墙中严格控制允许访问的端口。
        Docker是用于统开发和部署的轻量级Linux容器,让开发者打包其应用及相关的依赖包到个可移植的容器中,再发布到生产环境通过Docker能保证开发者机器和生产服务器上的软件环境是一致的。
        新浪微博等IT公司也在培养开发人员用Docker部署环境,这种部署方式是未来的方向,虽然在观阶段存在较高的学习成本。在这阶段,随着业务的发展,云服务器的性能慢慢不能应对增长的访问量,这时就有两种升级选择。
      ·硬件升级( scale up)
      ·独立部署、集群或分布式(scale out)
      在这个阶段,APP开发公司认为应该是优先选择硬件升级(scale up)的方案,通过升级相应硬件(CPU、内存、带宽等)来解决性能问题
      优先使用硬件升级(scale up)有下面几点原因。
      ·云服务器升级硬件非常方便,在控制台选择相应的配置、付款、重启云服务器,5分钟不用就完成升级。
      ·如果选择独立部署、集群或分布式(scale out).需要额外的运维成本。这是个野蛮生长的时期,产品处于不断摸索的阶段,开发人员应该把精力专注于业务和打磨产品上,尽量保持极简化架构,不应该花费太多的精力在运维。
        由于每个App的业务不样,可能某些App后台把硬件配置升级到极限电没法应付访问量上的压力,这时就要根据具体的业务情况选择独立部署、集群或分布式(scale o ut)这些架构升级的方案。而这些方案中,独立部署是成本最低的,集群或分布式的成本较高,优先考虑低成本的升级方案。
      这个阶段的总结如下
      ·优先考虑使用云服务和熟悉的开源软件,降低人力和时间成本
      ·重视迭代速度,避免过度设计,务必先让后台能用。
      ·优先考虑硬件升级(scale up)。好了,APP开发公司本文关“APP项目开发怎样实现架构的单机部署?”全文分享完毕,希望能给您APP规划设计工作有所帮助,谢谢关注,博纳网络编辑整理。

      当前文章链接:/construction/appkaifa/1881.html
      上一篇:APP开发用什么样的技术实现APP架构 下一篇:APP项目开发怎样实现架构的单机部署?(一)
      返回列表
      如果您觉得案例还不错请帮忙分享:

      [声明]本网转载网络媒体稿件是为了传播更多的信息,此类稿件不代表本网观点,本网不承担此类稿件侵权行为的连带责任。故此,如果您发现本网站的内容侵犯了您的版权,请您的相关内容发至此邮箱【qin@198bona.com 】,我们在确认后,会立即删除,保证您的版权。

      相关案例推荐

      • 端木偲家装饰设计网站制作案例

        端木偲家装饰设计网站制作案例

        装饰/设计

        端木偲家装饰设计网站制作案例

      • 温馨家居装饰设计网站制作案例

        温馨家居装饰设计网站制作案例

        装饰/设计

        温馨家居装饰设计网站制作案例

      • 诺曼卡传媒摄影行业网站建设作案例

        诺曼卡传媒摄影行业网站建设作案例

        行业网站

        诺曼卡传媒摄影行业网站建设作案例

      资讯分类

      • 网站制作
      • 外贸网站建设
      • 网站设计
      • 网站代运营
      • 深圳网站建设专栏
      • 深圳小程序开发
      • 网站改版
      • APP开发
      • 网站建设方案
      • 安全维护
      • 软件开发
      • 平台搭建
      • 建站行业资讯
      • 域名注册
      • 虚拟主机
      • 企业邮局
      • 国外主机
      • VPS独享空间
      • 免备案香港服务器
      • 如何解析域名

      最新发布

      • 社区APP开发上线后影响用户使用的粘性有哪些?
      • 为什么说大健产业O2OAPP开发潜力无限
      • 网络公司对社区O2OAPP开发基本认识
      • 工业4.0时代怎样做好一个APP的开发工作?
      • APP开发公司分析APP应用开发下一个巨头在哪些领域?
      • APP电子商务平台开发前景如何?
      • 社交类型APP开发需要具备的五个必要条件
      • 社交类型APP平台开发使用小程序还是APP模式好?
      • 使用HTML语言开发APP商城可以吗?
      • 社区O2OAPP开发的方向选择

      相关资讯

      • APP网站制作流程以及栏目分布
      • 企业网站优化人员面对搜索引擎的困惑
      • 企业门户网站如何做好针对搜索引擎的优化工作
      • APP/PC购物商城网站如何做好产品图片的优化技巧
      • 网站软文内容以及网站外链存在的几种形式对网站有多大影响
      • 如何做好网站软文标题的描述更适合搜索引擎的需要?
      • 网站建设好后期出现被搜索引擎降权的几个主要因素
      • 小程序开发制作前途取决于市场,别被您的同行抢了先机
      • APP开发公司提醒您关注:电商平台要求商家“二选一”引多方不满 专家提建议
      • APP为什么会在我们的手机界面上变成僵尸图标?

      热门搜索

      • 网站建设
      • 网站制作费用
      • app网站建设
      • 网站建设公司
      • 网站优化
      • 企业网站建设
      • 网页设计
      • 公司网站制作
      • tP外包
      • 网站设计

      Copyright © 2021 博纳网络 版权所有  粤ICP备17054727号

      • 🏠

        首页

      • 💬

        咨询

      • 📞

        通话

      • 📂

        案例

      • ⬆

        返回