Mass Service Engine in Cluster(MSEC) is opened source by QQ team from Tencent. It is a backend DEV &OPS engine, including RPC,name finding,load balance,monitoring,release and capacity management.
项目目前是存档状态,感谢您对腾讯开源项目的关注!您可以继续fork后更新迭代,感谢理解和支持;如果您有其他疑问,建议请发送邮件:[email protected] 与我们联系
这里是毫秒服务引擎的代码,分好几个模块,开发语言主要是java和c/c++。每个模块需要单独编译。
同时提供编译好的docker镜像可以快速部署,强烈推荐。
下载到源代码后,在能够连接外网的linux服务器上手工执行get_third_party.sh脚本,会下载各模块用到的外部库,保存在third_party目录下; srpc_java和logsys是maven组织的java项目,mvn通过pom.xml配置自动下载用到的外部库。
Web console的代码在msec_console子目录,是一个典型的Java Web Application。目录msec_console下的src子目录是java代码,web子目录是静态页面、css、图片等web资源文件。
几乎所有上面的jar都能在 http://mvnrepository.com/ 下载到。
#3、remote shell#
子目录remote_shell是console服务器用来对业务运营机进行文件传输、远程命令执行的系统的代码。典型的应用场景是:发布的时候利用remote_shell系统传输发布文件、执行发布命令。
子目录remote_shell下又有三个子目录:
server用到:
agent用到:
子目录monitor是一套集中式的监控服务,该监控服务既可作为msec的集中式监控服务供msec业务上报,也可单独部署并使用独立的standalone_console进行管理。典型的应用场景是:业务上报监控到监控agent,监控agent汇总定时上报给监控服务,开发运营人员通过msec的web_console页面或独立部署的standalone_console页面查看业务监控汇总视图。
子目录monitor下又有三个子目录:
standalone_console是一个典型的Java Web Application。子目录standalone_console下的src子目录是java代码,web子目录是静态页面、css、图片等web资源文件。
server用到:
standalone_console用到:
子目录redis_console是一套基于redis cluster的KV运维管理平台。Web侧的代码在redis_console子目录,是一个典型的Java Web Application。子目录redis_console下的src子目录是java代码,web子目录是静态页面、css、图片等web资源文件。子目录monitor_server提供了一套专用于redis服务的监控系统,和msec的monitor服务的代码实现有些微的差别,但代码路径格式是一致的。
monitor_server/server用到:
redis_console用到:
特别注明:
如果用于部署,redis_console子目录中的web\resources\redis.tgz里需要加上redis的二进制服务,包含redis-server和redis-cli。
nlb是一套网络负载均衡寻址系统。源码在子目录nlb下,使用纯C语言开发。src目录为所有代码,代码主要包含agent和api两部分,配置通过zookeeper集群下发,由web console导入配置到zookeeper集群。
源码目录介绍:
srpc是一个逻辑层rpc框架。子目录spp_rpc是srpc的源码,使用C作为主开发语言,支持C/Python/PHP语言,C++支持微线程。
源码主要目录介绍:
srpc_java是一个逻辑层的java框架, 对应的子目录是msec_srpc_java。
源码主要目录介绍:
子目录elsticsearch是一套基于Elasticsearch的日志集群管理平台。
Web侧的代码在es_console子目录,是一个典型的Java Web Application。目录下的src子目录是java代码,web子目录是静态页面、css、图片等web资源文件。
业务侧需要部署flume agent,并通过日志系统提供的api将数据通过agent集中发往Elasticsearch集群,关键的代码在logsys子目录。该目录下的目录介绍如下:
es_console用到的库:
logsys用到的库: