Docker中如何控制服务启动顺序实现探讨 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。Docker的应用场景Web 应用的自动化打包和发布。自动化测试和持续集成、发布。在服务型环境中部署和调整数据库或其他的后台应用。
shell 脚本批量更新本地git仓库 你是否遇到这样的场景: 本地git仓库克隆了线上的多个项目,需要更新时,无法象svn一样,选中多个项目一起更新。只能苦逼的一个个选中,然后去同步,如果有太多项目的话,费事费力,容易遗漏!
springboot工程中使用tcp协议 在上文JAVA TCP协议初体验中,我们使用java实现了tcp协议的一个雏形,实际中大部分项目都已采用springboot,那么,怎么在springboot中整合tcp协议呢?如何实现服务器controller通过tcp协议下发命令到tcp client执行,并且在controller中获取执行结果?
JAVA TCP协议初体验 最近开发某数据采集系统,系统整体的数据流程图如下:fill:#333;color:#333;color:#333;fill:none;数据中心客户端1客户端2客户端3客户端4同时,数据中心又需要下发命令到某客户端执行,客户端执行完成后将结果通知到数据中心。
客户端负载均衡Ribbon实例 一般来说,提到负载均衡,大家一般很容易想到浏览器 -> NGINX -> 反向代理多个Tomcat这样的架构图——业界管这种负载均衡模式叫“服务器端负载均衡”,因为此种模式下,负载均衡算法是NGINX提供的,而NGINX部署在服务器端。
普通Java工程如何在代码中引用docker-compose.yml中的environment值 普通Java工程这里指非spring工程,主要指一些系统资源监控程序、数据日志清理程序等,需要保持依赖简单,执行文件体积微小方便部署,这些程序需要需要跟数据库交互,例如需要将监控数据持久化到db、连接数据库清理过期数据等。
如何魔改vnstat-docker项目使其支持每1分钟采样? 接前文网络流量监控神器vnStat初探我们已经了解了vnStat的作用、使用和docker部署。同时也了解到官方版本支持的采样统计间隔最小为5分钟级,现在我们有一个需求希望将采样统计间隔修改为分钟级,我们该怎么做呢?
服务器流量收发测试-续篇 接上回书服务器流量收发测试springboot定时任务同时,我们也发现,springboot定时任务方式太过重量级,crontab + curl则需要比较高的权限,并需要安装 crontab 系统服务。那么有没一种轻量级的方法,实现同样的功能呢?答案是肯定的,下面我们使用普通java工程来实现相同的功能。
wondershaper 一款限制 linux 服务器网卡级别的带宽工具 奇迹整形器是一个脚本,允许用户限制一个或多个网络适配器的带宽。它通过使用iproute的tc命令来实现这一目的,但极大地简化了操作过程。该工具最初由Bert Hubert在2002年发布,最初的版本缺乏命令行界面,从1.2版本开始增加了此功能。自1.3版起,采用了HTB队列而非CBQ,这在高于10兆比特的高速链路上提供了更好的带宽管理能力。1.4版中实现了改进的入站流量整形方法,并增加了对下载或上传(两者都限制也是可能的)速率设定的能力。
网络流量监控神器vnStat初探 vnStat是一款网络流量监测工具,它利用内核提供的网络接口统计数据作为信息来源。这意味着vnStat并不会实际嗅探任何流量,同时也确保了无论网络流量大小,系统资源的轻量级使用。默认情况下,流量统计以五分钟级别保存最近48小时的数据,以小时级别保存最近4天,以日级别保存过去两个完整月,以年级别永久保存。数据保留期限完全可由用户配置。同时提供总流量和最活跃日期列表。
java解析json复杂数据补充 在java解析json复杂数据的两种思路一文中,我们提到 将JSON字符串转化为JavaBean的方案。注意到需保证实体属性与json key全部严格对应,其实jackson也支持解析时忽略无法识别字段。