别再用硬编码写业务流程了,试试这款轻量级流程编排框架

前言 在每个公司的系统中,总有一些拥有复杂业务逻辑的系统,这些系统承载着核心业务逻辑,几乎每个需求都和这些核心业务有关,这些核心业务业务逻辑冗长,涉及内部逻辑运算,缓存操作,持久化操作,外部资源调取,内部其他系统RPC调用等等。时间一长,项目几经易手,维护的成本得就会越来越高。各种硬代码判断,分支条 ... »

我没有前端经验,但1天就搞定了开源项目主页

前言 前段时间打算为自己的开源项目做一个主页,一方面有个好的门面能提升项目的关注度,一方面也能对项目所涉及的资源做一个整合。 其实原先项目已经有一个文档主页,比较简洁,大致长这样: 其实看起来也还可以是不? 这是用docsify做的,docsify是一款优秀的文档生成工具,使用起来比较简单,只需要写 ... »

一步步教你用Prometheus搭建实时监控系统系列(二)——详细分析拉取和推送两种不同模式

前言 本系列着重介绍Prometheus以及如何用它和其周边的生态来搭建一套属于自己的实时监控告警平台。 本系列受众对象为初次接触Prometheus的用户,大神勿喷,偏重于操作和实战,但是重要的概念也会精炼出提及下。系列主要分为以下几块 Prometheus各个概念介绍和搭建,如何抓取数据 如何推 ... »

一步步教你用Prometheus搭建实时监控系统系列(一)——上帝之火,普罗米修斯的崛起

上帝之火 本系列讲述的是开源实时监控告警解决方案Prometheus,这个单词很牛逼。每次我都能联想到带来上帝之火的希腊之神,普罗米修斯。而这个开源的logo也是火,个人挺喜欢这个logo的设计。 本系列着重介绍Prometheus以及如何用它和其周边的生态来搭建一套属于自己的实时监控告警平台。 本 ... »

Springboot启动扩展点超详细总结,再也不怕面试官问了

1.背景 Spring的核心思想就是容器,当容器refresh的时候,外部看上去风平浪静,其实内部则是一片惊涛骇浪,汪洋一片。Springboot更是封装了Spring,遵循约定大于配置,加上自动装配的机制。很多时候我们只要引用了一个依赖,几乎是零配置就能完成一个功能的装配。 我非常喜欢这种自动装配 ... »

记一次公司JVM堆溢出抽丝剥茧定位的过程

背景 公司线上有个tomcat服务,里面合并部署了大概8个微服务,之所以没有像其他微服务那样单独部署,其目的是为了节约服务器资源,况且这8个服务是属于边缘服务,并发不高,就算宕机也不会影响核心业务。 因为并发不高,所以线上一共部署了2个tomcat进行负载均衡。 这个tomcat刚上生产线,运行挺平 ... »

如何发布自己的项目到中央仓库

1 以前在github发开源项目,都因为懒,从来不构建到中央仓库。最近因为其他人要用,联系我。希望可以发到中央仓库。我想,不就是mvn deploy嘛,开搞。一圈弄下来,发现真没那么简单。当中遇到了无数的坑,让我每一次都心里默默念到,发个项目,为何如此痛苦。 现将痛苦的过程详细记录下来。希望可以帮助 ... »

Redis中的Scan命令踩坑记

1 原本以为自己对redis命令还蛮熟悉的,各种数据模型各种基于redis的骚操作。但是最近在使用redis的scan的命令式却踩了一个坑,顿时发觉自己原来对redis的游标理解的很有限。所以记录下这个踩坑的过程,背景如下: 公司因为redis服务器内存吃紧,需要删除一些无用的没有设置过期时间的ke ... »

给日志打标签,让你的日志定位再无困难

背景 不知道各位在生产日志中定位问题时有没有碰到这样的场景:由于coding的时候日志输出的比较少,出现问题时,很难通过日志去定位到问题。又或者是,你明明coding的时候有输出日志。但是在庞大的日志文件中,由于业务线程并发比较多,你输出的日志又没有加关键信息。你也很难定位到你所需要的日志信息。 之 ... »

可能这是Redis可视化工具最全的横向评测

1 命令行 不知道大家在日常操作redis时用什么可视化工具呢? 以前总觉得没有什么太好的可视化工具,于是问了一个业内朋友。对方回:你还用可视化工具?直接命令行呀,redis提供了这么多命令,操作起来行云流水。用可视化工具觉得很low。 命令行的鄙视用工具的,用高端工具的鄙视低端工具的,鄙视链一直存 ... »

Redis如何存储和计算一亿用户的活跃度

1 前段时间,在网上看到一道面试题: 如何用redis存储统计1亿用户一年的登陆情况,并快速检索任意时间窗口内的活跃用户数量。 觉得很有意思,就仔细想了下 。并做了一系列实验,自己模拟了下 。还是有点收获的,现整理下来。和大家一起分享。 Redis是一个内存数据库,采用单线程和事件驱动的机制来处理网 ... »