
后端
文章平均质量分 64
+YUAN
https://juejin.im/user/2295436009552007
展开
-
DTS数据上报优化
背景现象业务基于ElasticSearch为产品提供了全文搜索能力,需要及时将DB变更数据异构到ES,供业务查询,即DTS(Database To ES);由于数据变更入口较多,使用Canal原生客户端去监听数据binlog变更,并将数据顺序投递到MQ,基础搜索服务消费端消费,过滤,数据组装后,上报到ES,即DB->Canal->MQ->Comsumer->ES;目前整体DB->ES数据同步较慢,处理速度QPS为60左右,在遇到洗数据/导入资源等大量数据变更时,往往造原创 2021-05-25 15:40:32 · 915 阅读 · 0 评论 -
ES索引设计&查询优化
推荐掘金原文查看:https://juejin.cn/post/69022541669539676301.背景小组项目在搭建属于自己的业务定制搜索服务;项目原先接入了平台部门的通用搜索服务,在进行全链路压测时,es搜索成为瓶颈;故统一在业务定制搜索服务中进行整改优化;2.现象1.压测条件:并发线程数 10 * 30(并发线程数 * 节点数)下,出现大量查询超时(>500ms),基本一压就挂;2.通过日志查询执行dsl语句,如下,在多查询条件下,包含大量match条件的bool评.原创 2020-12-04 12:41:19 · 1732 阅读 · 0 评论 -
log4j2打印一行日志做了啥
1.是什么?log4j已成为大型系统必不可少的一部分,log4j可以很方便的帮助我们在程序的任何位置输出所要打印的信息,便于我们对系统在调试阶段和正式运行阶段对问题分析和定位。2.日志级别1.日志级从低到高:debug,info,warn,error, 依次升高,性能越高;2.影响输出性能条件:输出到文件系统 > 控制台SimpleLayout > PatternLayout,不带格式化的直接输出更快;日志级别越高,内容输出越少,应用受日志打印影响越少,性能越高;根据不同原创 2020-08-22 10:39:18 · 594 阅读 · 0 评论 -
Java中文资源大全
Java中文资源大全,github上star数超过一万,挺不错的资源,转发分享下https://github.com/jobbole/awesome-java-cn原创 2019-03-29 09:11:47 · 4897 阅读 · 1 评论 -
应用接入阿里云短信服务
背景 在日常开发中,我们可能会遇到短信验证之类的需求,这也是我们使用各类app或系统中比较常见的。在对比了各个平台提供的短信服务后,从价格,稳定性,接入便捷性进行考虑,最终选择了阿里云所提供的短信服务,之前在做课设的时候接入过,但是当时没有作总结,此次毕设也有该需求,在完成之后做以下总结。开通应用开通阿里云账号,选择短信服务,开通该应用作为第三方短信服务,阿里云提供...原创 2019-04-15 11:09:38 · 1081 阅读 · 0 评论 -
反射获取类或对象属性和值
最近在开发过程中,由于部分常量配置在接口而非枚举中,当我们需要通过属性名去获取具体接口中常量对应的值时,或是要获取该接口中所有常量名和对应值的键值对集合,显得有些麻烦或是无从下手,故这里封装一个通用的工具类来满足此类需求(扩展到类和对象中),做以下总结。 大致思路:定义 ReflectObjectUtil 工具类,通过反射获取类或对象信息,并将对应信息组装,按照要求的格...原创 2019-05-08 18:36:30 · 12251 阅读 · 0 评论 -
Mac下IDEA快捷键
IDEA快捷键的熟练运用能够加快开发速度,有些骚操作还是需要靠笔记+多实践,看到一篇文章总结的不错,转载一波。Mac键盘符号和修饰键说明⌘Command ⇧Shift ⌥Option ⌃Control ↩︎Return/Enter ⌫Delete ⌦向前删除键(Fn+Delete) ↑上箭头 ↓下箭头 ←左箭头 →右箭头 ⇞Page Up(Fn...转载 2019-05-06 16:43:48 · 3938 阅读 · 0 评论 -
编写自定义spring-boot-starter
需求背景: Springboot是Spring旗下优秀的子项目之一,其核心理念之一:约定优于配置。通过自动化的配置极大的提升了我们的开发效率,目前已集成诸多组件的starter起步依赖,帮助我们更加快速的构建标准化的应用。 starter作为springboot的一大特色,作为自动配置的核心组成,包括的优点如下:快速创建独立运行的Spring项目以及与主流框架集成...原创 2019-05-25 10:59:43 · 578 阅读 · 0 评论 -
开源协议
http://c.biancheng.net/view/2947.html转载 2019-07-31 22:47:07 · 208 阅读 · 0 评论 -
三七互娱面经
三七互娱(2019年春季校园招聘,岗位:Java游戏开发(服务端))1.宣讲会笔试,20道单选,10道不定项(具体题目不大记得了)2.到公司,一份开放题: 1.你认为java语言有哪些需要改进的地方 2.有没有遇到程序性能瓶颈,怎么定位和处理 3.你心中的游戏服务器是怎样的,工作原理是什么3.一面(40min): 熟悉哪些linux命令 熟悉哪一些数据结构,...原创 2019-03-29 01:03:55 · 3978 阅读 · 6 评论 -
数据流图和数据字典
数据流图数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。基本的图形符号:加工中常用的关系符号表示设计原则:(1)子图的输入输出数据流同父图对应加工的输入输出数据流必须一致,此即父图与子图的平衡。...转载 2019-04-08 10:12:57 · 19210 阅读 · 2 评论 -
基于Spring Cloud项目实战
(2018年10月2日,从git上移到这里)通过案例学习了基于Spring cloud进行web微服务项目的开发,干货很多。Spring cloud体系提供了完整的微服务开发的解决方案,整合了多个优秀组件,能够很好的帮助我们提高开发效率。在此做以下总结。Spring Cloud简介 Spring Cloud是一个基于Spring Boot实现的微服务架构开发工具。它...原创 2019-03-20 08:47:33 · 44621 阅读 · 46 评论 -
Springboot 版本+ jdk 版本 + Maven 版本的对应关系
Springboot 版本+ jdk 版本 + Maven 版本的对应关系Spring boot 版本 Spring Framework jdk 版本 maven 版本 1.2.0 版本之前 6 3.0 1.2.0 4.1.3+ 6 3.2+ 1.2.1 4.1.3+ 7 3.2+ 1.2.3 4...原创 2018-11-29 09:45:23 · 5580 阅读 · 0 评论 -
Java后端开发常用工具
Java后端开发常用工具推荐:俗话说,工欲善其事,必先利其器。不过初学时候不大建议过度依赖IDE等过多工具,这会让自己的编程基础功变得很差,比如各种语法的不熟悉,各种关键字比如synchronized,在IDE中输入sync回车就出来了,这在开发初期是不利于自己成长的。当熟练掌握编码过程的时候,可以通过多种工具来提高自己的开发效率。下面整理了自己常用的一些工具,应该也是外面主流的,用的比较多的...原创 2018-12-22 17:55:02 · 14021 阅读 · 0 评论 -
关于实习工作的建议
关于实习工作的建议(发布在小班班群) 结合自己找实习的经历,和跟同学之间的交流,总结了本文。(坐标:广州;岗位:Java开发)主要是针对走专业路线方向的童鞋,有些部分偏向于后台开发,考研考公的可以忽略。自己在提前实习和秋招过程中碰到的壁很多,也走了很多很多弯路,得到一些实践和总结,以下是本人在此过程中认识到的一些东西,有很多方面可能总结的不好甚至是有误导,还请批评指正。以下多是个人认...原创 2018-12-30 15:21:04 · 12180 阅读 · 0 评论 -
Linux下Elasticsearch的安装和访问
1.什么是ElasticsearchElasticsearch 是一个基于Lucene的分布式、可扩展、实时的搜索与数据分析引擎,它能从项目一开始就赋予你的数据以搜索、分析和探索的能力。Elasticsearch 是一个实时的分布式搜索分析引擎, 它能让你以一个之前从未有过的速度和规模,去探索你的数据。 它被用作全文检索、结构化搜索、分析以及这三个功能的组合。2.下载Elasticse...原创 2019-01-12 21:36:14 · 5474 阅读 · 1 评论 -
Linux常用命令
转:https://blog.youkuaiyun.com/ljianhui/article/details/11100625/转载 2019-01-15 18:04:03 · 195 阅读 · 0 评论 -
Redis分布式锁
最近工作涉及到一个需求是关于禁止重复操作的后端校验,当时通过一种与业务耦合的redis加锁方式暂时满足了功能需求,后来在大佬的指点下将该功能抽离出来单独做一个组件,公司目前的项目是典型的分布式系统,自己之前接触的很少,中途也遇到了一些困难,在此做下总结。(基于Spring AOP+自定义注解实现redis分布式锁)什么是分布式锁要介绍分布式锁,首先要提到与分布式锁相对应的是...原创 2019-02-01 16:01:02 · 1037 阅读 · 0 评论 -
基于Mahout构建推荐引擎
什么是Mahout? Mahout 是 Apache旗下的一个开源项目,基于由以前的研究人员研究的经典推荐算法,它抽象和实现理论研究成果,将理论知识中的复杂运算进行封装,并支持多种数据源格式(文件,数据库等)并提供了多种可扩展的选项,将其集成到框架中去,使得开发人员能够通过API直接使用该算法实现,通过工具集隐藏其复杂的底层实现,帮助我们创建智能应用程序更快,更简单。此外,通过使...原创 2019-06-28 09:50:58 · 700 阅读 · 0 评论 -
基于webMagic实现爬虫开发
最近由于毕设一定的数据源,故需要进行爬虫方面的开发,网上的爬虫框架很多,包括scrapy(基于python),PySpider(基于python),webMagic(基于Java)等等。在网上查找了一番资料后选定webMagic,一方面它可以基于Java进行爬虫的开发,更重要的还是它的学习成本很低,官方文档简单易懂(国人开发,中文文档)。作者提供了一组高效而简洁的api,使得我们能用少量...原创 2019-02-24 11:40:44 · 1098 阅读 · 1 评论 -
CVTE面经
岗位:web后台开发校招岗(2019届春季校园招聘)笔试面试过程中涉及的知识点如下0.笔试(90min) 1.二十道不定项选择题 交换机在七层网络模型中是第几层 下列不是主机的ip地址有哪些 mysql删除一个表中的记录 两表关联,查询的数据两个表都有,用哪个查询关键字 哪个排序算法的时间复杂度是nlo...原创 2019-03-10 14:28:42 · 1022 阅读 · 3 评论 -
应用接入Spring Boot Admin 2.0
当应用部署到远程服务器后,为了获取应用的运行状态,我们需要接入监控系统从而方便地实现对应用的管理,初步选择的方案是大众点评开发的CAT开源监控系统,自己所在公司也接入了该系统,功能强大,使用较为熟悉。不料自己在接入过程中遇到很多坑,maven包没有发布在中央仓库(在点评自己的仓库下),引入本地仓库,下载缺包,打包依赖失败,启动bean注入失败等等,文档也比较少,在鼓捣了一个下午后表示...原创 2019-03-22 15:46:47 · 656 阅读 · 0 评论 -
《重构-改善既有代码的设计》学习总结
写于2019-02-22,从git上移到这里:公司原定于年后进行平台系统的局部重构工作,故提前补充了一点这部分的知识,时间仓促,自己重构系统的经验几乎为0,业务+技术上,更多的还是要在实践中去学习,阅读了《重构-改善既有代码的设计》这本书,自己理解较浅,更多的是编码技巧上的内容,总结部分如下,后续再补充。===========================================...原创 2019-03-22 16:41:18 · 278 阅读 · 0 评论 -
基于Spring Boot企业微信点餐系统项目总结
心得体会最近通过慕课网学习了《基于springboot企业微信点餐系统项目》,干货满满,既有springboot知识的学习,又有业务逻辑的处理体会。更多的是接触了企业级开发过程中各种编程心得和技巧,能够很大程度的帮助我们规范开发的流程,使得我们的代码更加优雅和实现可维护性。git地址:https://gitee.com/jiayuan1234/sell关于springcloud的可以看...原创 2018-08-20 10:25:07 · 10765 阅读 · 61 评论