190104-Quick-Fix 纯Jar应用及扩展手册

目前Quick-Fix框架提供了两种类型,三中不同场景下的Fixer,一种是以Jar方式启动的,一个是基于Spring生态体系玩法的,下面主要介绍这jar方式,如何使用QuickFix来实现应用内服务调用和数据订正

阅读更多

190102-Quick-Fix 从0到1构建一个应用内服务/数据访问订正工具包

I. 背景说明

Builder

case1: 程序出bug了

在我们的实际工作中,当我们遇到别人反馈代码出问题了吧,怎么返回的数据不对?

当应用持续跑了一段时间之后,这个时候我们的第一个反应基本是确认能复现么?如果能复现,那么调用的姿势是不是对的?如果确认姿势没问题,那么就是请求参数不对了!!! 如果请求参数还没有问题,卧槽,这下完了,真可能有bug了,这下怎么办?

接下来,一般的讨论是在测试环境复现一下,如果能复现,那么开启debug(或者远程debug),一行行调试,相信很快就能搞定了;

但是,最怕的就是但是,测试环境没法复现,至于线上环境才有问题,这下怎么搞?

case2: 缓存数据有问题

另外一个场景就是为了提升服务性能,缓存基本上会被大量的使用在各个系统之间;有缓存,那么就会有缓存不一致的问题,如果缓存用的是外部的如(redis/memcache)之类的,那么缓存数据的查询和订正,就相对简单了;但是,如果我们使用了内存作为数据的缓存,比如(hashmap, guava),这种时候,我想知道这个内存中的数据怎么办?我想修改这个内存的中的数据怎么办?

3. 小结

上面两个场景,归纳一下主要是两个问题

  • 如何知道线上应用中,某个服务的方法的执行结果;
  • 如何知道线上应用中,某些内存数据的结果

阅读更多

181230-使用Java Socket实现一个http服务器

作为一个java后端,提供http服务可以说是基本技能之一了,但是你真的了解http协议么?你知道知道如何手撸一个http服务器么?tomcat的底层是怎么支持http服务的呢?大名鼎鼎的Servlet又是什么东西呢,该怎么使用呢?

在初学java时,socket编程是逃不掉的一章;虽然在实际业务项目中,使用这个的可能性基本为0,本篇博文将主要介绍如何使用socket来实现一个简单的http服务器功能,提供常见的get/post请求支持,并再此过程中了解下http协议

阅读更多

181222-Centos SSH免密登录配置不生效问题fix

centos添加ssh免密配置,结果发现登录时,依然要求设置密码,记录一下解决过程与最终的方案

阅读更多

181221-Centos虚拟ip添加删除查看

本文主要包括虚拟ip的查询,删除与新增的使用姿势

阅读更多

181220-Shell-目录遍历获取指定的文件

遍历目录,获取需要的文件

直接贴对应的实现脚本

1
2
3
4
5
6
cd /home
for dir in $(ls)
do
# 如果是目录,则打印目录名
[[ -d ${dir} ]] && echo ${dir}
done

阅读更多

181219-centos配置开机后启动脚本

配置开机后执行脚本

配置相对简单,添加一个执行命令即可

1
2
3
4
vim /etc/rc.d/rc.local

# 在文件最后添加
sh /home/yihui/xxx.sh

执行脚本,添加上可执行的权限即可

阅读更多

181208-mysql之给现有表新增自增字段

I. 问题描述

一张现有的表,没有自增主键,拿的是一串字符串作为的表的主键,实际使用来,并没有什么问题,但是在扫表的时候就不是特别的方便了,

因此希望给这张表新增一个自增的id

阅读更多

181207-Centos使用docker构建ecs环境

I. java环境搭建

首先是jdk的安装,可以安装open-jdk,也可以从jdk官网下载jdk包进行配置,简单说明下两种使用方式

阅读更多

181203-Python之Mongo基本使用姿势

借助pymongo实现mongo的基本操作

阅读更多

181129-mysql表锁死解决办法

MySQL表修改频繁,导致表被锁死,悲催的表现时这个表完全没法继续使用了,查询,修改,删除都不能使用,这种场景下除了重启mysql服务之外还可以怎么处理?

阅读更多

181120-Python之Mysql异步使用篇aiomysql使用小结

db的读写操作可以算是io型,对于简单的sql,获取数据的数据可能远小于传输的时间,针对这种操作,异步的访问方式就比较占优势了。本篇主要介绍在python中如何借助aiomysql来实现db的异步读写

阅读更多

181119-Redis性能监控之Redis-Stat

redis性能监控工具

使用 redis-stat 进行redis的性能监控数据收集

阅读更多

181118-Python之Mysql基本使用篇

I. 基本使用篇

这里主要使用mysql的基本使用姿势,也就是最常见的增删改查,这里主要是使用pymysql这个包来操作

阅读更多

181117-Python异步之asyncio

本篇主要是asyncio这个包的使用,如何使用协程,以及协程和线程可以怎么配合使用,得到更加的使用效果

阅读更多

181117-Python线程与协程

本篇博文主要介绍python中线程与协程的简单使用姿势

阅读更多

181116-Python函数特性

本篇博文主要介绍一些高级的函数特性,如map,reduce,filter,sort,装饰器,lambda等

阅读更多

181114-Python高级特性

python的一些高级特性记录小结,主要就是列表生成是和生成器的使用姿势

阅读更多

181113-Python基础笔记

本篇记录python基础内容学习笔记

阅读更多

181112-springboot应用下线配置

本篇记录SpringBoot 2.x借助Actuator实现优雅的下线的配置方式

阅读更多

渲染
渲染