如何做一个千万级并发的物联网接入架构

如何做一个千万级并发的物联网接入架构,第1张

1、提供HTML静态访问

web界面上最快的访问速度是什么?当然是最原始的HTML文件访问,对于其他语言 比如 jsp ,asp,php等等,他们首先要通过服务器解析成html之后在返回给访问者,如果我们能提供全部是htm来的页面,那么就能大大的降低服务器和数据库资源的利用和提高网站的并发,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。当然实现这种方式大家比较了解的就是信息发布系统CMS,信息发布系统可以实现最简单的信息录入自动生成静态页面,还能具备频道管理、权限管理、自动抓取等功能,对于一个大型网站来说,拥有一套高效、可管理的CMS是必不可少的。

在后续的文章中我们会单独的使用jsp + servlet实现一个简单的信息发布系统

2、使用独立的服务器

为什么要把单独设置一个服务器?对于Web服务器来说,消耗的服务器资源是最多的,如果能把所有的资源放到一个单独的服务器中进行处理的话,可以降低提供页面访问请求的服务器系统压力,从而能进一步的提高web程序的并发所以在有条件的情况下最好能把放置到一个单独的服务器中

3、配置多台数据库服务器,多个数据库集群

集群(Cluster)技术是使用特定的连接方式,将价格相对较低的硬件设备结合起来,同时也能提供高性能相当的任务处理能力。

越是大型高并发的应用,数据库的压力就会越大,如果数据库操作很频繁,数据库的瓶颈很快就能显现出来,这时一台数据库将很快无法满足应用,于是我们需要使用数据库集群。

数据库集群就是使用多个数据库服务器分担请求的压力,达到快速响应的目的

4、使用缓存

所谓的缓存就是把数据咱是放置到内存中,前台在请求的时候直接从内存中读取数据,而不需要去查询数据库或者读取文件等,这样就能做到最快的响应。网站架构和网站开发中的缓存是非常重要的。

目前有很多开源的缓冲实现方案,APC,File,SQLite,Memcache等等各种类库实现着不同的缓存方式,只有通过了解他们的实现方式,根据具体应用具体选择,才会使缓存系统发挥出最大的性能。

对于java开发来说,大名顶顶的 分布式缓存系统Memcache 可能是最好的选择,他提供一个基于Socket的访问方式,使得该缓存系统支持远程读写访问。尽管这个缓存的内容可能是存在内存中,也可能是存在文件内。

物联网操作系统分为低资源MCU设备端和高资源CPU设备端;

低资源MCU设备端,由于硬件资源有限,一般都是用极低内核资源的操作系统,如FreeRTOS,TinyOS,Lite OS,这类os,一般都是以C,C++进行编程,一般由资深的嵌入式工程师进行应用程序设计,难度较高。

还有一类是目前针对物联网应用开发而设计的低门槛的操作系统,一般使用目前最流行的JAVA,JavaScript,LUA等高级语言编程的操作系统; 使用JavaScript编程的目前有多种开源操作系统,运营的比较好的是RUFF,目前有一款nodemcu使用LUA编程,JAVA因为移植难度比较大,目前只有钛极OS(TiJOS)可以实现在低资源MCU上进行编程。在淘宝上可以找到他们的开发套件,例程也比较详细和丰富。

高资源CPU设备端,资源大,可以实现复杂功能,一般都有大公司在拼,如谷歌的Brillo OS,微软的WIN10 IOT版本,uClinux,华为LiteOS等。

不是手机。rtthread是一个创造与中国的开源物联网操作系统,诞生于2006年,主要采用C语言编写,易懂,特性于方便移植,实现类似Android的图形界面及触摸滑动效果、智能语音交互效果等复杂功能。

楼上一些回答太形而上学了,都是理论,简单的事情整复杂了,非常容易把人往沟里带。

本人从事物联网专业(说实话做了不少产品,但目前OSI七层协议都背不全),分享下自己的答案,希望能给题主一些帮助。

物联网其实是互联网的一个延伸,互联网的终端是计算机(PC、服务器),我们运行的所有程序,无非都是计算机和网络中的数据处理和数据传输,除了计算机外,没有涉及任何其他的终端(硬件)。

物联网的本质还是互联网,只不过终端不再是计算机(PC、服务器),而是嵌入式计算机系统及其配套的传感器。这是计算机科技发展的必然结果,为人类服务的计算机呈现出各种形态,如穿戴设备、环境监控设备、虚拟现实设备等等。只要有硬件或产品连上网,发生数据交互,就叫物联网。

不过物联网的概念目前被炒到过热。鄙人大概十年前开始学习嵌入式,那个时候还没物联网、智能硬件这么高大上的字眼。相信很多前辈那时跟我一样,学的是单片机编程,大家都用“单片机”来概括这个行业。大概2012年左右,很多热钱从房市涌出,投入资本市场。正是这个时候,一大波高大上词汇来袭。服务器技术叫“云”,单片机叫“智能硬件”,网络单片机应用叫“物联网”,车载单片机应用叫“车联网”。。。呵呵。这种现象是商业进展的必要性,我们搞技术的只能跟着改头换脸,谁叫发薪水的是老板呢,呵呵。

不过受限于技术上的瓶颈,物联网的发展,其实无法像当初互联网那样爆发。或者换通俗一点的说法,大家有没有发现很多物联网的应用,其实是锦上添花的东西,需求性并没有那么强,这也就是为什么很多智能硬件卖得并不是很好的根本原因;正是因为需求性原因,所以商业上也不会出现滴滴打车那样的持续性投入,又一定钳制了技术的进一步发展。

到今年,这一波的投资热潮冷却了很多,但是在这波浪潮里,我们的社会还是发生了很多变化。首先是关注物联网的人越来越多,从业者也越来越多。而且很多大学也开设了相关课程,政府也出台了行业鼓励政策。前面我们说过物联网的概念被炒得有点过热,所以在物联网的大群体里,有两类人最为迷茫。其一就是专注物联网的创业者,其二就是物联网专业的学生。鄙人也曾经属于第一类人。

物联网的技术前景是广阔的,近些年上市的一些空气净化器产品,穿戴设备,家庭环境监控设备,在过去是不曾有的,在目前的消费背景下,正服务着大众。未来还会有更多的新式设备出现,这些正是物联网技术发展的必然结果,所以投身于物联网的技术研发,是很有前景的一件事。

然而物联网的商业前景却是复杂的,特别是对于创业者而言,这不是一个好消息。既然创业,目的肯定是赚钱,然而放眼人类社会,最赚钱的事情,其实归类起来就那么几样。首先是资源、再就是获取资源的工具,以及信息。每个企业,想要活得好,目标只有一个,就是垄断。然而社会上的大部分资源,都是垄断在大企业手里,小企业参与的,往往是跟民生有关的门槛低的行业,竞争激烈,赚钱辛苦。回到计算机行业,虽然计算机行业开放程度很高,然而垄断的存在并不亚于其他行业。英特尔、ARM等公司,基本垄断了处理器行业。微软、Google(Android)、苹果垄断了操作系统。物联网是新兴市场,虽然目前容量不大,但各家各户都盯着,对于创业者而言,无法创造垄断,很难存活。创业者大部分都是小公司,你无论多么牛逼的技术,一旦有市场,大公司都可以迅速投入数倍于你的资金,在非常短的时间内模仿你,超过你,压垮你。你是小公司,宣传推广,也不可能投入像大公司那样的资金及影响力,所以产品再好,也不一定卖得好,这是每个技术型创业者,不得不面对的事实。

正是因为上述压力,很多创业者非常迷茫。本人过去四年间一直从事物联网行业,因此结识了很多同行,其中大部分都是创业者。这些创业者非常勤奋,对自己的想法充满热情,也往往敢于坚持。然而这些并没有什么用,大部分创业者,都没有走到今天,因为投资人的钱总是会烧完的。

我觉得想走向成功,物联网行业的创业者应该处理好两个问题。首先,应该认识到,计算机行业想突破垄断,对于大企业而言,是技术积累。然而对于个人或小团队而言,唯一的方法是缩小用户群体。就是我们应该专注于一个领域一项技术去解决一个问题。如果你说你的客户是大众每一个人,那你的东西基本一个都卖不出去。但是如果你的客户是“捷达轿车车主”+“装过电子导航系统”,那你的东西会比较好卖。缩小用户群体的好处,是大企业不会来跟你抢饭吃,而你又非常容易精准的找到你的客户并说服他们买你的东西。其次,个人或小团队,不应该有任何一刻在亏本,否则你终会难以坚持。最好的状态,应该是大家都有正职工作(收入),但是比较闲,一起来维护一款小产品,这样的情形,往往容易成功(最后团队或项目被大公司收购,实现财务自由,或职位上升)。

对于在大企业进行物联网方向研发的人员,自然不用担心收入问题,然而可能大部分时间,都要接受来自上层的任务分配。作为物联网技术从业者,我们应该认识到,这个行业的技术,还是有很多方面需要突破的,个人将一些觉得需要突破的技术陈列如下,希望在物联网方向的研发人员,可以在闲暇之余,做一下这么几方面的技术积累:

1目前国内低功耗网络技术都做得不好,包括zigbee,其实也被过分夸大宣传。

2传感器和传感输入部分,其实有很大的空间,人之所以聪明,跟手、眼、口、鼻、耳有很大关系,然而计算机的手眼口鼻耳,没一项可以跟人比。由于个人很难在芯片技术上积累,所以只能做做算法,对于视觉识别技术,各个领域,都有非常大的潜力,可以研究积累。

3降低研发难度的工具,可以关注下,目前物联网还属于教学推广阶段,能够快速帮助从业者提高研发效率的工具,可以研究积累。(鄙人正是做这一块)

4特定环境下的语音对话算法,可以研究下。目前所有的语音识别,几乎都不过是语音转文字而已,然后计算机通过词汇分析来执行任务,基本都做不了上下文对话。非特定环境下的语音对话,估计国外的苹果、google,国内的讯飞、腾讯、百度都在研究,个人技术者基本没有必要也没有机会。不过在特定环境下(比如自动导航这个环境,人的指令,只会围绕“导航”这个主题),语音对话是非常有效率的输入输出工具,值得个人研究积累。

说完创业者,再来说说各大高校的物联网专业的学习者。

其实我个人是不建议在本科搞物联网专业的,因为物联网专业不是基础学科,在本科开设,没能力的学校,也就是一个幌子,会坑不少人。有点能力的学校,也无法指望在当前的教学构架下,能让学生学到点什么。其原因就是,物联网涵盖的内容太多,随便列举列举:

1数电模电、单片机编程技术:要做物联网产品,起码,你能看得懂电路板吧,你得能给单片机写几行代码,点个流水灯什么的吧。要知道,这过去是放到自动化专业四年要学的东西啊。电路板画得好,就算在内陆省会城市,月薪也随便上万的啊,单片机写得好,月薪也一样上万的啊。打什么物联网的幌子啊!

2网络技术:光给单片机编单机程序还不行,你还得能让单片机上网吧,否则叫什么物联网。既然上网,最简单的“客户端-服务器”模型,你好歹得在云端放个服务器吧。且不说服务器程序你要自己写,到阿里云买个服务器,绑定个域名,估计你都得折腾一个礼拜。写服务器程序,那在本科也是一门专业啊,起码VC要学吧(时髦点学java)。你即会上位机,又会单片机,那你是全栈工程师啊,这工资不是更高?

3无线技术:很多产品,光一个单片机还不行,你还得整多个单片机,然后多个单片机互相整个网络,这就涉及到组网。用wifi,功耗太高。用zigbee,光协议就看死你。用蓝牙,人家构架就没这么整过。那只好自己写吧,从驱动到组网协议,你要能写全,还不出问题,那以后还有什么软件构架你整不了啊?

4传感器技术:就目前而言吧,很多传感器都是数字型的,直接丢数值出来,单片机只需连上去就可以用,难到不难。但问题是量多,测温度吧,有温度传感器;测光照吧,有光照传感器;测空气吧,有空气质量传感器;还有加速度传感器、心率传感器、颜色传感器、分贝传感器。。。大学也就四年,学单片机编程估计都要三年,你看你剩下的时间能整几个吧。

5终端技术(App):物联网物联网,你把用户搁哪啊,总要给用户丢个App来看看产品状态吧,那就得学习App怎么做。iOS和Android你还得都学了,不然用户就得减少一半,呵呵。

所以本科开设的物联网专业真的是坑啊,明摆着学校不可能教全的嘛,就算学校愿意教,学生也学不过来啊。给点可行性建议吧:

1明确正确的技术观,物联网是一个行业,而不是一个专业。学好物联网里任何一项技术,都可以独当一面,迅速实现个人价值积累(收入很赞的哦)。如果贪多贪快,除了给自己带来无尽的失望和打击,没什么好处。

2明确正确的发展方向,物联网涉及软硬件、互联网、App等多个领域,作为个人而言,只可能精其一样。如果是做硬件,那就好好学数电模电、应用电路、布线画板、传感器特性等等。如果是做软件,明确方向,一般建议本科阶段学好单片机编程、熟悉一两种传感器或应用,做一两款小产品即可。毕业后,可逐步过渡,学会和其他工程师配合,学会组网应用,多出作品练手。

3实践大于理论,学物联网或者嵌入式一定要勤上手,多出作品。多出作品,不仅可以增长技术能力、了解物联网构架,最重要的是可以提高自信心。人与人的区别,大部分都在教育,而教育成功与否,自信是非常重要的评估法则。当然,由于物联网一般都是系统产品,建议学习者可以基于成熟的构架去做产品,这样容易成功做出完整产品。可以用我们酷享物联系统,也是选择之一。

4毕业后,尽量不要去初创公司,不过初创公司也很少招应届生。一定要去中型企业或大企业的核心团队,哪怕打杂都行。无论未来是打算做市场还是做技术,一定要记得毕业招工作的时候,要想办法进企业的核心研发团队,大公司进不了,就进小一点的,再进不了,就再小一点。可能有人会问,人家不一定要我啊。对,人家不一定要你,你本科期间作出的物联网作品,就是敲门砖。

5就业后,不要急于成功,闷下心思,跟着团队技术带头人做技术。有什么做什么,尽多培养不同领域的应用,多结实靠谱的技术朋友。三五年后,某一天,你会发现你自己有技术、有团队,可以做任何产品的时候,你的路也会宽阔起来。

------------------------------------------------------------------------------------------------------

好了,广告时间到了,来说说我这两年从事的项目:

酷享物联系统,是开源、开放的物联网系统,以主机+设备的方式,原生支持常见家电控制,提供可以嵌入到设备里的无线物联模块(万纳模块)给研发者,研发者可以基于万纳模块,快速实现自己的Idea。万纳模块8个IO无需编程,就可以被配置为数字输入输出、按键、模拟采样(ADC),PWM等各种方式,极大的降低了设备的接入门槛。

由于酷享物联系统是开源系统,学习者使用酷享系统学习物联网构架的同时,还可以看到酷享物联系统的实现代码,以及诸多应用案例,以最高的效率,提升自己对物联网的理解。

案例:

植物栽培助手(不编程案例)

双向开关、智能插座(不编程案例)

情景面板(不编程案例)

LED调光器(不编程案例)

空气质量监测仪(开源案例)

补充:(2016420)

本来不想上照片的,有评论说我做的这几个作品根本没有联网,那我就发几张照片出来打脸,呵呵。

请问?系统中所有设备,都可以通过app远程联网查看,控制,怎么不是物联网????????????????

请问?系统中所有设备,可以脱离手机,通过网络互为关联,互相触发,怎么不是物联网?????????????????

对,说的就是你,让我看论文的那位!!!!!!!!!!!!!

好了,希望诸多物联网从业者也好,初学者也好,都能戒骄戒躁,努力积累,实现中国梦!哈哈哈哈

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何做一个千万级并发的物联网接入架构

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情