将自己写的windows服务加入到windows集群中
最近发现windows集群能进行很多自定义,比如在集群中加入自己编写的服务。
能自定义的可不少,截个图:

本次演示中,只想用“通用服务”这个类型。
- 先列下步骤
- 编写一个记录时间的Windows服务,这个服务会每隔1秒钟写入本地文件当前时间
- 在两台加入了windows集群的服务器中分别安装这个服务(安装即可,不用启动)
- 在windows集群中配置一个新服务,也就是上面这个服务
- 进行故障转移试验
- 编写一个记录时间的Windows服务,这个服务会每隔1秒钟写入本地文件当前时间
这个的代码略,没啥可说的,把安装服务、卸载服务的cmd列下面了(InstallUtil.exe需要根据情况从相应的.net framework目录下找)

我的demo项目会生成如下文件:

- 在两台加入了windows集群的服务器中分别安装这个服务(安装即可,不用启动)
将输出的文件拷贝过去,然后double click install.bat,搞定后会看到服务列表最后多了1个名叫“时间记录器”的服务(两台server都要安装)

- 在windows集群中配置一个新服务,也就是上面这个服务








至此,集群服务增加完成,可以看到2个server中的一个节点已经自动运行服务了(另外一个节点上的服务处于停止状态):

- 进行故障转移试验
我们来手动切换服务运行的节点吧:

切换完成后,服务状态会和原先的倒过来,图略,我们来看看日志:

可以看到,切换所损耗的时间为13秒(看性能...)
将自己写的windows服务加入到windows集群中的更多相关文章
- 玩转Windows服务系列——给Windows服务添加COM接口
当我们运行一个Windows服务的时候,一般情况下,我们会选择以非窗口或者非控制台的方式运行,这样,它就只是一个后台程序,没有界面供我们进行交互. 那么当我们想与Windows服务进行实时交互的时候, ...
- 玩转Windows服务系列——创建Windows服务
创建Windows服务的项目 新建项目->C++语言->ATL->ATL项目->服务(EXE) 这样就创建了一个Windows服务项目. 生成的解决方案包含两个项目:Servi ...
- 玩转Windows服务系列——创建Windows服务
原文:玩转Windows服务系列——创建Windows服务 创建Windows服务的项目 新建项目->C++语言->ATL->ATL项目->服务(EXE) 这样就创建了一个Wi ...
- docker swarm英文文档学习-8-在集群中部署服务
Deploy services to a swarm在集群中部署服务 集群服务使用声明式模型,这意味着你需要定义服务的所需状态,并依赖Docker来维护该状态.该状态包括以下信息(但不限于): 应该运 ...
- Windows下Mongo分片及集群
这里简单介绍一下windows下mongodb的分片设置和集群搭建,希望能够为迷茫的新手起到一点点作用.其实windows下与linux下思路是一致的,只是绑定时的ip,与端口号不同,linux下可以 ...
- windows环境下搭建Redis集群
转载请注明出处,原文章地址: https://www.cnblogs.com/tommy-huang/p/6240083.html Redis集群: 如果部署到多台电脑,就跟普通的集群一样:因为Red ...
- 2 weekend110的zookeeper的原理、特性、数据模型、节点、角色、顺序号、读写机制、保证、API接口、ACL、选举、 + 应用场景:统一命名服务、配置管理、集群管理、共享锁、队列管理
在hadoop生态圈里,很多地方都需zookeeper. 启动的时候,都是普通的server,但在启动过程中,通过一个特定的选举机制,选出一个leader. 只运行在一台服务器上,适合测试环境:Zoo ...
- Windows下建立ArcGIS Server集群
原创文章,转载须标明出处自: http://www.cnblogs.com/gisspace/p/8269525.html -------------------------------------- ...
- windows使用ruby配置redis集群
基本是从网上抄的.不过网上的东西不一定是完全正确的 我修正了一下 首先,资源有限,我就不搞什么主机从机了,我需要的集群实现内存的最大化 四台机器安装redis, 配置成服务, 打开6379端口,集群1 ...
随机推荐
- Android之ListView——ArrayAdapter的学习与总结
问题:当ListView选定的ListItem视图中存在一些UI组件,如CheckBox,希望保存状态,但实际上第一次完成时发现勾选后的选项在列表往下滑再滑回去后,状态没有保存 解决过程: 1)思考后 ...
- 非官方windows下Cpython二进制扩展包下载地址
Unofficial Windows Binaries for Python Extension Packages url:http://www.lfd.uci.edu/~gohlke/pythonl ...
- github 仓库管理
一.远程仓库有master和dev分支1. 克隆代码 git clone https://github.com/master-dev.git # 这个git路径是无效的,示例而已 2. 查看所有分支 ...
- Windows 8.1 应用再出发 (WinJS) - 几种新增控件(2)
上篇我们介绍了Windows 8.1 和 WinJS 中新增控件中的 AppBarCommand.BackButton.Hub.ItemContainer,本篇我们接着来介绍 NavBar.Repea ...
- 准备找工作第三天——java基础_由有道云笔记倒入
循环:跳出多重循环:通过设置标号: 1 ok: 2 for(int i=0;i<10;i++) 3 { 4 for(int j=0;j<10;j++) 5 { ...
- ymPrompt消息组件
<script src="jb51.net/prompt/jquery-1.7.1.js" type="text/javascript"></ ...
- 省市区县镇级联数据JS版
前言:网站开发经常会涉及到报名,报名通常就会有地区级联的要求.如下所示.做这个功能就必须要有数据支撑.昨天努力了一天,从网上鼓捣了一份数据.分享下.纯技术性分享,非盈利的.如果有侵权的地方请知会,马上 ...
- 安装mysql数据库中的技巧、错误排查以及实用命令(持续更新)
针对解压版本5.7.16(博主使用的这个版本.在某些低版本中部分命令失效) 一.初始化data目录(解压版解压后没有data目录) mysqld --initialize-insecure --use ...
- [译]面向初学者的Asp.Net状态管理技术
介绍 本文主要讲解Asp.Net应用程序中的状态管理技术(Asp.Net中有多种状态管理技术),并批判性地分析所有状态管理技术的优缺点. 背景 HTTP是无状态的协议.客户端发起一个请求,服务器响应完 ...
- hibernate 问题集
1.Could not obtain transaction-synchronized Session for current thread 解决方法: 在web.xml中加入如下配置: <fi ...