【PaaS技术分论坛】智慧路灯解决方案(上)
主讲人:软通动力解决方案部产品总监 陈木华
一、方案背景详解
大家都很清楚,有关灯的一个演进过程,实际上很早以前我们都是用的煤油灯,到了后面的时候可能就是钠灯和白炽灯了,现在可能就是LED灯。
基于这个路灯的演进过程,我们这个路灯的解决方案,它的技术上面也是有一个演进的过程的。最开始我们可能都是一种很简单的方式,把电源上下电,到后面的时候可能就是三遥控制,以及对我们的线路回路的控制。现在我们这个智慧路灯方案,主要就是能做到单灯控制,能根据环境的一些信息进行自动控制,比如说天气不好,我们可以自动的根据这个信息把这个灯打开,做到这样的一个依托于环境的自控。
我们这个路灯数量是特别大的,根据我们的统计信息,大概在2016年,全世界大概有3亿的灯,按照每年大概8%的增速,预计到2020年大概能到4亿。而中国,因为随着城市化的建设,需求量也特别大,到2016年大概是3000万,每年10%的增速的话,到了2020年大概是4.4千万。
二、解决方案
在这么大一个路灯的使用量的情况下,我们怎么去管控,这可能就会涉及到,我们为了解决自控,需要做一些技术上面的实践去把这个问题解决掉。
下面就是基于这种情况我们做的路灯解决方案的一个主网架构。我们主要是分三层,即云、管、端,”云”主要就是我们自己做的行业应用,“管”主要是依托于华为这个管道和它的一个NB-IoT平台,包括它的边缘计算等等,“端”主要是我们下端的这个智能物联设备,包括很多的路灯的控制器、井盖等等这些设备。我们当前为什么要选择这个“云管端”将我们这个应用放到云上面去呢?实际上在去年,我们总部的价格不是这样的,我们当时是很粗放的,所有的应用都是放在TomCat里面。现在是因为我们发现我们的客户现场去把这套系统部署上去以后,前期都是做一个简单的推广,设备数并不多,后面应用的比较好的时候,客户要扩容,这个时候我发现我们那个平台去扩容,去增强大数据量以后,就变得特别麻烦。所以后来就依托于华为云,我们想把我们的这个框架微服务化,把一些前端的业务,我们的数据采集,包括我们跟NB-IoT这个平台的对接,这三大块先拆出来去做成一种微服务化的模式。
这个就是我们以前的那个平台出现的一些问题,比如说我们以前在服务层就是TomCat加JS等等,我们业务层里面用MVC等等,包括后台服务用Mybatis等,就出现了许多的问题。
我们的架构越来越臃肿,因为我们以前的架构可能在最开始我们把这个架构搭好的时候我们的代码很简单,没那么冗余。但是后来发现随着我们的业务的增长,包括我们的业务功能的增长,我们可能每个开发人员都会去下载一些开源的代码放到里面去,大致是各自都用自己的,导致我们整个代码量特别大。另外就是我们后面的运维这一块,体现出一个特别大的问题,比如说我们这套系统以前开发好了以后,代码有冗余,大家都只做自己的,后来发现有问题的时候大家都不敢动手,因为可能大家都是互相嵌套,改完了以后解决这个问题可能就有第二个问题了。所以基于这个情况,我们把架构微服务化,流程规范化了以后,就能解决我们这些问题。
智慧路灯改造前技术架构
这是我们当前做的一个架构,也是比较粗犷的,比如说路灯业务这一块,把这4个方面先做了一个前期的微服务化,下面的部分就不仔细讲了。
这样做的原因,下面也大概说了一下:一,我们的业务解耦了。我们以前整个业务这一块出了问题,例如采集出了问题,导致整个系统就运行不起来了,但是通过这个方式,如果采集出错了,但是我的路灯的上层业务管理这一块还是可以正常运行的,包括我去看一些数据,它也一样互不受影响,这样的话我们可以使客户的应用的一些部分能够快速响应,起码不会导致整个系统出了问题以后就不能运行了。
第二个就是刚刚说的集群。路灯的量比较大,因为前期大家可能是属于一种试运行,可能几百盏灯或者是一两盏灯,但是等这个客户发现试运行以后效果比较好,量就会上升,例如一个一般的地级县城市大概都是6000盏到8000盏灯,这样的话,客户一下把这个量增长上来以后,我们可能就要考虑到容灾备份这一方面,所以在这一方面,我们是依托于华为的PaaS云,能够快速地做到扩容。而自动化运维,主要还是依托我们自身这一块,在以前我们开发完了去打包的时候,都发现需要一两天的时间去打包,还要验证,部署,到现在可能就很快了,我们通过一件事一件事去做,提交完了以后打包发布并运行,很快就能解决这个问题。所以主要是基于这三大方面能给我们带来一些优势,我们选择了上PaaS云。
软通智慧路灯云平台架构
接下来就是我们做的一个长远的规划,就是依托于刚刚说的客户的数据量增多的情况,比如路灯按照国家基建标准的话,大部分都是做PPP模式,所以可能后面就有一些运营公司,它有可能不单单只是那一个地区的一个县城,可能就是整个市,整个周边的所有县城都会接入到这个平台里面来。这样对于我们这整个系统的性能压力是比较大的,所以我们把我们的记录,我们的负载均衡,统一接入这一块,细分到我们这个接入层里面去把它们做得更精细化一点。
第二个就是基于我们的微服务框架。我们刚刚只拆了四个,主要是业务层,采集层跟统计,包括数据这一层,后面我们想知道怎么去依托华为云这个Service Stage,我们把我们的业务这一块更细分化。比如说我们业务层面针对路灯管理这一块,怎么把它做成一个微服务,针对现场数据的实时分析这一块,我们怎么把它微服务化,还有包括我们的一些告警信息,等等,这些拆出来以后更直观,客户去用的时候,如果我们在一些其他的地方出问题,我的告警和实时通知也能给他一个更及时的响应。我们刚刚说的消息层等等,大概意思也是差不多的,主要也是依托于刚刚说的这几点来考虑。
智慧路灯采用华为云平台改造后的架构
把我们的系统真正微服务化完成以后,把所有的微服务放在Docker里面,就统一做了一个池的管理,这里就不细讲了。
视频链接:https://bbs.huaweicloud.cn/videos/f9dcddf5782811e7b8317ca23e93a891
以上文字内容由【内容众创小组-栀】整理
- 点赞
- 收藏
- 关注作者
评论(0)