分布式高并发物联网(车联网-JT808协议)平台架构方案
技术支持QQ:78772895
1、车载终端网关采用mina/netty+spring架构,独立于其他应用,主要负责维护接入终端的tcp链接、上行以及下行消息的解码、编码、流量控制,黑白名单等安全控制,网关同时支持交通部JT/T808-2011、JT/T808-2013两个版本全部的808协议,网关应用提供二次开发接口,支持以插件形式协议扩展而不需要改动任何原有代码。接入网关采用json消息通过MQ消息队列与业务平台进行交互,支持ActiveMQ和RabbitMQ,能够无缝接入各种异构系统。
本网关应用已历经并通过多次交通部部标的检测,性能稳定,适用于物联网(车联网)领域应用,特别是基于交通部808协议或者其扩展协议的智能终端监控平台,如车辆GPS定位监控平台。经测试在普通pc机上,单个网关应用至少可支持同时1w以上终端同时在线,具备至少600wGPS数据/小时的数据处理能力(见附件性能测试报告)。
本网关可水平扩展成支持高可用高并发的分布式架构
2、上行消息处理服务,采用spring+mysql+redis+mongoDB框架,是基于事件驱动的责任链设计模式处理终端上行消息、批量存储消息、发布终端重要消息(告警,上下线等)等平台业务处理,提供以插件形式消息处理二次开发接口而不需要改动任何原有代码,实现个性格业务处理能力。本服务可水平扩展成支持高可用高并发的分布式架构
3、平台服务层是基于spring-boot的微服务架构,同时集成了服务注册中心,接口网关,支持高并发高可用的分布式架构;底层封装了基于元数据的几大高度抽象的restful风格接口(包括CRUD接口、复杂查询接口、下发消息接口等个性化定制接口),业务系统无需再单独开发数据库相关操作的代码(增加新的数据库表只需要建立entity映射,即可实现增上改查等功能),只需关注业务逻辑开发即可。同时模块也提供提供二次开发接口,而不需要改动任何原有代码,实现个性格业务处理以及自定义接口能力。
4、展现层web端对JQuery EasyUI进行了二次封装,提供部分js常用组件,对于普通的CRUD操作只需按照模板开发相关的界面即可完美展现,web端同时集成了WDR对终端上下线、告警等重要信息实时推送提醒消息。
5、框架集成了redis缓存,通过简单的注解就能使用缓存;
6、在业务功能目前实现了:
a、支持JT/T808协议的全部指令,如拍照、文本下发、监听、点名等;
b、平台告警设置:原地设防、围栏告警(圆形、矩形、多边形)、超速告警;
c、车辆监控:区域查车、车辆上下线提示、告警实时提示、车辆实时跟踪、历史轨迹、油耗、里程等;
d、车辆管理:车辆信息维护、多媒体信息、上行消息、下行消息、告警查询等;
e、账号维护:企业注册、企业信息维护、修改密码等;
f、各种统计报表。
7、开放平台遵循标准oauth2.0,提供几大基于元数据的高度抽象的restful风格的增删改查数据接口以及部分个性化定制的业务接口;开放平台支持接口调用频率控制(基于令牌桶算法),支持ip黑白名单、接口调用权限等功能。
试用版网关程序下载地址:
http://download.csdn.net/detail/gaoshbo/9340739 ,需要正版可联系QQ:78772895
平台体验网址:
http://elink.legaoyi.com,登陆用户:test007,密码:123456
分布式高并发物联网(车联网-JT808协议)平台架构方案的更多相关文章
- Redis:解决分布式高并发修改同一个Key的问题
本篇文章是通过watch(监控)+mutil(事务)实现应用于在分布式高并发处理等相关场景.下边先通过redis-cli.exe来测试多个线程修改时,遇到问题及解决问题. 高并发下修改同一个key遇到 ...
- 基于JT/T808协议的车辆监控平台架构方案
技术支持QQ:78772895 1.接入网关应用采用mina/netty+spring架构,独立于其他应用,主要负责维护接入终端的tcp链接.上行以及下行消息的解码.编码.流量控制,黑白名单等安全控制 ...
- 同样是高并发,QQ/微博/12306的架构难度一样吗?
开篇 同一个用户并发扣款时,有一定概率出现数据不一致,可以使用CAS乐观锁的方式,在不降低吞吐量,保证数据的一致性: UPDATE t_yue SET money=$new_money WHERE u ...
- 高并发&高可用系统的常见应对策略 秒杀等-(阿里)
对于一个需要处理高并发的系统而言,可以从多个层面去解决这个问题. 1.数据库系统:数据库系统可以采取集群策略以保证某台数据库服务器的宕机不会影响整个系统,并且通过负载均衡策略来降低每一台数据库服务器的 ...
- asp.net解决高并发的方案.
asp.net解决高并发的方案. Posted on 2012-11-27 22:31 75077027 阅读(3964) 评论(1) 编辑 收藏 最近几天一直在读代震军的博客,他是 Discuz!N ...
- 高并发第二弹:并发概念及内存模型(JMM)
高并发第二弹:并发概念及内存模型(JMM) 感谢 : 深入Java内存模型 http://www.importnew.com/10589.html, cpu缓存一致性 https://www.cnbl ...
- 优秀开源项目之三:高性能、高并发、高扩展性和可读性的网络服务器架构State Threads
译文在后面. State Threads for Internet Applications Introduction State Threads is an application library ...
- 3年Java开发6个点搞定高并发系统面试疑惑
前言 其实所谓的高并发,如果你要理解这个问题呢,其实就得从高并发的根源出发,为啥会有高并发?为啥高并发就很牛逼? 说的浅显一点,很简单,就是因为刚开始系统都是连接数据库的,但是要知道数据库支撑到每秒并 ...
- 个人项目开源之c++基于epoll实现高并发游戏盒子(服务端+客户端)源代码
正在陆续开源自己的一些项目 此为c++实现高并发的游戏盒子,平台问题需要迁移重构,所以有一些遗留问题,客户端异常断开没有处理,会导致服务器崩溃,还有基于快写代码编程平台实现的小程序切换,线程读写缓存没 ...
随机推荐
- django-QueryDict 对象
在 HttpRequest 对象中,属性 GET 和 POST 得到的都是 django.http.QueryDict 所创建的实例.这是一个 django 自定义的类似字典的类,用来处理同一个键带多 ...
- VA插件突然不能使用,彈出“the security key for....”
昨天打開VS莫名其妙地彈出下面的錯誤框: "the security key for this program currently stored on your system does no ...
- android 获取sd卡根目录
dir:/storage/emulated/0 也就是 sdcard目录 ====== android 获取sd卡根目录 public String getSDPath(){ File ...
- LOJ.2863.[IOI2018]组合动作(交互)
题目链接 通过两次可以先确定首字母.然后还剩下\(n-1\)位,之后每一位只有三种可能. 最简单的方法是每次确定一位,通过两次询问显然可以确定.但是只能一次询问. 首字母只会出现一次,即我们可以将串分 ...
- hdu 5826 physics 物理题
physics 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5826 Description There are n balls on a smoo ...
- IDA .edata .rdata .idata .text segments
.rdata is for const data. It is the read only version of the .data segment. .idata holds the import ...
- [Go] panic 和 recover
通常情况下,函数向其调用方报告错误的方式都是返回一个 error 类型的值.但是,当遇到致命错误的时候,很可能会使程序无法继续运行.这时,上述错误处理方式就太不适合了,Go 推荐通过调用 panic ...
- 【防火墙技术连载11】强叔侃墙 攻击防范篇 流量型攻击之UDP Flood及防御
http://support.huawei.com/huaweiconnect/enterprise/thread-214141.html
- linux设置命令行启动
做spark,内存大的话运行很快,否则运行很慢,主节点用界面,其他用命令行,然后scp,或者ssh 去其他主机最访问 1, 关闭图形界面: [root@bogon ~]# init 3 // 关闭 ...
- 在ASP.NET MVC中使用Knockout实践03,巧用data参数
使用Knockout,当通过构造函数创建View Model的时候,构造函数的参数个数很可能是不确定的,于是就有了这样的一个解决方案:向构造函数传递一个object类型的参数data. <inp ...