按步搭建简单IoT微服务(3)
尝试目标4
现在序列化服务已经运行,可以添加模拟传感器和MQTT代理。模拟传感器的代码位于step4/services/sensor,代理程序代码位于step4/services/broker。
新的挑战是将这些添加到fuge的yml配置文件中并运行系统。完成后需要通过fuge终端将微服务、influx数据库重启,会发现数据流通过从传感器到达前端界面。
目标4实现步骤
- 文件夹 step5/fuge 包含更新后的fuge配置
启动fuge
fuge shell fuge/compose-dev.yml
启动所有服务
start all
- 打开 http://localhost:10001 查看数据点
- 传感器数据开始通过代理送到序列化服务,在前端页面上展示
尝试目标5
距离完成最终系统面临的挑战是接入执行服务。执行服务程序在step5/services/actuator。
执行服务将通过MQTT代理发送一条偏移消息到传感器。要实现此功能,需要和之前一样,往fuge的配置文件 compose-dev.yml
中添加相关条目。
注意: 前端页面上的输入框和按钮提供向发送/set
请求的功能
当配置完成后,重启系统服务并刷新浏览器页面。能够看到和之前类似的图表,但在发送偏移消息后图立即产生变化。
目标5实现步骤
- 文件夹 step6/fuge 包含更新后的fuge配置
使用命令启动fuge
fuge shell fuge/compose-dev.yml
在终端执行启动系统
start all
- 在浏览器打开 http://localhost:10001查看数据点
- 源源不断来的感器数据通过代理到序列化服务,在前端页面上展示,
- 在顶部输入框输入数字(如1000),点击按钮
- 能看到图表中产生变化
尝试目标6
Fuge自动监控服务代码状态,一旦发现更新,将热重启相关服务。按步执行下面操作:
- 首先,修复influx数据库的提示信息: 编辑step6/fuge/fuge-config.js文件设置tail为false
- 重启fuge控制台并启动所有服务
接下来查看序列化服务运行情况
tail serializer
- 使用
ps
命令查看系统状态,fuge仅监控所有进程变化,只输出序列化服务情况to show the state of the system it should report that fuge is watching all processes for changes but only tailing the serializer service - 打开 step6/services/serializer/serializer.js文件,添加调试输出
提示 如果对node.js不熟悉,可以使用 console.log('hello')
将信息发送到控制台
目标6解决步骤
- 更新 step7/fuge/fuge-config.js文件,设置tail为false
- 在 step7/services/serializer/serializer.js文件中添加额外调试
- 在 step7/frontend/api/index.js文件中添加额外调试
尝试目标7
目标是在开发模式下运行微服务组件Fuge。只是需要使用兼容docker-compose格式的工具。Docker compose可运行一系列容器。如果使用容器方式部署并在本地构建检查系统情况, 通常建议使用开发模式运行容器,虽然会慢些。
以提供docker-compose
格式的文件step7/fuge/docker-compose.yml,挑战是第一次使用docker-compose文件启动fuge系统。使用docker-compose命令完成这次尝试。关于docker-compose
详细文档可以参考https://docs.docker.com/compose/
目标7解决步骤
在fuge目录下执行
docker-compose
启动命令:Docker-compose up
- 打开浏览器中输入http://<docker-machine-ip>:10001,检查是否正常
如果使用docker ps
命令,可以看到构建的系统镜像作为容器正在运行。
截止目前,祝贺您!已经成功使用docker容器构建出一个简单的IoT微服务。
本系列文章:
- 按步搭建简单IoT微服务(1)
- 按步搭建简单IoT微服务(2)
- 按步搭建简单IoT微服务(3)
按步搭建简单IoT微服务(3)相关推荐
- 按步搭建简单IoT微服务(2)
整体架构 这章节我们将为系统建立一个简单的前端界面.首先安装一些依赖环境并运行起来,按照下面的步骤开始: 如果还没有准备好,可以先在获取的代码仓库 micro-services-tutorial-io ...
- 利用SpringCloud搭建一个最简单的微服务框架
利用SpringCloud搭建一个最简单的微服务框架 https://blog.csdn.net/caicongyang/article/details/52974406 1.微服务 微服务主要包含服 ...
- .NET 搭建简单的通知服务
搭建简单的通知服务 Intro 很多情况下,我们都会遇到一些需要进行通知报警的场景,比如说服务器资源监控报警,抢到火车票后通知用户进行付款. 原来主要是用的钉钉群里的机器人来做的通知,周末看到原来做 ...
- 构建简单的微服务架构
前言 本篇仅作引导,内容较多,如果阅读不方便,可以使用电脑打开我们的文档官网进行阅读.如下图所示: 文档官网地址:docs.xin-lai.com 目录 总体介绍 微服务架构的好处 微服务架 ...
- springcloud五大组件?注解_spring cloud实现简单的微服务架构
"读书足以怡情,足以长才.读史使人明智,读诗使人灵秀,数学使人周密,科学使人深刻,伦理学使人庄重,过度学习使人疯魔:凡有所学,皆成性格." --弗朗西斯·培根<论学习> ...
- 一个简单的微服务项目带你上手spring cloud 全家桶
最近一个月,断断续续学习了spring cloud的主流微服务模块,然后实践了一个比较容易上手的微服务项目,现在做一个总结. 这个项目是在github上的一个比较经典的spring cloud易上手的 ...
- SpringCloud(第 002 篇)简单电影微服务类(消费方,而提供方为用户微服务)
2019独角兽企业重金招聘Python工程师标准>>> SpringCloud(第 002 篇)简单电影微服务类(消费方,而提供方为用户微服务) 一.大致介绍 微服务与微服务之间通过 ...
- SpringCloud(第 054 篇)简单 Quartz-Cluster 微服务,采用注解配置 Quartz 分布式集群...
2019独角兽企业重金招聘Python工程师标准>>> SpringCloud(第 054 篇)简单 Quartz-Cluster 微服务,采用注解配置 Quartz 分布式集群 一 ...
- SpringCloud(第 054 篇)简单 Quartz-Cluster 微服务,采用注解配置 Quartz 分布式集群... 1
SpringCloud(第 054 篇)简单 Quartz-Cluster 微服务,采用注解配置 Quartz 分布式集群 - 一.大致介绍 1.因网友提到有没有采用注解式配置的Quartz例子,因此 ...
最新文章
- 基于Golang的对象序列化的程序包开发——myJsonMarshal
- SQL Server 中各个系统表的作用
- Flask 重复启动
- 区别:DOM Core 与 HTML-DOM
- 频繁弹出“受到网络攻击”的消息怎么办,五分钟看懂“僵尸网络”攻击
- IEEE R10 Event Funding Portal
- 【机器学习】机器学习项目流程
- 实例工厂配置bean
- H.264视频编码在VC .Net中的实现(H264全文)
- [iOS] ios的runtime
- 女博士实名举报北航人工智能教授:性骚扰!
- 手把手教你学51单片机
- 抖音短视频教程VIP培训课程(2019实时更新中)
- JS事件的绑定和解绑
- Mac android studio 环境搭建和真机运行
- 站住,你这个Promise!
- Ducky Debugging(字符串输入)题解
- 读《骨干是折腾出来的》有感
- TCL:不断扩张的业务,不断下跌的股价
- 职称计算机 frontpage 2003,高会职称计算机《Frontpage 2003网页制作》全部开通
热门文章
- 网站流量日志数据分析系统(模块开发----数据仓库设计)
- Windows10 配置 Nvidia 驱动与 Cuda 环境搭建
- android技术帖,android好帖子
- 测试人员只能点点点?深度剖析测试人员如何变得更优秀
- Exporter介绍与指标数据汇总(完结)
- 信息学奥赛第十节 —— 贪心算法(渡河问题POJ 1700 Crossing River + 拦截导弹的系统数量求解)
- Anaconda安装中failed to create menus
- python柱状图挨在一起_Excel图表,怎么把柱形图紧挨着?-excle柱状图挨在一起
- 2048小游戏编写思路
- 京东暑期实习面经(已OC)