尝试目标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. 打开 http://localhost:10001 查看数据点
  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. 在浏览器打开 http://localhost: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详细文档可以参考https://docs.docker.com/compose/

目标7解决步骤

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

    Docker-compose up

  2. 打开浏览器中输入http://<docker-machine-ip>:10001,检查是否正常

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

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


本系列文章:

  • 按步搭建简单IoT微服务(1)
  • 按步搭建简单IoT微服务(2)
  • 按步搭建简单IoT微服务(3)

按步搭建简单IoT微服务(3)相关推荐

  1. 按步搭建简单IoT微服务(2)

    整体架构 这章节我们将为系统建立一个简单的前端界面.首先安装一些依赖环境并运行起来,按照下面的步骤开始: 如果还没有准备好,可以先在获取的代码仓库 micro-services-tutorial-io ...

  2. 利用SpringCloud搭建一个最简单的微服务框架

    利用SpringCloud搭建一个最简单的微服务框架 https://blog.csdn.net/caicongyang/article/details/52974406 1.微服务 微服务主要包含服 ...

  3. .NET 搭建简单的通知服务

    搭建简单的通知服务 Intro 很多情况下,我们都会遇到一些需要进行通知报警的场景,比如说服务器资源监控报警,抢到火车票后通知用户进行付款. 原来主要是用的钉钉群里的机器人来做的通知,周末看到原来做 ...

  4. 构建简单的微服务架构

    前言 本篇仅作引导,内容较多,如果阅读不方便,可以使用电脑打开我们的文档官网进行阅读.如下图所示: 文档官网地址:docs.xin-lai.com 目录 总体介绍   微服务架构的好处    微服务架 ...

  5. springcloud五大组件?注解_spring cloud实现简单的微服务架构

    "读书足以怡情,足以长才.读史使人明智,读诗使人灵秀,数学使人周密,科学使人深刻,伦理学使人庄重,过度学习使人疯魔:凡有所学,皆成性格." --弗朗西斯·培根<论学习> ...

  6. 一个简单的微服务项目带你上手spring cloud 全家桶

    最近一个月,断断续续学习了spring cloud的主流微服务模块,然后实践了一个比较容易上手的微服务项目,现在做一个总结. 这个项目是在github上的一个比较经典的spring cloud易上手的 ...

  7. SpringCloud(第 002 篇)简单电影微服务类(消费方,而提供方为用户微服务)

    2019独角兽企业重金招聘Python工程师标准>>> SpringCloud(第 002 篇)简单电影微服务类(消费方,而提供方为用户微服务) 一.大致介绍 微服务与微服务之间通过 ...

  8. SpringCloud(第 054 篇)简单 Quartz-Cluster 微服务,采用注解配置 Quartz 分布式集群...

    2019独角兽企业重金招聘Python工程师标准>>> SpringCloud(第 054 篇)简单 Quartz-Cluster 微服务,采用注解配置 Quartz 分布式集群 一 ...

  9. SpringCloud(第 054 篇)简单 Quartz-Cluster 微服务,采用注解配置 Quartz 分布式集群... 1

    SpringCloud(第 054 篇)简单 Quartz-Cluster 微服务,采用注解配置 Quartz 分布式集群 - 一.大致介绍 1.因网友提到有没有采用注解式配置的Quartz例子,因此 ...

最新文章

  1. 基于Golang的对象序列化的程序包开发——myJsonMarshal
  2. SQL Server 中各个系统表的作用
  3. Flask 重复启动
  4. 区别:DOM Core 与 HTML-DOM
  5. 频繁弹出“受到网络攻击”的消息怎么办,五分钟看懂“僵尸网络”攻击
  6. IEEE R10 Event Funding Portal
  7. 【机器学习】机器学习项目流程
  8. 实例工厂配置bean
  9. H.264视频编码在VC .Net中的实现(H264全文)
  10. [iOS] ios的runtime
  11. 女博士实名举报北航人工智能教授:性骚扰!
  12. 手把手教你学51单片机
  13. 抖音短视频教程VIP培训课程(2019实时更新中)
  14. JS事件的绑定和解绑
  15. Mac android studio 环境搭建和真机运行
  16. 站住,你这个Promise!
  17. Ducky Debugging(字符串输入)题解
  18. 读《骨干是折腾出来的》有感
  19. TCL:不断扩张的业务,不断下跌的股价
  20. 职称计算机 frontpage 2003,高会职称计算机《Frontpage 2003网页制作》全部开通

热门文章

  1. 网站流量日志数据分析系统(模块开发----数据仓库设计)
  2. Windows10 配置 Nvidia 驱动与 Cuda 环境搭建
  3. android技术帖,android好帖子
  4. 测试人员只能点点点?深度剖析测试人员如何变得更优秀
  5. Exporter介绍与指标数据汇总(完结)
  6. 信息学奥赛第十节 —— 贪心算法(渡河问题POJ 1700 Crossing River + 拦截导弹的系统数量求解)
  7. Anaconda安装中failed to create menus
  8. python柱状图挨在一起_Excel图表,怎么把柱形图紧挨着?-excle柱状图挨在一起
  9. 2048小游戏编写思路
  10. 京东暑期实习面经(已OC)