-
Notifications
You must be signed in to change notification settings - Fork 276
其他说明
-
关于rocketmq.zip
版本为4.4.0,建议使用4.x版本。下载来源https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.4.0/rocketmq-all-4.4.0-bin-release.zip。
其中做的修改如下:
-
rocketmq/conf下的四个日志配置文件:logback_*.xml
将${user.home}修改为了${ROCKETMQ_HOME},原因:默认RocketMQ往用户目录下打日志,而用户目录一般在根目录,往往分区比较小,所以改成了rocketmq所在目录。
-
rocketmq/bin下的runserver.sh,runbroker.sh
gc日志目录由/dev/shm改为了${BASE_DIR}/logs
-
os.sh
echo 'deadline' > /sys/block/${DISK}/queue/scheduler echo "---------------------------------------------------------------" sysctl vm.extra_free_kbytes sysctl vm.min_free_kbytes sysctl vm.overcommit_memory sysctl vm.drop_caches sysctl vm.zone_reclaim_mode sysctl vm.max_map_count sysctl vm.dirty_background_ratio sysctl vm.dirty_ratio sysctl vm.dirty_writeback_centisecs sysctl vm.page-cluster sysctl vm.swappiness su - admin -c 'ulimit -n' cat /sys/block/$DISK/queue/scheduler 修改为: if [ ! $DISK ]; then echo 'deadline' > /sys/block/${DISK}/queue/scheduler fi if [ ! $DISK ]; then cat /sys/block/$DISK/queue/scheduler fi echo "`date +%Y%m%d-%H%M%S`" >> /opt/mqcloud/.mq_cloud_inited
-
-
关于nmon.zip
用于收集和监控服务器状况,来自于http://nmon.sourceforge.net。
-
模块介绍及编译
-
模块介绍
- mq-client-common-open与mq-client-open为客户端模块,它封装了rocketmq-client,客户端需要依赖它才能和MQCloud进行交互。
- mq-cloud-common与mq-cloud为MQCloud的web端,实现管理监控等一系列功能。
-
编译(maven需要在3.2.2及以上)
-
mq-client-common-open与mq-client-open最低依赖jdk1.7。
-
mq-cloud依赖jdk1.8,其采用spring-boot实现。
-
编译:
-
在sohu-tv-mq/下,执行mvn clean install -pl "!mq-cloud"(linux系统请将"!mq-cloud"改成'!mq-cloud'执行),将编译并install mq-client-common-open,mq-client-open,mq-cloud-common模块
-
在sohu-tv-mq/mq-cloud/下,执行mvn clean package,将编译并打包mq-cloud.war
-
-
因为mq-client-*相关模块会提供给业务端使用,所以如果涉及到mq-client-*中的代码修改,需要在父pom中修改version,然后执行
mvn -N versions:update-child-modules
,这样所有的子模块的版本均会更新(com.sohu.tv.mq.util.Version
中的版本号也会自动修改)。
-
-
邮件预警实现
可以到
管理后台
中的通用配置
模块进行mail开头相关选项的配置,便可以直接使用邮件预警机制。
-
登录实现
默认的登录采用用户名密码:com.sohu.tv.mq.cloud.service.impl.DefaultLoginService。
当然注册和登录都没有进行太多安全性考虑,主要是基于MQCloud要部署到内网使用。
另外还支持sso登录,可以自行实现类似如下类:
public class SSOLoginService extends AbstractLoginService { @Override protected void auth(HttpServletRequest request, HttpServletResponse response) { // 跳到sso去登录认证 } @Override protected String getEmail(String ticketKey) { // sso回调并携带ticket,这里调用sso进行校验ticket,获取登录id(email) return null; } @Override public void init() { } }
如果采用sso认证登录,auth和getEmail方法的作用参考如下: