What

产品经理、测试人员、开发人员统一在Gitlab中管理需求bug

Why -> 为什么通过Gitlab issue管理,而不是Jira、Redmine等工具?

  1. 开发团队最终交付物为项目代码,需求bug最终都会转换为一行代码、一次MR。通过issue可以让每一步都可以溯源。
  2. Gitlab issue更轻量,markdown语法让issue更专注于内容本身
Read more »

http log

本文旨在讨论如何利用aop打印springboot http日志,包括访问日志、接口返回response,以及异常堆栈信息。

背景

为什么需要log

有过线上问题排查经历的同学都知道,日志可以给你提供最直白、最明确的信息。此外,通过对日志的收集、审计,可以对BI以及系统健壮性提供建议。尤其是新系统上线之初,系统稳定性不足,更需要日志监控。

Read more »

本文项目已发布到github,后续学习项目也会添加到此工程下,欢迎fork点赞。
https://github.com/wangyuheng/spring-boot-sample

国际化

简单来说,国际化就是让应用(app、web)适应不同的语言和地区的需要,比如根据地区选择页面展示语言。

i18n=internationalization,首末字符i和n,18为中间的字符数

原理

基于传入语言or地区标识进行判断,输出不同内容。伪代码如下:

Read more »

wikipedia的解释

弗兰兹·卡夫卡,生活于奥匈帝国统治下的捷克德语小说家,本职为保险业职员。主要作品有小说《审判》、《城堡》、《变形记》等。

kafka官网的解释

Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量分布式 发布订阅 消息系统,它可以处理消费者规模的网站中的所有动作流数据。

两个kafka有一个共同特点: 很会写

消息系统

实现低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。

Read more »

项目源码地址: github

背景

通过plantuml绘制数据库ER图,手写字段信息成本太大。需要一套DDL转换plantuml的工具。

方案

  1. 读取同目录下ddl.sql文件
  2. 基于 ; 分割建表语句
  3. 依赖 druid 进行sql解析
  4. 定义plantuml模版
  5. replaceAll替换模版内容
Read more »

背景

公司为了快速上线,几个月前通过docker镜像 kafka 部署了一台kafka-borker。Dockerfile如下

FROM wurstmeister/kafka:latest

ENV KAFKA_MESSAGE_MAX_BYTES=21474836
ENV KAFKA_AUTO_CREATE_TOPICS_ENABLE=true
ENV KAFKA_CREATE_TOPICS=test:1:1
ENV KAFKA_ZOOKEEPER_CONNECT=zk1:2181

VOLUME ["/kafka"]

随着业务的增长,单节点的kafka-broker已经成为一个潜在的可靠性隐患。所以借着N年难得一遇的停机维护,决定把kafka-broker扩容为主备集群模式,提升稳定性,并为日后的分区扩容提供可能(不停服)。

Read more »

如何搭建一个监控系统

生产环境必须是可监控的,一个对开发者黑盒的线上应用无异于灾难。一个简单的监控系统大致包含以下几部分:

  1. 采集数据
  2. 保存数据
  3. 数据可视化
  4. 监控告警

m0

Read more »

前提

微服务通过http协议进行内容传递,因为http协议自由且松散,所以有必要提供一套强有力的约定来限制接口。
服务内部实现,可以基于个人编程风格,但涉及到交互协作,必须提供风格一致的输入输出,减少开发与维护成本。

Read more »