呃,本人服务器开发小白,完全不熟悉后台开发,借此机会,学习不少服务器知识
一、Windows部署服务器
请参考文档:
https://www.cnblogs.com/endv/p/6442754.html
重点强调:
1、注意文章最后:注册 Windows服务(不正确)测试以后,无法注册!请参考下面的补充内容
2、Windows执行 安装mpush和mpush-alloc时,注意替换脚本命令:加粗的部分为自己安装的路径,否则将无法配置成功
java -Dmp.conf=D:\mpush-0.7.1\conf\mpush.conf -jar bootstrap.jar
java -Dmp.conf=D:\mpush-alloc-0.7.1\conf\mpush.conf -jar bootstrap.jar
补充内容
1、redis 服务器开启启动配置
A) 切换到 redis安装路径
B) 执行一下命令:
redis-server --service-install redis.windows-service.conf --loglevel verbose
常用的redis服务命令。
卸载服务:redis-server --service-uninstall
开启服务:redis-server --service-start
停止服务:redis-server --service-stop
请参考以下博文:
https://blog.csdn.net/blick__winkel/article/details/77986481
之后就可以在服务管理中看的服务了,此次配置可以支持开机自启动
双击,直接启动就可以
2、配置zookeeper window自启动 (按照步骤执行就可以可用)
参考博文https://blog.csdn.net/shengqianfeng/article/details/79297171
注意:
添加ZK_SERVICE, ZK_HOME两个环境变量:
但我添加的是【Administrator】用户的变量,并非系统变量,至于为什么这么做,原理有待研究本人并不懂:
截图
注意install.bat 以【管理员身份运行】
3、编写mpush和mpush-alloc服务自启动脚本(有待完善)
目前写了两个脚本,放在已快捷方式启动 mpush.bat 和alloc.bat ,目前缺点是,mpush和mpush-alloc启动后,还是有两个窗口打开,以后继续完善使其注册为服务方式来运行!
mpush.bat 内容如下:
java -Dmp.conf=E:\mpush\mpush-0.8.0\conf\mpush.conf -jar E:\mpush\mpush-0.8.0\bin\bootstrap.jar
双击运行成功!
alloc.bat内容如下:
java -Dmp.conf=E:\mpush\mpush-alloc-0.8.0\conf\mpush.conf -jar E:\mpush\mpush-alloc-0.8.0\bin\bootstrap.jar
二、redis和zookeeper介绍
部署项目应该成功了,部署完成之后,可能有些懵逼。呃 redis和zookeeper 什么鬼?那么什么是redis?什么是zookeeper呢?redis和Zookeeper在推送项目中有哪些作用呢?
1、redis简介:
Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。
Redis 与其他 key - value 缓存产品有以下三个特点:
Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
Redis支持数据的备份,即master-slave模式的数据备份。
redis优势:
性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。
redis在本项目作用:
redis负责存储推送服务的连接信息,配置信息等,
mpush server用到的数据库存储方式采用 redis的key-value方式
比如客户端绑定用户user-0
redis将会存储一个hash key为mp:ur:user-0
查看方式,上图
1.打开命令行:执行 redis-cli 查看redis服务运行情况
接下来我们看下 redis存储情况
随机查看存储的key ,执行 RANDOMKEY 大小写无所谓
查看 key name 的属性,执行 type key ,可以看到“name”的属性String
查看name的值 执行 get key 命令 查看name 的值为 cc
2、Zookeeper简介:
Zookeeper是一个高效的分布式协调服务,可以提供配置信息管理、命名、分布式同步、集群管理、数据库切换等服务。它不适合用来存储大量信息,可以用来存储一些配置、发布与订阅等少量信息。Hadoop、Storm、消息中间件、RPC服务框架、分布式数据库同步系统,这些都是Zookeeper的应用场景。
Zookeeper集群中节点个数一般为奇数个(>=3),若集群中Master挂掉,剩余节点个数在半数以上时,就可以推举新的主节点,继续对外提供服务。
--------------------- 本文来自 努力做最好的自己 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/qiushisoftware/article/details/79043379?utm_source=copy
推送框架Zookeeper集群测试(Zookeeper的研究还需完善)
我测试时,采用了两台服务器,按照步骤部署了两个Zookeeper 服务
分别修改了 mpush-alloc 和 mpush-server的 conf路径下的 mpush.conf文件,增加了Zookeeper节点
Zookeeper集群介绍,参考这篇博文
https://blog.csdn.net/qiushisoftware/article/details/79043379?utm_source=copy
也可以将zookeeper 在一台服务器部署多个zookeeper服务
3、alloc 分布式部署 (待续...)