随笔分类 - 工作经验
摘要:前言 之前也分享过很多工作中踩坑的经验: 一个线上问题的思考:Eureka注册中心集群如何实现客户端请求负载及故障转移? 【原创】经验分享:一个Content-Length引发的血案(almost....) 今天再来分享工作中一个真实的案例: 商品评价列表页,显示每条用户的评价详情,为了保护用户隐私
阅读全文
摘要:前言 上周在工作中遇到一个问题,挺有意思,这里记录一下。上周在工作中遇到一个问题,挺有意思,这里记录一下。标题起的很唬人,这个问题差点引发血案,花哥还是很严谨的一个人,后面备注了almost.... 在测试环境中,前端调用我们服务一个接口时发现巨慢无比,响应时间超过了30s,简直无法忍受!! 查看日
阅读全文
摘要:一、业务需求: 当操作积分用户表时,如果accountId在表中没有数据,那么我们新增一条数据,设置用户积分。如果accountId在表中有数据,我们需要更新用户积分。 这个操作简单来说就是: 在单线程下 我们先查询后处理当然没有问题,但是在并发下问题就显而易见了,系统里可能同时插入两条一样的acc
阅读全文
摘要:1、JWT简介 JWT:Json Web Token,是基于Json的一个公开规范,这个规范允许我们使用JWT在用户和服务器之间传递安全可靠的信息,他的两大使用场景是:认证和数据交换 使用起来就是,由服务端根据规范生成一个令牌(token),并且发放给客户端。此时客户端请求服务端的时候就可以携带者令
阅读全文
摘要:前言 服务重构,老版系统为php代码,新版系统改为Java。 数据层面沿用之前老版服务的数据库结构,部分库字段进行修改。 最终目的:服务实现切换,数据实现切换(老库到新库),不能停机升级,尽量减小对用户影响。 实现方案:日志追加 下面具体说一下自己的实现方案,可能会有纰漏的地方,仅做参考。 日志追加
阅读全文
摘要:分布式锁主流有三种模式: 实现方式 功能要求 实现难度 学习成本 运维成本 MySQL 的方案借助表锁/行锁实现 满足基本要求 不难 熟悉 小量OK、大量影响现有业务、1主多从架构,不方便扩容 通过 ZK 创建数据节点的方式实现 满足要求 熟悉 ZK API 即可 需要学习 重,需要堆机器,有跨机房
阅读全文
摘要:更好的markDown阅读体验可直接访问我的CSDN博客: "https://blog.csdn.net/u012881584/article/details/85221635" 前言 线程池想必大家也都用过,JDK的 也自带一些线程池。但是不知道大家有没有想过,如何才是最优雅的方式去使用过线程池吗
阅读全文
摘要:前言 之前线上有过一两次OOM的问题,但是每次定位问题都有点手足无措的感觉,刚好利用星期天,以测试环境为模版来学习一下Linux常用的几个排查问题的命令。 也可以帮助自己在以后的工作中快速的排查线上问题。 jmap命令 jmap -heap pid 输出当前进程 JVM 堆新生代、老年代、持久代等请
阅读全文
摘要:前言 以前一直听说有Disruptor这个东西,都说性能很强大,所以这几天自己也看了一下。 下面是自己的学习笔记,另外推荐几篇自己看到写的比较好的博客: Disruptor——一种可替代有界队列完成并发线程间数据交换的高性能解决方案 <!--more--> Disruptor3.0的实现细节 DIs
阅读全文
摘要:前言 最近在看一个线上xml文件导出的问题,需求如下: 从我们平台导出一个后缀为tmx的术语语料数据(实际内容为xml文件),然后导入到其他第三方平台发现无法导入。 从其他平台导入的tmx文件无法导入到我们平台。 因为第三方平台并没有提示哪里出错,所以这里还是用了一点时间来定位问题,主要问题有以下两
阅读全文
摘要:前言 最近系统刚做了一次大的重构,以及下游子服务都做了升级改造。 整个系统间的调用都是采用spring cloud这一套去实现的。我所负责的为业务服务端,专门为web端和pc端提供接口调用。在服务刚上线的一段时间,出现了一次雪崩的事件,整个调用链路如下: <!--more--> 调用链路很简单,因为
阅读全文
摘要:前言 最近在项目上线的时候发现一个问题,从后台报错日志看:java.lang.UnsupportedOperationException异常 从代码定位来看,原来是使用了Arrays.asList()方法时把一个数组转化成List列表时,对得到的List列表进行add()和remove()操作, 所
阅读全文
摘要:前言 最近在做系统Bug修复时遇到了一个问题,调用其他服务时传递的参数和自己预先的不一致,例如Map中有10条记录,然后使用JSON.toJSONString 包装后进行网络传递,但是通过调试发现接收方只收到了5条数据。经过追溯发现原来JSON.toJSONString 这里有坑。所以现在总结记录一
阅读全文
摘要:今天说的异常是一个很不常见的异常,至少我不经常见到这个异常。首先先看下NoClassDefFoundError官方定义 :Java Virtual Machine is not able to find a particular class at runtime which was availabl
阅读全文
摘要:现在我们项目中都已迁入spring boot和spring cloud。 服务间调用现在都改成feign的调用方式,但是上次在实际使用过程中出现过:Request header is too large 的情况。 这里重现下场景: 1,调用其他服务提供方的接口 2,POST请求,传递的参数包含数据较
阅读全文
摘要:今天遇到一个问题,重构老系统时,前端传递的参数是一个json,controller层可以用@ResponseBody来接收。 因为新系统用的是spring cloud这一套,调用其他服务使用的是feign的形式,找了一圈没有找到合适的方案,于是用OkHttpClient来处理了,这里做个记录。(仍相
阅读全文
摘要:春季跳槽面筋总结 人人都说金三银四,由于一些个人的原因,博主也在今年的三月份抽空面了几家公司,这里来总结下学习到的东西。 先简单的说下博主的情况: 2015年7月份毕业,到现在加上实习可以算三年工作经验 base武汉,相比于北上广深,工作机会少了点 目前就职于驾考/汽车行业的互联网公司 大概就这么多
阅读全文
摘要:之前是一直没有听过explain这个关键字的, 最近因为项目中总是会有慢查询的一些操作, 所以请教了旁边的同事帮忙排查下原因, 看到同事用explain来分析一些sql语句, 感觉好像发现了新大陆一样。 于是自己也来学习下并总结自己学到的一些知识,如有问题欢迎拍砖。 首先来做个测试, 我这里有一张表
阅读全文
摘要:还记得当时来现在这家公司面试时, 有过一个问题: 如果一个项目启动时(单机), 瞬间来了1000个访问, 如何确保db等资源不会压垮呢? 现在想想我当时回答的并不好, 而现在看公司框架才发现其实有针对于这一块做过专门的优化的。 下面就来分享下公司关于这个地方的处理, 一句话总结就是: 项目启动时会先
阅读全文
摘要:文章也已经同步到我的csdn博客: http://blog.csdn.net/u012881584/article/details/72615481 关于Java解压文件的一些坑及经验分享 就在本周, 测试人员找到我说现上的需求文档(zip格式的)无法预览了, 让我帮忙看看怎么回事。 这个功能也并不
阅读全文