如何设计一个高并发的系统
如何做系统设计
PDF导出功能设计
背景
在公司从事CRM系统设计的时候,产品设计之初有个功能需求就是需要导出合同文件(PDF)以及提供预览功能。其中合同包括单次广告合同,DSP合同,框架合同以及认刊书等等,每种合同的内容和格式都不相同。
思考
无论什么合同,从主题内容上来看,都包括静态部分和动态部分;(所谓静态即内容针对与所有的合同都是一样的,而动态内容则需要不同的数据来渲染成不同的格式 )。为此,想到了dubbo官网中关于api与spi的分离的设计。
技术上,选用的itext7的技术实现。 如果编码去写合同的cell肯定不现实,而且后期的可维护性和可拓展性太差。比如实时变更合同上的条款内容, 需要重新发版,代价高。所以选择html+freemarker+itext的实现方案。
线上bug总结-01
面试的时候,总会被面试官问道 “在职业生涯中,你印象最深的bug是什么?”; 有时候, 如果紧张,真滴会不知道该说些啥。
这个系列就是为了解决下面两个问题
- 复盘之前的错误,方便回顾并总结
- 更加高效的面试此类问题