Nodejs心跳包(一)简易监控 --学习笔记
来源:互联网 发布:淘宝买家秀卖家秀搞笑 编辑:程序博客网 时间:2024/05/17 23:21
写JavaScript本身是弱语言,到了Nodejs中也是V8下执行的脚本。本质无法改变。
知识点:
一、心跳包
心跳包通俗来说就是,让使用者知道当前软件的一个状态。
比如说:BOSS让你干一件事,总体上来说他有两种途径知道你干的情况。
①BOSS不厌其烦的主动问你,干好了没?②你每天定时向BOSS汇报情况。③推送机制。
基于心跳包来说,所以,客户端主动发起请求和服务端主动告诉客户端本质上没什么区别。后续继续学习推送机制。
二、JavaScript面向对象
变量作用域、get、set 访问器 具体的就不多说了,自行搜索去。
基于以上知识,和Nodejs的特性nodejs心跳包程序如下:
HeartBeatService.Js文件
var HeartBeatService = function(app) { this.state = null; this.instance = null; app.get('/heartBeatService', function (req, res) { res.end(HeartBeatService.instance.state.toString()); }); app.post('/heartBeatService', function (req, res) { res.end(HeartBeatService.instance.state.toString()); }); //console.log(1);}HeartBeatService.prototype = { get state() { console.log("get:" + this._value) return this._value; }, set state(val) { this._value = val; console.log("set:" + this._value) }}HeartBeatService.getInstance=function(app){ if(!this.instance){ this.instance =new HeartBeatService(app); } return this.instance;}HeartBeatService.create=function(app){ //if(!this.instance){ this.instance =new HeartBeatService(app); //} return this.instance;}module.exports = HeartBeatService;
调用如下:
test.js
var express = require("express");var app = express();var heartBeatService=require("./HeartBeatService");var hbs =heartBeatService.getInstance(app);timerStart(1000*60);function timerStart(millisecond) { var timerToken = setInterval(function () { console.log("服务端状态:" + hbs.state) }, millisecond );}app.get('/heartBeatServiceTest', function (req, res) { hbs.state = req.query.state; console.log(req.query.state); res.end("设置完毕:"+ hbs.state);});app.listen(8099);
模拟状态设置使用
http://localhost:8099/heartBeatServiceTest?state=false
http://localhost:8099/heartBeatServiceTest?state=true
调用web接口查看状态结果
http://localhost:8099/heartBeatService
调测
nodejs代码下载:http://download.csdn.net/detail/gzy11/9751187
0 0
- Nodejs心跳包(一)简易监控 --学习笔记
- Nodejs心跳包(二)监控elasticsearch服务器状态--学习笔记
- Nodejs学习笔记(一)
- Nodejs学习笔记(一)
- NodeJs学习笔记(一)
- 学习nodejs笔记一
- nodejs学习笔记一
- Nodejs学习笔记(一)
- NodeJS学习笔记一
- nodejs学习笔记一
- Nodejs学习笔记一
- 菜鸟学习NodeJS笔记(一)
- Nodejs 学习笔记-概括(一)
- 菜鸟学习NodeJS笔记(一)
- nodejs学习(一)-package.json 依赖包具体详解
- nodejs学习(一)
- NodeJs学习(一)
- Nodejs学习(一)
- Android LinearLayout布局
- 认真点,带你全面了解xutils3
- VirtualBox 突然启动报错的解决办法
- android 使用WebView获得加载网页的html代码
- Hibernate相对于Mybatis的缺陷
- Nodejs心跳包(一)简易监控 --学习笔记
- 【CSS3】右上角倾斜文字
- sql分页查询
- SpringBoot + MyBatis 重构 Web 应用
- 自己遇到的问题-easyui部分
- 51单片机的AD/DA转换
- 美团网技术团队分享的MySQL索引及慢查询优化教程
- CSS3 选择器
- 水仙花数