摘要: 业务需求:用户每次修改数据,都要记录修改留痕信息; 形如:【订单号】由1001改为1002,【备注】由空改为 “客户要求修改订单号” 之前做法是业务代码主动写结合aop统一拦截写日志。 动手开始做技术预研: 简化的order数据表结构如下: 偶然看到canal后,立刻想到,可以借助canal实现这个 阅读全文
posted @ 2017-09-15 16:51 java林森 阅读(733) 评论(0) 推荐(0)
摘要: select、poll、epoll之间的区别总结[整理] select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O 阅读全文
posted @ 2017-09-12 16:23 java林森 阅读(140) 评论(0) 推荐(0)
摘要: 传统的UNIX实现在内核中设有缓冲区高速缓存或页面高速缓存,大多数磁盘I/O都通过缓冲进行。当将数据写入文件时,内核通常先将该数据复制到其中一个缓冲区中,如果该缓冲区尚未写满,则并不将其排入输出队列,而是等待其写满或者当内核需要重用该缓冲区以便存放其他磁盘块数据时,再将该缓冲排入输出队列,然后待其到 阅读全文
posted @ 2017-09-12 16:22 java林森 阅读(222) 评论(0) 推荐(0)
摘要: 新上线的区域病例系统,在阿里云环境间断性的出错 查看后台微服务日志,发现访问数据库偶尔会出现异常: 测试环境和开发环境都没这个错误 经过查询,应该是连接池的连接一段时间没有活动筋骨,mysql服务端会单方面断开这个连接。客户端继续使用这个僵尸连接就会出错。 查看mysql实例的配置my.cnf,其中 阅读全文
posted @ 2017-09-08 15:07 java林森 阅读(11843) 评论(0) 推荐(0)
摘要: 架构的建设一定是已应用场景为中心的 阅读全文
posted @ 2017-07-11 14:20 java林森 阅读(134) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2017-04-13 14:26 java林森 阅读(198) 评论(0) 推荐(0)
摘要: storm,mapreduce就是将一个任务交给一堆人去做的框架.交给一堆人去做,就必然涉及沟通,管理这些问题,所以storm其本质是组件分工协作与管理的一个最佳实践. storm框架更关注整个架构的非功能性需求方面. 如同erp是企业管理最佳实践的一个实现. 让我们思考如果没有storm,mapr 阅读全文
posted @ 2017-04-01 14:00 java林森 阅读(964) 评论(0) 推荐(0)
摘要: TAT( Turn-around-Time) 需求 实时查看实验室各个节点运转情况 快速的定位节点瓶颈,并给出预警. 实验室业务流程包括:标本采集,物流接收,分发,分瓶(可选节点),实验室接收,样本准备,样本检验,审核,出报告,归档. 公司希望能面向管理人员,提供实时看板,一目了然的各个节点的运转状 阅读全文
posted @ 2017-03-29 14:12 java林森 阅读(839) 评论(0) 推荐(0)
摘要: 分表分库后的不可避免一部分事务变为跨库事务. 根据cap原则,在保证系统整体性能情况下只能牺牲一定的一致性. 即分库后架构不支持强一致性,转为支持最终一致性. 跨库事务管理器用于汇总各个业务系统所有涉及跨库的业务逻辑,并统一规划管理,保证其最终一致性. 实现: 不支持跨多个库的大事务.每个库串行提交 阅读全文
posted @ 2017-03-24 14:06 java林森 阅读(214) 评论(0) 推荐(0)
摘要: 需求: 客户代理身份鉴定:即证明你就是你 请求数据防篡改:防止黑客篡改请求数据后发起虚假请求而服务器又无法鉴别请求是否被篡改. sso:单点登陆. 实现: 参考kerberos协议这里讨论不使用cookie,而是使用每一个请求带认证信息的方式. 一个请求包括:请求数据(不能为空,并至少包括请求发起时 阅读全文
posted @ 2017-03-24 13:43 java林森 阅读(718) 评论(0) 推荐(0)