Stella981 Stella981
3年前
Jenkins部署失败后快速回滚到指定版本
  jenkins部署过程中,有时会遇到构建后项目启动失败的情况,如果情况紧急那就要快速回滚代码,手动回滚是相当的麻烦。可以用Jenkins结合Shell脚本来完成一键回滚操作。新建一个maven工程设置历史版本的构建包个数,方便本次构建失败后能回滚回去!(https://oscimg.oschina.net/oscn
Stella981 Stella981
3年前
Docker 镜像
我们都知道,操作系统分为内核和用户空间。对于Linux而言,内核启动后,会挂载 root 文件系统为其提供用户空间支持。而Docker镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:18.04 就包含了完整的一套Ubuntu18.04最小系统的 root 文件系统。Docker镜像是一个
Stella981 Stella981
3年前
APM JAVA 探针(
1.APM客户采集典型的三种方案Pinpoint:基本不用修改源码和配置文件,只要在启动命令里指定javaagent参数即可,对于运维人员来讲最为方便;Zipkin:需要对Spring、web.xml之类的配置文件做修改,相对麻烦一些;CAT:因为需要修改源码设置埋点,因此基本不太可能由运维人员单独完成,而必
Stella981 Stella981
3年前
Netty里面的Boss和Worker【Server篇】
Netty里面的Boss和Worker【Server篇】最近在总结Dubbo关于Netty通信方面的实现,于是也就借此机会深入体会了一下Netty。一般启动Netty的Server端时都会设置两个ExecutorService对象,我们都习惯用boss,worker两个变量来引用这两个对象,于是从我一开始接触Netty就有了boss和worker的概念。
Wesley13 Wesley13
3年前
uikiller再度进化支持Cocos Creator 2.0
1\.前言早在8月24日,公众号收到网友Vincent的留言,提醒我uikiller库在CocosCreator2.0上有错!惊出一身冷汗,怎么忘记这个事了。晚上回到家,迅速启动CocosCreator2.0打开uikiller工程,确实是有问题,还好问题不严重,立马做了修改并推送到github仓库增加了v2分支,在此感谢
Stella981 Stella981
3年前
Spring Boot 2.X整合Spring
计算机领域有人说过一句名言:“计算机科学领域的任何问题都可以通过增加一个中间层来解决”,今天我们就用Springcache给网站添加一层缓存,让你的网站速度飞起来。本文目录一、SpringCache介绍二、缓存注解介绍三、SpringBootCache实战1、pom.xml引入jar包2、启动类添加@EnableCaching注解
Stella981 Stella981
3年前
Beyond Compare 3添加右键菜单
目前是在BeyondCompare3.1.9版本上试验可行,其他版本上尚未测试。添加右键菜单步骤:1.新建为.bat后缀的文本,将下面“添加右键菜单批处理”复制到此文本中。2.将批处理移动到BeyondCompare3安装目录。3.双击批处理开始执行。4.打开BeyondCompare3软件,工具选项启动,勾选“在资源
Stella981 Stella981
3年前
Nginx+uWSGI+Django原理
Python的Web开发中,如果使用Django框架,那么较为成熟稳定的服务器架构一般是NginxuWSGIDjango。而为什么一定要三个结合在一起呢?直接使用Django的runserver来启动服务器进程,或者uWSGIDjango可不可以呢?为什么? 概念说明:APP(应用程序),就是开发者写的应用程序,例如djang
Wesley13 Wesley13
3年前
mysql too many connection 解决
  最近的项目用了动态切换数据源起初感觉还好,后来发现每次切换数据库都会创建一个新的连接,这样就导致大量的sleep线程。而mysql的默认sleep时间是28800秒。。。。默认最大连接数为151,这就导致经常会出现mysqltoomanyconnection的异常,需要重新启动项目太麻烦于是就搜了些解办法1;showvariablesli
Stella981 Stella981
3年前
JVM 之 运行时数据区(更新)
第一篇JVM之Class文件结构(http://my.oschina.net/HeliosFly/blog/356517)JVM定义了一系列程序运行期间使用的运行时数据区(runtimedataarea)。这些数据区域中的一些随着JVM的启动而创建直到JVM的停止而销毁,而另一些则随着某个线程的创建而创建,随着线程的销毁而销毁。为