• 我的物联网项目(三)平台架构


    介绍下目前整个软件开发团队的配套成员

    技能

    人数

    android

    1

    ios

    1

    前端

    1

    美工

    1

    java

    2

    以上就是我们这个项目的人员搭配,我除了项目上的管理,更多的是在做业务需求,系统架构,平台建设,然后也顶多算半个开发人员参与在写代码。

    一 系统架构

    从前面的业务需求描述,到现在的人员配置,再加上时间进度上要求二个月出产品,在技术架构选型上基本首先考虑到是单体模式架构,采用传统的MVC开发模式,java开发人员是整个项目的核心担当,项目管理使用maven,运营平台UI采用的是容易上手的jquery easyui,后台采用的是springMVC+mybatis,数据库毫无疑问用的是mysql,app用的是原生语言开发,微信前端页面由美工设计(包括app),前端切图成html,交给java开发,整个分工大概就这样。

    项目结构如下:

    项目名 描述
    orange-parent 定义整个项目基本群的基本信息,依赖插件信息,以及自定义信息
    orange-framework 定义spring curd,rest服务,MVC等基类和模板
    orange-core 核心项目(dao,entity,mapper)
    orange-utils 丰富的常用工具包
    orange-redis 分布式缓存redis组件
    orange-serviceweb 业务接口,主要对接app
    orange-wechat 微信平台
    orange-adminweb 运营平台
    orange-mqtt mqtt协议组件

    二 物理架构

    所有基础设施服务器首选阿里云,我不是在替阿里云打广告,如果非要觉得我在打广告,麻烦各位在阿里云买服务器的时候选择下我的幸运卷(哈哈),后续在服务器选型和部署有相关问题可以找我一起探讨,幸运卷地址:

    https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=5gg22qjx&utm_source=5gg22qjx

    言归正传,像这种创业型互联网项目首选阿里云是比较好的选择,我指的不单单是阿里云提供的ECS服务器,更多看重的是阿里云的整套解决方案。比如我们要做tomcat集群,可能要装nginx,nginx要高可用,就得通过keepalive主从双机热备自动切换,就光这么一套配置下来,你少说也要好几台服务器吧,而且还不一定稳定,更加没有可视化控制台监控各项指标,但是在阿里云你根本无需花这些时间来弄这些,去买个SLB负载均衡即可搞定,而且又便宜。再比如数据库mysql,前期就算不做集群,你也要做主备高可用吧,如果二台mysql做高可用,你还得需要keepalive或者haproxy,这么一套配置下来,成本也不低。说实话,我觉得阿里云数据库RDS前期配置在同等的情况下更加便宜方便,毕竟RDS mysql本身还自带了控制台可以方便监控各项参数排查问题,阿里云数据库RDS在后期的配置升级的确是成本昂贵,这个时候自己用一些廉价的服务器搭建数据库集群是可取的,当然这个是后话了。还有文件服务器就算采用fastdfs搭建也需要一台服务器,总的算下来,还是不划算。

    平台ECS的配置:

    项目名

    描述

    ECS服务器

    SLB负载均衡

    orange-adminweb

    运营平台后台

    1台 [4核8G5M  

    orange-mqtt

    mqtt中间平台

    2台 [4核8G5M]

    1个[主备5M]

    orange-serviceweb

    核心业务层

    2台 [4核8G5M]

    1个[主备5M]

    orange-wechat

    微信业务

    1台 [4核8G5M]

     

    平台数据库配置: 高可用通用型4核8G

    平台redis配置: 4G主从版

    平台文件存储: OSS买流量包

    平台mqtt配置: 按连接数上限购买,前期买2000,后期继续升级(说实话,这个和RDS一样越往后面升级配置越贵)

  • 相关阅读:
    Zabbix-Agent在主动模式启动服务后,提示no active checks on server [139.219.xx.xx:10051]: host [139.219.xx.xx] not found
    Linux中Sed的用法
    服务器监控软件有哪些?
    Linux和Windows中查看端口占用情况
    Window10中创建目录连接点
    C#中使用RabbitMQ收发队列消息
    ExtJs4.2中Tab选项卡的右击关闭其它和关闭当前功能不准确的解决方法
    Redis中取得所有Key、过期时间配置与获取、Key过期通知。
    使用Phantomjs和ChromeDriver添加Cookies的方法
    FasterRcnn训练数据集参数配置
  • 原文地址:https://www.cnblogs.com/dgcjiayou/p/7886661.html
Copyright © 2020-2023  润新知