自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(226)
  • 收藏
  • 关注

原创 浅谈系统架构中的状态

主要讨论了系统架构中的状态的概念,常见表现形式和应对方案

2022-11-20 19:08:21 536

原创 React-Springboot上传下载的前后端推荐写法

上传和下载在React和Sprintboot的推荐写法

2022-11-06 17:34:59 148

原创 基于Docker实现pgsql的热备

基于Docker来快速实现prostgresql的热备

2022-10-30 10:50:26 114

原创 近期救火的些许感悟

近期由于新上马的项目以及主要技术人员休假,于是只能各处救火,参与到多个项目的多个疑难杂症的解决以及临期项目的关键节点的推进,感觉对于解决问题的认知又有了些许新的认知。

2022-06-05 00:42:48 46

原创 结合案例再来说一下性能优化之四

背景今天在进行模拟服务联调测试时发现一个中间件的消费服务的延迟有不断增加的迹象,这个可不是好现象,由于这个中间件本身就是一个性能敏感的服务,延迟增加带来很大的问题。于是不得不放下手中的联调测试工作,优先解决这个问题。打开中间件的源码,看到原来直接同步处理过程,额,这当然会造成延迟了,于是简单的啊加上了@Async异步化处理,然后消费者直接返回ack。但发现就算是这么改了这个延迟还是再累加,方法1失败。于是怀疑是不是@Async默认的线程池参数不合理呢,于是自定义了线程池@Bean,然后再@Async(

2022-05-07 23:29:42 99

原创 【无标题】结合案例再来说一下性能优化之三

背景近期又有一个小伙伴要解决一个性能优化的问题,过程比较经典,所以在这里跟有缘人叨叨几句。案例近期有一个用户连续多次反馈界面加载很慢,而且还反馈到高层管理那,于是找到现场同学确认,发现确实比较慢。【问题发现的过晚,直到用户连续反馈,更反馈到高层那边,这个现象本身就说明整个项目团队的沟通时存在问题的,这个我们先放下不谈】于是,既然是高层关照过的,自然要更加关注,于是找来开发同学,要来系统的地址和账号,亲自感受一下。额,这个界面整体加载完14s以上。。。【原地爆炸】打开页面开发者面板,再来一次,这可是带

2022-05-04 23:52:19 98

原创 drools规则引擎在Springboot中的初步应用分享

背景之前一直对于drools有所耳闻,但一直缺乏应用场景,但最近硬件对接方提出了最近一版的需求时,这版需求增加了特定的边界条件,这个条件竟然丧心病狂的采用了一个二维表格的形式,而且后面很大可能要进行表格的增加或参数调整,我意识到drools有用武之地了。经过一段时间的调研和技术穿刺验证了可用性,于是引入到平台中来解决日益复杂的条件验证。Drools介绍DROOLS 是一个基于CHARLES FORGY’S的RETE算法的,易于访问企业策略、易于调整以及易于管理的开源业务规则引擎,符合业内标准,速度快、

2022-04-18 22:01:52 375

原创 最近某次单机版上传中断问题处理的奇妙复盘

背景单机版软件到现在已经超过5年了,基于Java开发的单机软件。主要功能就是数据上传下载以及跟主站的交互。原开发人员在处理其他项目。排查问题已经花了快一个月了。为了拯救现场同学和严重拖期的进度,这件事必须得我来亲自参合一下了。PS:以前的开发同学也提供了相当大的技术支持,但软件毕竟已经超过5年了历史了,什么情况都可能发生。时间轴用户漏扫发现了使用5年的单机软件存在安全漏洞,年初新接手的开发同学应急升级5.1,2.15用户反应新版本出现大量的上传中断问题,3.1有位同学现场支持,安抚客户,3.

2022-04-01 22:24:25 475

原创 Java中动态表达式计算的几种方式

背景具体方案轮子方案所谓轮子方案就是自己写一个解析表达式的方法,这种代码一搜一大堆,我就不贴代码了。这里就给一个靠谱点实现的连接。https://www.jianshu.com/p/682e8e8d3dfb缺点:【复杂计算,幂函数】JS方案通过在Java中调用JS的模块来实现表达式的解析和计算。 ScriptEngineManager manager = new ScriptEngineManager();  // 得到javascript脚本引擎 ScriptEngine en

2022-03-12 10:59:41 992

原创 关于居家隔离从而彻底远程工作一周的这点事

前言由于一些不可抗拒力,从2.28开始为期居家隔离两周的生活,从而开启了为期两周的远程办公模式。之前已经有过一段时间的远程办公的经验,想着应该不会有什么问题,但发现还是有很多问题,在这里记录一下,也算是一种经验的分享吧。不同之处由于居家隔离,因此14天完全不能出门,还有门磁导致连开门都要跟居委会打招呼,导致我现在准备结束隔离后连开50次门助助兴;跟家人一起进行的居家隔离,因此生活跟工作不可能分的开,虽然书房关着门,但小朋友还是很可能欢快的跑进来找你玩或是给你看什么神奇的发现;这次远程办公只有我自

2022-03-05 19:41:21 232

原创 Linux下硬盘空间异常问题的排查实战案例

前言这周帮助一个小伙伴解决了一个硬盘空间异常的问题,由于自己linux操作系统使用经验也不是很多,觉得应该是新手可能会遇到的一个比较棘手的问题,记录在这里也许可以帮助其他人。背景周四的时候本周期的任务完成的差不多了,但瞅着任务板上的任务还有一个好几天没有变化过,回想起来貌似有个小伙伴说有一个存储异常问题搞不定。于是便找到小伙伴一探究竟,原来之前云服务器的硬盘空间不太够,发生了好几次报警都是效能团队小伙伴手动释放空间的,于是搞了几个大点的云硬盘挂载到主机上以便解决磁盘空间不足的问题。但奇怪的是挂载好了

2022-02-19 23:55:05 719

原创 我在面对重要决策的方法论

背景长大后每个人都有很多关键的决策要做,比如:要不要考研?要不要出国?要不要接受某个offer?要不要跳槽?要不要买房?我最近刚刚经历了一个重要的决策,思前想后感觉有一些收获,写在这里也许能够帮助有缘人。一些原则忌急躁,宜冷静人类的大脑进行决策时会受到所处环境的影响,所以遇到重要决策千万不要着急,只要条件容许找个没人的地方冷静一下,甚至可以把这个事搁置几天,过一段时间拿出专门的时间来考虑或决策效果会好很多。紧急情况下的决策往往后悔的情况特别多,还记得有多少次要交卷的时候临时改错题目么?轻定性,宜定

2022-02-14 22:43:13 185

原创 SpringCloud&React项目国际化的初体验遇到的一些问题和解决方案

近期负责的项目出现了可能的国外客户,因此要将系统进行国际化,以备开拓国际市场。毕竟赚美元很是带劲。项目前后端分离,前端是基于React开发,后端呢就是SpringCloud全家桶。背景大概就是这样,总是目标就是对系统进行国际化改造,以便支持国际用户。

2022-01-15 18:25:54 579

原创 2021学习记录

前言内容书单共计35本306数据密集型应用系统设计305认知天性304幸福的方法303深入实践ddd302,高效能团队模式301 JAVA并发编程实战298 架构之美300高效能人士的7个习惯299 企业级业务架构设计296深入理解java虚拟机294中国哲学简史295github入门与实战293linux哲学292枢纽291如何不切实际地解决实际问题290RE微服务架构设计模式289pythn自动化288贾宁财务讲义287领域驱动设计286黑客生活285重

2022-01-03 12:42:43 4027 1

原创 回顾2021几件印象深刻的事

前言从事实上来讲,2021不管怎么说都无法称得上是成功的一年。虽然有一点收获但留下了不少遗憾。现在来回顾一下,说说印象比较深的几件事把。减重15KG失败,啪啪打脸的O02021年初立下的今年第一个目标就是要减重15KG,可惜体重就像一个V字一般,在12月又回到了年初的水平。太尴尬了,成年人的世界哪有那么容易。2022零食什么的就别往家拿了。UMP系统迁移,为路上的汽车换轮胎由于之前参加的华为云体验项目到期了,到12月12日现有服务器就集群无法继续使用,需要新采购ECS服务器并将服务迁移过去。这个事

2022-01-01 12:15:40 4594

原创 IDEA的代码生成插件EasyCode的使用方式

基本思路采用EasyCode插件,从数据库表生成后端代码。根据团队研发规范,调整EasyCode的默认模板。实际准备下载EasyCode插件导入团队的模板EasyCodeConfig.json.创建后端底座提供基本依赖项和启动项。创建数据表生成后端代码生成项配置代码结构使用步骤需求分析,确定模型创建数据表IDE中找到对应的数据表(DB工具添加对应数据源)在数据表中右键选择easyCode选择generateCode配置生成参数确认,即

2021-11-28 20:15:42 222

原创 Web缓存原理相关资料的整理

背景最近在一个项目中针对某个页面进行了专项性能调优(被用户吐槽,不得不优化),中间通过查阅各种资料发现之前对于Web缓存都是纸上谈兵,这次趁这个机会整理一下。缓存的分类缓存可以基本分为两类,一类是在浏览器缓存一类是服务器上的缓存,如下图所示:浏览器缓存,强缓存Memory cache,内存缓存,关闭tab消失Disk cache,根据请求头Service Worker,Https的独立线程Push cache,HTTP2,其余没有命中,session中服务器缓存,协商缓存浏览器Ht

2021-11-13 23:14:39 1851

原创 Java中计算两点距离的几种算法

需求Java计算WGS84坐标系两个点之间的距离,距离可能会较大,算法球形模型1直接采用球形的模型。 /** * Calculate distance between two points in latitude and longitude taking * into account height difference. If you are not interested in height * difference pass 0.0. Uses Ha

2021-10-13 22:49:15 1543

原创 写在35岁,过去现在和未来

前言说时迟那时快,转眼间我也35了,9年了还没有年薪百万确实很惭愧,今天就借这个机会聊聊这些年的经历吧。核心问题:我是谁?我从哪里来?我到哪里去?现状航天集团下属某单位的软件团队leader,主管研发。个人内向偏技术特别不喜欢喝酒,感觉跟我大航天集团的传统有点格格不入,能走到现在这个阶段也算是各位领导宽宏大量了【战术狗头】。单位算是正经的国企,应该也算央企吧。团队有差不多20号人,正在带团队主攻一个产品平台,未来有望多个项目借这个平台孵化。日常工作呢目前也就保证30%精力在开发上,其余大多

2021-09-04 23:13:05 1158 3

原创 软件研发职级体系超精简版

分级实习级普通级技术负责人副总工程师总工程师方向后端开发前端开发测试人员职责通用职责积极响应用户需求,交付业务价值,包括但不限于开发代码,测试功能,编写文档,用户交流等定位并修复系统问题主动思考,发现组织研发过程中的不足,并提供建议或反馈主动落实提高研发效能的措施改善研发基础设施主动学习专业知识后端开发职责进行项目或产品的系统设计编写编码,实现后端服务,并为前端提供可供使用的接口编写单元测试,确保开发服务的正确性与前端联调测试提交代码前进行自测试确

2021-09-01 13:45:39 423

原创 项目计划会议优化的一些思路

前言现状问题改进目标具体思路相关计划

2021-08-16 00:07:35 159

原创 团队使用OKR两年的经验以及调整计划

前言总结近两年在团队中落地OKR遇到的一些问题,并提供一些调整思路。OKR使用现状总结OKR在我们团队推广已经是用了很长很长时间了,差不多有两年了。个人接触OKR更早一些,大概17-18的时候就进行过相关书籍的阅读以及资料的学习。在个人使用一年之后,在团队进行了一些列的分享后,引入了团队。效果确实是有的,至少能在整个团队的范围就想做什么达成一致。我们团队的OKR落地模式基本分为以下三步:每年进行一次年度的团队OKR制定,团队讨论和确认,正式发布。根据团队OKR每个成员进行个人的OKR制定

2021-08-12 00:37:11 168

原创 改进的360环评方法

前言不知道有多少小伙伴最头疼的事就是给团队的小伙伴打绩效,尤其是年终的大考核时,总是有一种如履薄冰的感觉。根据我的观察和了解,大部分管理者打绩效的方式都还是比较原始,完全凭借着主观印象进行评价的,也就是大家常说的拍脑袋。这种方法可能会受到各种奇奇怪怪的因素的影响,比如要是打绩效时心情不错,那这几个人分数可能不自觉的偏高,大部分情况下是无法意识到这一点的。这里呢,介绍一种我们团队刚刚开始实践的改进的360环评方法来提高绩效考评的可靠性和准确性,至少可以降低管理者的工作难度以及拍脑袋导致的脑震荡几率。尝试的

2021-07-23 23:19:20 1398 1

原创 重启研发效能改进之路

说实话很久之前曾经尝试过进行研发效能的改进,但并没有取得很好的效果,最后各种实践也都逐渐“遗忘”,最后只剩下,站会和回顾会议得到贯彻。但近期有了专职的PO以及重新看了《研发效率破局之道》感觉也许可以再试试,万一成功了呢。什么是研发效能研发效能,是团队能够持续为用户产生有效价值的效率,包括有效性(Effectiveness)、效率(Efficiency)和可持续性(Sustainability)三方面。简单来说,就是开发者是否能够长期既快又准地产生用户价值。谈起研发效能,总是有人喜欢把绩效问题也一起

2021-06-21 23:43:08 64

原创 代码生成器调研分析以及HTCG计划

目的介绍目前Java开发生态中,关于代码生成相关的开源项目,以及后续的HTCG规划。若依代码生成器分析简介若依是一套全部开源的快速开发平台,毫无保留给个人及企业免费使用。前端采用Vue、Element UI。后端采用Spring Boot、Spring Security、Redis & Jwt。权限认证使用Jwt,支持多终端认证系统。支持加载动态权限菜单,多方式轻松权限控制。高效率开发,使用代码生成器可以一键生成前后端代码。我们比较关注的是,若依的代码生成模块。使用逻辑1

2021-06-13 20:17:11 268 1

原创 基于ZK的Curator实现状态服务的选主

背景近期由于项目需要,需要实现服务的自动主从切换的功能。之前服务都是尽量做无状态设计,状态一般放到数据库层面来实现,这样的需求实际上还是头一次碰到。实际上这个自动主从切换就是一个多实例选主的过程,自然想到了zookeeper,普通的选主功能自然是没有问题的,但我们这个自动切换还有很高的时间维度的要求,于是只能先做架构的验证。代码示例由于Curator已经封装了选主的操作,只需要继承LeaderSelectorListenerAdapter即可,因此实现起来还是十分简单的。特别主要注意在start()之

2021-05-02 22:03:50 167

原创 近期项目首屏优化的实战案例

背景最近有业务代表反馈某个系统首屏展加载时间相对其他系统要慢不少,希望能够加快速度,提高用户的满意度。于是越好技术人员,一起对生产环境的系统进行性能测试,确实正如业务同学所述,系统完全加载出来的时间需要近7s,而别的系统大多2-3秒就完事了,这对比起来直观感觉的差距确实很大。于是优化势在必行。- -!初步分析经过对比分析,发现其他系统都是基于二维GIS系统,而我们系统是以三维GIS为核心的单页应用,在加载时候还默认加载了不同规模的数据。其实能达到10s以内的速度已经算是有一定优化的了,都不敢告诉业务

2021-05-01 22:59:35 136

原创 架构实战营作业二之朋友圈的高性能设计

题目思路业务规模调查性能分析TPS+QPS场景分析总体高性能设计总结

2021-04-18 00:55:02 502

原创 关于ToB领域中的产品和项目的一些思考

理想情况,付钱,使用现实情况,免费,没人用付钱,定制使用如果作为一个独立的组织肯定要考虑生存问题,所以一开始的定制模式是必然选择,也就是传统的项目模式,但随着产品成熟度的提高,不同的用户的需求出现了明显问题表现如何处理项目与产品的冲突?实际问题,目标不明确,对于组织现场没有一个清醒的认识这个模式其实就是类似于用友的产品模式...

2021-04-10 18:09:18 248

原创 架构实战营模块一作业

前言虽然老师说一般架构图可以使用 PPT 画,但个人还是喜欢 processon 来画,真的比 PPT 要好使,而且里面积累了不少素材,所以这次还是用 proccesson 吧。微信业务架构图题目是绘制微信的业务架构图,应该是主要考察同学们对于业务粒度和覆盖度的把握,而不是对于微信业务的理解程度。以下是一些个人的理解,微信作为腾讯集团主要的流量入口,集成了了集团内部几乎所有的功能,粗看微信本身的业务并不复杂,自身主要集中到社交领域,但作为局外人其实分不太清楚,腾讯内部微信与其他应用之间的边界,比如微信

2021-04-05 16:02:35 1489 4

原创 大型演示工作思路

背景这周又进行跑到一个行业用户出差了一周,主要是应对用户的重要干系人调研,为了展示建设成果理所当然的要进行一次大型的演示,经过一周的准备,演示终于完事,虽然不是完美,但总归是瑕不掩瑜,算是得上成功吧。算上这次演示,已经给大大小小的领导连续演示次数有近10次了,趁这次机会把演示工作的一些需要注意的点记录在这里,如果能对的大家有作用就更好了。什么是演示,这里讲的演示是指用真实的系统为观众传递信息的活动,演示的时候一般要用到电脑作为操作终端,大屏或是投影仪作为展示媒介,大型演示有时还需要多人的配合,甚至还有

2021-03-21 16:44:27 138

原创 微服务下的开发者生存之道

错误假设先来说说微服务的12个错误假设系统是不会出现错误的接口调用只会调用一次网络是稳定的被调用的对象是已知的网络是安全的注意事项接口服务提供者做好幂等性处理,这个一般可以在发送请求时做一个uuid,然后调用方收到请求后自动检查这个uuid看看是不是已经接受过这个请求了,具体方法可以在Http的header中进行添加,然后服务提供方通过AOP自动处理这个uuid;接口调用者要做好自动多次尝试的准备,微服务框架中有不少会有自动重试的机制,比如SpringCloud的Ribbon,其中自

2021-03-07 22:59:06 64

原创 ZwSe2团队共识V0.1

背景自从读了许式伟的《团队的共识管理》以及乔新亮团队管理的一系列的文章后,一直觉得确实团队内总有一些规则没有说清楚很多事情也没有一个明确的说法,再加上公司层面的远景和使命也迟迟不能出现,那就在此一并解决,于是编写了这个团队共识的初稿,在此公布出来也算是正式投入运行,也许你也在考虑类似的问题,希望可以帮上忙。具体内容愿景成为一支具备行业顶尖水平的能够持续优化且行事透明的自组织软件研发团队团队价值观真正有价值的事情都是做出来的,而不是说出来的任何团队成员都应该主动推动可以改进团队研发效能的事

2021-02-27 16:38:18 70 1

原创 ZooKeeper极简介绍和入门

背景正好最近项目可能要用到ZooKeeper,于是把之前的ZK资料整理一下,大家有兴趣的就看一看。基本概念介绍ZooKeeper 是一个分布式的,开放源码的分布式应用程序协同服务。 ZooKeeper 的设计目标是将那些复杂且容易出错的分布式一致性服 务封装起来,构成一个高效可靠的原语集,并以一系列简单易用 的接口提供给用户使用。以下简称ZK。典型应用场景配置管理,类似一个数据库DNS服务组成员管理分布式锁由于ZK的数据都存放在内存里,数据量大多维持在几百兆,而数据库数据几

2021-02-20 17:35:27 83

原创 关于systemctl服务中TYPE参数的那些事

前言最近发现mongodb总是莫名其妙的挂掉,一边查找原因,一边想着如果能自动重启就好了,于是mongodb的自动重启这件事就提上日程了。本来以为最多半小时的事,没想到还是遇到了一些奇妙的问题,为了找原因花费了不少时间。在这里记录一下,以便其他同学避免踩坑。踩坑历程再现操作系统:Ubuntu 18.04建立了一个/lib/systemd/system/mongo.service文件,在文件上写上对应内容[Unit]Description=mongodbAfter=network.target

2021-02-19 17:58:00 3701

原创 工作日初步计划

前言随着#15KG计划的实施,时间更加捉襟见肘,所以呢就先列一个指导性的计划,先试行1周,看看效果。一天中重要的几件事运动时间家庭时间得到专栏学习极客时间专栏学习主线技术类图书的阅读支线其他类图书的阅读冥想练习专注A&B项目计划时间表6:20起床7:00送小孩去幼儿园and上班,期间听《极客时间》专栏8:00-8:30 主线part18:30-8:45teambition和码云任务整理,必要准备8:45-10:00 ,站立工作part110:00-10:15

2021-02-17 20:07:51 123

原创 2021的团队英雄榜的几个项目以及后续

背景2020已经过去了,个人感觉,英雄榜是实施的颇有成效的一个活动,孵化了UMP的完整的运维系统,UMP的ELK日志聚合系统以及自研的轻量级三维GIS-ZMAP。所以2021这个活动接着搞起来。英雄榜介绍英雄榜是一个类似于游戏中的悬赏任务榜,可以由有任务需求的人向其中投放任务,并标以悬赏的代币,团队人员可以领取英雄榜中的任务,当任务完成后任务发布方给完成人员代币。任务完成方不但要完成指定的任务,而且要把相应成果进行展示和分享算作真正完成任务。目前英雄榜以项目的形式托管在码云上。英雄榜上投放的任务主要

2021-02-16 18:01:30 3634 2

原创 2020一些感悟和建议

你不是一个人在战斗对齐个人和公司的目标持续向下反馈,向上同步,小步快跑,持续迭代知行合一,落地有声万一成功了呢向内探索,改变世界

2021-02-08 17:33:34 147 1

原创 Spring Boot,Spring Cloud Alibaba 以及ElasticSearch的适配性问题分享

前言本周为了开发一个日志相关的功能需要使用es,之前团队正好elk部署了一套就直接用了他们的es来调试,本来以为半天搞定的事,却遇到了版本适配的问题,折腾了一天多。赶紧记下来,希望对大家有帮助。前期准备我们都知道spring体系对于版本是很讲究的,兼容性不是特别理想,而且升级相对费劲,于是先核实一下我们es的版本7.9.3,心理一沉,好新的版本,惴惴不安去官网把说明文档读了一圈,发现了下面这张图。我的天,这个springboot需要2.4.x,spring data 要2020.0.0。而我们项目

2021-01-16 21:12:48 700

原创 异地内部系统升级复盘

前言本周进行了处于异地内部网络的JGDQ系统升级,发现了不少的问题,非常值得记录和改进,有不少东西不去现场实际操作和体验一下,真的是想不到要改进,趁着这个机会进行一下复盘,以便日后改进。结果初步定位和解决之前操作系统无法启动的问题完成系统升级完成现场测试赴现场1人,实际升级共计4天,其中交通2天,升级1天,测试1天升级准备,共计1人2天优点在订机票前及时检查了大数据行程卡状态,发现异常,避免退票费用甚至不必要的隔离人员行程异常的情况下,依然完成升级任务不足在现场升级后发现有

2021-01-10 11:33:52 80

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除