欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~

织云 Lite & TSW

织云 Lite 是一款轻量型服务管理平台,提供标准化的应用打包操作,可连接持续集成系统,完成线上程序分发,轻松实现进程管理。织云 Lite 的安装部署请参考论坛:http://bbs.coc.tencent.com/forum.php?mod=viewthread&tid=24&page=1#pid27

TSW(Tencent Server Web)是面向 WEB 前端开发者,以提升问题定位效率为初衷,提供云抓包、全息日志和异常发现的 Node.js 基础设施。TSW 每天为百亿次请求提供稳定服务,广泛应用在 QQ 空间、微视、微云、QQ 音乐、全民 K 歌、腾讯云等三十多个重要业务当中。

TSW 对于前端开发来说,简单易用,但是如何更好地在生产环境进行快速批量部署、起停和升级等维护操作,需要各个使用者自己去搞定,如果没有一个称手的运维平台,在生产环境的维护也还是有点费劲的。

好马配好鞍,织云 Lite 为 TSW 提供了一系列自动打包的脚本,在您的生产环境部署了织云 Lite 的前提下,只需一键执行下面的脚本,就能将 Nodejs、TSW 在织云 Lite 上打包,带来下述维护上的便利:

  • 文件包组织:进程依赖的库、配置文件、工具脚本打成文件包。
  • 版本迭代管理:可视化管理文件包,及对应版本安装的机器列表。
  • 秒级发布回滚:每次版本变更只需增量传送变动文件,敏捷高效。
  • 集中式管理:收拢发布入口,避免操作冲突,方便协同操作。
  • 操作查询:统一查询入口,所有现网变更一目了然。
  • 进程管理:可以定制每个进程的启停方式,挂掉后自动拉起。

通过织云 Lite 运维 TSW

首先我们提供了通过脚本在织云 Lite 上一键打包的脚本,脚本下载链接:

http://bbs.coc.tencent.com/forum.php?mod=viewthread&tid=63&extra=page%3D1

脚本主要逻辑:

• 从 Github 下载 TSW 安装包,然后解压到指定目录,做必要的初始化设置

• 调用织云 Lite 创建新包的 API 在包系统上生成 TSW 的安装包

脚本在执行之前,请详细阅读脚本开头对执行环境的要求并确认是否满足,脚本执行成功之后,登录你的织云 Lite 管理系统,搜索 TSW,可以看到创建的新包,下面我对通过脚本创建的 TSW 包做一个详细说明:

包的基本信息如下图:

文件目录结构如下:

Bin 目录下包含下列脚本:

启动(后台模式) -- TSW/bin/proxy/startup.sh

停止 -- TSW/bin/proxy/shutdown.sh

重启 -- TSW/bin/proxy/restart.sh

热重启(shell)-- TSW/bin/proxy/reload.sh

热重启(任意用户) -- curl 127.0.0.1:12701/reload

收集1000个请求,并生成报告 -- TSW/bin/proxy/top100.sh

config对象快照到文件 -- TSW/bin/proxy/dump.config.sh

global对象快照到文件 -- TSW/bin/proxy/dump.global.sh

内存快照到文件 -- TSW/bin/proxy/dump.heap.sh

采集 5 秒 cpu 使用情况快照到文件 -- TSW/bin/proxy/dump.cpu.sh

起停方式如下,织云 Lite 支持热重启,这个也是织云Lite 最新发布的版本 V 1.1 新特性,可以无损服务重新加载配置。

通过织云 Lite 对 TSW 进行快速发布:

通过织云 Lite 对包进行启动、停止、重启、reload、升级、降级和卸载等维护操作

Nodejs 织云 Lite 自动打包脚本

Nodejs织云 Lite 打包脚本下载链接((只支持 x 86 架构):

http://git.code.oa.com/ZhiyunLite/ZhiyunLiteRelease/blob/master/create_nodejs_package.sh

脚本主要逻辑:

• 从官方网站下载 nodejs 安装包,然后解压到指定目录

• 调用织云 Lite 创建新包的 API 在包系统上生成 nodejs 的安装包

• 安装包后置脚本逻辑:将 nodejs 的 node 命令软链到 /usr/local/bin/node

脚本运行成功之后,就可以在包系统对生产环境的设备进行批量部署和维护操作啦,操作方式与上面 TSW 的一样。

最后笔者想说的就是,通过织云 Lite不止能愉快地玩转 TSW,也能愉快的玩转其他后台程序。

织云现已发布如下产品,请戳以下链接预约体验

织云企业版,打造企业智能运维门户

https://wj.qq.com/s/1811727/8465

织云Lite: 极致简约,让运维变得简单

https://wj.qq.com/s/1999246/60ae

织云Metis:织云AIOps体系,智能运维应用实践

https://wj.qq.com/s/2024612/b6d1
 
此文已由作者授权腾讯云+社区发布,原文链接:https://cloud.tencent.com/developer/article/1132288?fromSource=waitui

如何通过织云 Lite 愉快地玩转 TSW的更多相关文章

  1. 织云Lite发布:详解包管理核心能力

    本文由 织云平台团队 发布于 腾讯云云+社区 织云Lite发布 腾讯织云自动化运维体系经过10年技术积淀,维护近万个业务模块,超过20万节点.鉴于业界朋友的呼声,我们将织云的核心功能独立抽象出来,凝结 ...

  2. 用Python来玩微信跳一跳

    微信2017年12月28日发布了新版本,在小程序里面有一个跳一跳小游戏,试着点一点玩了下.第二天刚好在一篇技术公众号中,看到有大神用Python代码计算出按压时间,向手机发送android adb命令 ...

  3. window下安装jupyter

    1.Install [Anaconda](https://docs.continuum.io/anaconda/install#anaconda-install) 实际上安装了anaconda就已经安 ...

  4. eclipse创建maven管理Spark的scala

    说明,由于spark是用scala写的.因此,不管是在看源码还是在写spark有关的代码的时候,都最好是用scala.那么作为一个程序员首先是必须要把手中的宝剑给磨砺了.那就是创建好编写scala的代 ...

  5. 《当心PyCharm里的中文引号陷阱》

    用PyCharm照着书敲的一段Python代码,运行起来总报错: "UnicodeEncodeError: 'ascii' codec can't encode character '\u2 ...

  6. NOIp蒟蒻的爆零记——HA-0132

    考前: 从十一月开始的听课集训,连考六场:考前的最后两天写(da)着(zhe)各种各样的奇(C)葩(S)模板:一周的疯狂,已经过去: 考前的一晚:第二批高二的六个人聚在一起(还有滑稽大师),愉快的玩( ...

  7. Python2和Python3在windows下共存

    Python2.7 和 Python3不兼容,两种环境可能都会用到.ubuntu14.04中已经默认安装了这两个版本,在shell中输入python会自动进入Python2.7的交互环境,输入Pyth ...

  8. Android开发之万能适配器

    ListView.GridView等等非常多的东西都需要适配器.而如果开发一个app每一个listview都有写一个Adapter的话,那还怎么愉快的玩游戏.. 什么是ViewHolider以及的用法 ...

  9. Win7下通过easyBCD引导安装Ubuntu14.04

    Ubuntu14.04作为目前最新版本的ubuntu系统,相信很多人都想在自己的电脑上安装一下,然而系统的安装方法各式各样,u盘法.grub引导法等等,这里我将介绍在win7系统下用easyBCD软件 ...

随机推荐

  1. SharePoint 2007 文档库中的文档添加评论功能

    背景:接到一个项目,要求文档管理,当然文档库就可以了,但是要求文档需要大家去读,读完以后还可以发表评论,这Moss貌似就有点困难了.和同事一起合计,想来想去也没有太好的办法,后来想到传统开发,两个表的 ...

  2. java--字符编码,正则表达式

    转载请申明出处:http://blog.csdn.net/xmxkf day21   字符编码 06-IO流(转换流的字符编码) 字符编码: 1. 字符流的出现为了方便操作字符,更重要的是加入了编码转 ...

  3. fastDFS与java整合文件上传下载

    准备 下载fastdfs-client-java源码 源码地址 密码:s3sw 修改pom.xml 第一个plugins是必需要的,是maven用来编译的插件,第二个是maven打源码包的,可以不要. ...

  4. Asp.NetCore+Microsoft.AspNetCore.SignalR前后端分离

    1.新建WebApi 2.安装Microsoft.AspNetCore.SignalR 3.新建一个集线器和消息类 using Microsoft.AspNetCore.SignalR; using ...

  5. IOS空数据页面,网络加载失败以及重新登陆View的封装(不需要继承)

    一.问题 对于B2C和B2B项目的开发者,可能会有一个订单列表为空,或者其他收藏页面为空,用户token失效,判断用户要重新登陆,以及后台服务错误等提示.本篇课文,看完大约10分钟. 原本自己不想写空 ...

  6. Copy List with Random Pointer(复杂链表复制)

    输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head.(注意,输出结果中请不要返回参数中的节点引用,否则判题程序 ...

  7. js 逻辑运算符优化

    运算符的代码优化,可以精简代码,提高代码可读性 下面主要讨论下逻辑运算符与 &&, 或||. 示例: 假设对成长速度显示规定如下: 成长速度为5显示1个箭头: 成长速度为10显示2个箭 ...

  8. linux下redis单机版搭建

    1.1.什么是redis Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库.它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止Redis支持的键值数据类型如下: ...

  9. Golang适合高并发场景的原因分析

    http://blog.csdn.NET/ghj1976/article/details/27996095 典型的两个现实案例: 我们先看两个用Go做消息推送的案例实际处理能力. 360消息推送的数据 ...

  10. JSP Debug日志

    2006年末一篇blog,那时候好生涩啊: 先谈两个关于reponse.sendRedirect()函数的问题 :      1.在Servlet的处理流或JSP的页面流中,sendRedirect( ...