博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
按步搭建简单IoT微服务(3)
阅读量:6963 次
发布时间:2019-06-27

本文共 1728 字,大约阅读时间需要 5 分钟。

尝试目标4

现在序列化服务已经运行,可以添加模拟传感器和MQTT代理。模拟传感器的代码位于step4/services/sensor,代理程序代码位于step4/services/broker。

新的挑战是将这些添加到fuge的yml配置文件中并运行系统。完成后需要通过fuge终端将微服务、influx数据库重启,会发现数据流通过从传感器到达前端界面。

目标4实现步骤

  1. 文件夹 step5/fuge 包含更新后的fuge配置
  2. 启动fuge

    fuge shell fuge/compose-dev.yml
  3. 启动所有服务

    start all
  4. 打开 查看数据点
  5. 传感器数据开始通过代理送到序列化服务,在前端页面上展示

尝试目标5

距离完成最终系统面临的挑战是接入执行服务。执行服务程序在step5/services/actuator。

执行服务将通过MQTT代理发送一条偏移消息到传感器。要实现此功能,需要和之前一样,往fuge的配置文件 compose-dev.yml 中添加相关条目。

注意: 前端页面上的输入框和按钮提供向发送/set 请求的功能

当配置完成后,重启系统服务并刷新浏览器页面。能够看到和之前类似的图表,但在发送偏移消息后图立即产生变化。

目标5实现步骤

  1. 文件夹 step6/fuge 包含更新后的fuge配置
  2. 使用命令启动fuge

    fuge shell fuge/compose-dev.yml
  3. 在终端执行启动系统

    start all
  4. 在浏览器打开 :10001查看数据点
  5. 源源不断来的感器数据通过代理到序列化服务,在前端页面上展示,
  6. 在顶部输入框输入数字(如1000),点击按钮
  7. 能看到图表中产生变化

尝试目标6

Fuge自动监控服务代码状态,一旦发现更新,将热重启相关服务。按步执行下面操作:

  1. 首先,修复influx数据库的提示信息: 编辑step6/fuge/fuge-config.js文件设置tail为false
  2. 重启fuge控制台并启动所有服务
  3. 接下来查看序列化服务运行情况

    tail serializer
  4. 使用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
  5. 打开 step6/services/serializer/serializer.js文件,添加调试输出

提示 如果对node.js不熟悉,可以使用 console.log('hello')将信息发送到控制台

目标6解决步骤

  1. 更新 step7/fuge/fuge-config.js文件,设置tail为false
  2. 在 step7/services/serializer/serializer.js文件中添加额外调试
  3. 在 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详细文档可以参考

目标7解决步骤

  1. 在fuge目录下执行docker-compose启动命令:

    Docker-compose up
  2. 打开浏览器中输入;docker-machine-ip>:10001,检查是否正常

如果使用docker ps命令,可以看到构建的系统镜像作为容器正在运行。

截止目前,祝贺您!已经成功使用docker容器构建出一个简单的IoT微服务。


本系列文章:

转载地址:http://qawsl.baihongyu.com/

你可能感兴趣的文章
水印情缘。。。
查看>>
为什么重写equals一定要重写hashCode?
查看>>
HDU Problem 4006 The kth great number 【队列】
查看>>
win8阉割版中文输入法
查看>>
Codeforces VK Cup 2015 A.And Yet Another Bracket Sequence(后缀数组+平衡树+字符串)
查看>>
以Drools5.5为例说明“规则引擎在业务系统中应用”---起始篇
查看>>
linux清理内存
查看>>
查看硬盘负载情况:iostat命令
查看>>
《人月神话》阅读笔记03
查看>>
Linux下防火墙开启相关端口及查看已开启端口
查看>>
学习笔记之CloudCompare
查看>>
UEditor 与Struts2 结合上传图片
查看>>
javaweb中的标签的核心标签库的常用标签
查看>>
copy与mutableCopy
查看>>
C#中结构函数和析构函数的用法
查看>>
CC2540串口输出调试功能
查看>>
malloc calloc realloc,new区别联系以及什么时候用
查看>>
php socket 编程(一)
查看>>
SDUT 简单枚举类型——植物与颜色
查看>>
Windows 下配置Git
查看>>