0%

什么是单元化

单元化是将一个系统的架构按照某种数据特征纬度进行垂直的划分。例如:有100万用户,按用户纬度进行划分,分为10个单元,每个单元存储10万个用户资料。
一个单元就是一个能完成所有业务操作的自包含集合,该集合中包含了业务所需的所有服务,以及分配到该单元的数据

阅读全文 »

在开始、提交、回滚事务时推荐使用SQL语句START TRANSACTIONCOMMITROLLBACK然后执行进行操作,可以统一断线重连的处理逻辑。

阅读全文 »

数据库:物理操作系统文件或其它形式文件类型的集合.
数据库实例:由数据库后台进程/线程以及一个共享内存区组成.
数据库实例才是真正用来操作数据库文件的.

阅读全文 »

问题分析

线上服务异常终止,通过分析core dump信息,对应用层的数据进行分析,排除了应用层的问题,然后怀疑是json库存在问题

阅读全文 »

CGI

CGI(Common Gateway Interface)通用网关接口,是Web服务器与Server进行数据传递的一种标准协议.
Server每次接收到Web服务器的一个CGI请求后fork一个子进程去exec特定的CGI程序,Server收到的参数通过环境变量传递,在fork后对子进程的标准输入/标准输出/标准错误输出进行重定向,重定向到父进程生成的IPC文件描述符.exec特定的CGI程序,替换成功后等待子进程的运算结果,受到结果将其返回给浏览器.其中Web服务器和Server的通信通过标准输入/标准输出/标准错误输出进行,Server从标准输入读取参数,向标准输出输出数据即可.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Web浏览器       -->        Web服务器           -->             Server
1.Http Request 2.stdin |
子进程的创建
|
CGI协议解析
|
CGI程序exec
|
环境变量读取
|
标准输入标准输出标准错误输出重定向
|
CGI协议解析
|
Web浏览器 <-- Web服务器 <-- 逻辑处理
4.Http Response 3.stdout/stderr |
退出

CGI程序每处理一个请求都需要创建子进程,然后exec特定的CGI程序,处理完请求子进程自动退出,消耗大量系统资源,性能太差

阅读全文 »

数值计算溢出

在进行数值计算时可能会导致计算后的结果过大或过小,超出数值类型的范围,此处封装数据计算类,在计算前先对计算后的结果进行判断,防止溢出,并给出错误提醒

阅读全文 »