6 熊孩子会撒野

尚未进行身份认证

披风疾行/仰天欲摘星 心写镜湖/鹿饮处空鸣

等级
博文 56
排名 8w+

后台重构:基于状态机的事件机制

对于后台业务实现方式的重构,源于目前的业务场景太多太复杂,我们写代码的时候总不免落入“伪面向对象”的方式,以瀑布流的形式一直在原来的业务代码上叠新的代码,创建不同的分支。导致每提一个小需求,就要在各个地方去增加代码,而且还会遗漏,并且代码的质量难以维护。出于这样的困境,我们想将现在实现的业务场景进行高度抽象和归类,很多业务代码,无非是对数据状态的变更。比如一条数据A,在业务场景A下,只是从状态...

2019-05-10 11:00:39

MyCat批量insert的问题

目前在用MyCat做批量插入时,写数据失败,报错信息如下:Thelastpacketsentsuccessfullytotheserverwas0millisecondsago.Thedriverhasnotreceivedanypacketsfromtheserver.批量insert的实现方式:修改前:insertintot...

2019-03-07 15:08:54

dubbo Duplicate spring bean id的问题解析

近期,项目微服务开始提供RPC服务,微服务之间改为dubbo调用。本地开发调试时,服务提供方和服务消费方都能正常启动,验证通过。对于消费方,在bean的xml文件声明服务消费的引用方式:<dubbo:referenceid="operationWaybillService"interface="com.demo.service.OperationWaybillService"...

2019-02-22 10:03:01

编程比赛题目:亿级流量实时分析(第二天)

虽然第一天的比赛里,我们用ELK成功对日志文件进行解析,并用可视化界面展示数据。但我们不想只限于“搭环境比赛”,而且从第一天的情况来看, ES的性能在有效的资源下已经有点撑不住了。所以决定今天开始自己造轮子。 再次分析题目,其实比赛要的是某时间段某源IP、目标IP、请求URL的统计数据,对具体的数据明细并不关心。故我们打算自己写个Agent脚本,读取日志文件,通过socket传输给Se...

2019-01-09 21:14:39

编程比赛题目:亿级流量实时分析(第一天)

跌跌撞撞闯进了决赛,乍一看这题目有点唬人。 题目主要是:网关上会有很多业务请求,需要实时或近实时采集网关请求日志,指标包括:请求频率、平均响应时间、90%响应时间、最大响应时间、请求正确率等。每个组有固定的虚拟机资源(内存8G-CPU4C-磁盘150G),一共6台,其中2台为日志生成节点,上面部署有模拟网关的服务器,不断地生成日志文件到指定目录下,日志文件数量固定,文件写满就会覆盖...

2018-12-26 20:54:17

编程比赛题目:提高页面加载速度

没想到接近年底了,12月份还是那么忙,一直没有腾出时间来写文章。刚好最近在参加公司内部的一系列比赛,趁机整理一下学到的东西吧。 本关比赛的题目是抽取了公司内部的一个新项目,主要是展示各种创新作品,其中有个文章内容模块,由于文本内容很多,而且还包含了大量图片。同时由于采用了富文本编辑器,会存储大量的样式标签。最终的结果是查询作品的详情接口很慢,前端体验的效果很差。另外希望富文本编辑器能够...

2018-12-23 14:56:06

记一次MyCat因Spring事务未回滚而应用故障的生产问题

最近生产环境出现一个问题,某张表里的primarykey主键出现了重复冲突(duplicatekey),应用层抛出了异常,但应用的其他不相关功能也受到了影响,比如查询数据失败。按道理,这属于不同事务之间的功能,应该不会受关联影响。 查看代码,spring.xml已经配置了事务管理器,对所有insert开头的插入方法增加了事务处理:<tx:methodname="inser...

2018-11-28 23:29:19

《分布式服务架构 原理、设计与实战》综合3

==================================请看上篇=================================== 第7章服务的容器化过程1.容器和虚拟化的区别(1)容器是对应用层的抽象,它把应用程序的代码和相关依赖打包在一起执行,多个容器可以在同一台物理机上互不影响地独立运行,并且共享操作系统内核,启动非常快,占用的空间非常少,一般也就十几兆...

2018-11-19 20:16:51

《分布式服务架构 原理、设计与实战》综合2

==============================请看上篇=================================== 第4章大数据日志系统的构建1.日志分类(1)按产生的来源:系统日志、容器日志、应用日志(2)按应用目标:性能日志、安全日志(3)按级别不同:调试日志、信息日志、警告日志、错误日志 2.对于计数器日志、响应时间日志、异常日志,方...

2018-11-19 18:26:18

《分布式服务架构 原理、设计与实战》综合1

===========================开篇有讲============================这本书算是《可伸缩服务架构框架与中间件》的捆绑作品,具体可看我之前写的几篇文章:《可伸缩服务架构框架与中间件》综合1《可伸缩服务架构框架与中间件》综合2《可伸缩服务架构框架与中间件》综合3《可伸缩服务架构框架与中间件》综合4 这书以分布式微...

2018-11-19 14:46:51

再遇《穆斯林的葬礼》

几年前读过《穆斯林的葬礼》,但不给力的记忆能力,让我对这本书留下的唯一印象是,故事好看,仅此而已。多年之后再次读阅,一方面是为了摆脱周末被手机牢牢绑架的困境,另一方面为了找回“故事好看”的印象背后,触动内心的情节。书中围绕着两条故事主线轮流讲诉,一边是“玉”,由盛至衰,另一边是“月”,从圆变缺。故事里总是充满着各种各样的悲情,韩子奇的一生与玉紧密相连,因为玉而养家糊口、声名显赫,也因为玉而...

2018-11-05 22:30:02

DevOps国际峰会2018深圳站 会议学习

虽然周六有事,但还是抽了上午的时间去参加了DevOps国际峰会2018深圳站,毕竟还是自己掏了钱买了门票的,不舍得不去。会议上绝大多数都是与DevOps自动化运维相关的,自己更感兴趣的还是其中那个关于架构主题的。 有个人的演讲比较有意思,名叫《微服务:过早拆分是万恶之源》。主要是讲由于业务规模的扩大、业务场景的复杂度,应用会由一开始的单体,拆分为多个微服务。而在这个改造的过程中,有一些...

2018-11-05 21:57:36

《可伸缩服务架构 框架与中间件》综合(4)

=========================请看上篇================================ 第7章RPC服务的发展历程和对比分析1.RPC采用客户端/服务端模式,请求程序就是一个客户端,服务提供程序就是一个服务端。RPC是构建在语言级之上的,是跨语言的,它在OSI七层模型中介于会话层和表示层之间。 2.RPC实现透明的远程过程调用的重点...

2018-10-18 18:48:08

《可伸缩服务架构 框架与中间件》综合(3)

==================================请看上篇======================================== 第5章大数据利器之Elasticsearch1.Lucene底层是基于Lucene实现的,其基于倒排表的设计原理,采用了分段的存储模式,使它在读写时几乎完全避免了锁的出现,大大提升了读写性能。 2.分段存储(...

2018-10-09 22:08:54

《可伸缩服务架构 框架与中间件》综合(2)

=================================请看上篇====================================== 第3章轻量级的数据库分库分表架构与框架1.分库分表的定义(1)垂直拆分根据业务的维度,将原来的一个库(表)拆分为多个库(表),每个库(表)与原有的结构不同。这种方式除了用于分解单库单表的压力,也用于实现冷热分离。1》...

2018-10-09 21:00:43

《可伸缩服务架构 框架与中间件》综合(1)

  =======开篇吐槽:最近一段时间刚好碰上中秋国庆双节,而且工作任务繁重,基本很难保证有时间来写文章了=======    《可伸缩服务架构框架与中间件》与《分布式服务架构原理、设计与实战》是要配套捆绑着看,这营销手段,服。    这书主要介绍了在分布式系统中常规用到的一些框架组件,比如分布式ID、消息队列、缓存、RPC框架、ES等。书中大部分内容的作用更多的...

2018-09-27 09:59:35

如何设计一张事件记录流水表(版本2)

在设计完 版本1的事件记录表 后,大家就开始马不停蹄写代码去新增事件记录数据。 版本1:事件表 流水ID id 对象ID obj_id 系统编码 sys_code 网点编码 area_code 操作者工号 operator_id 源...

2018-09-12 11:55:43

如何设计一张事件记录流水表(版本1)

    目前新功能在试点范围内上线试用,业务关心新功能的试用情况,需要对生产数据进行统计和汇总,以便跟旧功能在流程上做一些比较分析。我们需要配合的是,跟大数据团队一起,提供几个数据基表,其中要有一张表,能够记录新功能的全生命周期。    统一抽象来说,解决的是:    谁(Who)什么时候(When)以什么身份(Role)在什么地点(Where),对什么东西(What)...

2018-09-07 12:05:00

深挖Openstack Compute HA(3)

在测试HA方案时,会用到很多CLI命令去查看当前节点的状态和信息。其中有一些经验总结,如下:1.相互疏散的节点是Status为enabled的computer节点2.Computer节点为disabled时,将不会有新的VM实例调度过去3.测试关机状态  就是在物理机上关闭电源,从而所有网络都是不通的4.当所有网络都不通时,该如何处理?  就是会选择不到任何...

2018-08-25 12:36:44

《笑场》有点意思

    最近想看点别的书,自己一直喜欢看随笔,于是搜了搜,找到了这本《笑场》。如果不是因为那部脱口秀节目,还真不知道作者还出过书。    “未曾开言我先笑场,笑场完了听我诉一诉衷肠”,书名的由来,就宣誓了接下来书中内容的随性和带点惆怅。书中附带一小册《扯经》,主要讲遗寺师徒二人的幽默生活。每一段小对话,貌似很生活百态,却总能映射到自己的内心世界里,也反映着平日的交流风格和思考方式。...

2018-08-22 09:09:36
奖章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周上午根据用户上周的博文发布情况由系统自动颁发。