摘要:·【场景描述】 HTTP1.1之后,HTTP协议支持持久连接,也就是长连接,优点在于在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和延迟。 如果我们使用了nginx去作为反向代理或者负载均衡,从客户端过来的长连接请求就会被转换成短连接发送给服务器端。 为了支持长连接,我 阅读全文
posted @ 2019-06-24 10:15 流年的夏天 阅读(15918) 评论(1) 推荐(1) 编辑
摘要:【Github上创建仓库】 首先,在GitHub上创建自己的仓库(mvn-repo): 【配置本地setting文件】 找到本地的maven settings文件,配置server: 有两种选择,可以选择配置username和password,或者选择配置Personal access tokens 阅读全文
posted @ 2020-11-22 14:35 流年的夏天 阅读(146) 评论(1) 推荐(0) 编辑
摘要:maven是当下最流行的项目管理工具,其丰富的插件为我们的工作带来了很大的便利。 但是在一些情况下,开源的插件并不能完全满足我们的需求,我们需要自己创建插件,本文就从0开始带大家一起创建自己的插件。 【命名规范】 首先,官方的命名规范是maven-xxx-plugin,为了避免于官方冲突,我们可以将 阅读全文
posted @ 2020-11-18 17:12 流年的夏天 阅读(61) 评论(0) 推荐(1) 编辑
摘要:【背景】 之前在领英上读到一篇软文,《Managing Software Dependency at Scale》,讲述了领英是如何处理模块之间的依赖解析,以及如何去更好的处理依赖关系以及依赖管理。感觉在一家多产品的公司,在产品有可能相互依赖的情况下,都应该有这么一套系统,来进行依赖关系的管理以及维 阅读全文
posted @ 2020-11-08 17:36 流年的夏天 阅读(162) 评论(1) 推荐(0) 编辑
摘要:在最开始呢,咱们先说一下什么叫负载均衡,负载均衡呢,就是将一批请求,根据请求的内容,分发到不同的后端去进行相应的处理,从而提供负载分担,主备切换等功能。 对于不同的负载均衡软件,有不同的流量分发算法,今天,我们最市面上比较主流的两种负载均衡做一个对比,看看他们分别的优缺点,以及在很多情况下如何去做配 阅读全文
posted @ 2020-10-29 17:20 流年的夏天 阅读(376) 评论(0) 推荐(2) 编辑
摘要:找到Tomcat目录下的conf/logging.properties配置文件,打开,搜索java.util.logging.ConsoleHandler.encoding 日志的编码, 将UTF-8改成GBK 问题解决。 阅读全文
posted @ 2020-09-27 17:37 流年的夏天 阅读(37) 评论(0) 推荐(1) 编辑
摘要:本文主要介绍Java垃圾回收(Garbage Collection),90%干货,文字颇多,需要耐心一点看。 【对象判断状态算法】 引用计数法 在创建对象时,为对象创建一个伴生的引用计数器,当有其他对象引用该对象时,将引用计数器的值加1,如果其他对象不再引用该对象就将引用计数器的值减1,所以当引用计 阅读全文
posted @ 2020-09-07 15:09 流年的夏天 阅读(88) 评论(0) 推荐(1) 编辑
摘要:上一篇主要从总体介绍了高并发&性能优化的相关思路和方法,本篇主要介绍系统监控工具。 【CPU查看工具】 top命令(性能) 进入top命令后,按1即可看到每核CPU的运行指标与详细指标: 咱们依次说明下红框里面的参数: Load Average 一段时间内系统的平均负载,这个一段时间一般取1分钟、5 阅读全文
posted @ 2020-08-25 15:15 流年的夏天 阅读(783) 评论(0) 推荐(1) 编辑
摘要:【开篇词】 本文主要通过一些经典的高并发场景,以及一些基本的运维工具来讲述一些关于高并发以及性能优化相关的内容,主要包括性能瓶颈的定位,性能调优的思路和技巧等。 【性能的衡量指标】 ?什么是性能 性能就是,在有限的时间内,使用有限的资源,完成任务。 在存储资源成本越来越低的今天,时间,就成为了性能指 阅读全文
posted @ 2020-08-24 21:07 流年的夏天 阅读(551) 评论(0) 推荐(2) 编辑
摘要:【为什么要使用线程池】 传统线程创建方式的问题 反复创建线程系统开销比较大,每个线程创建和销毁都需要时间,如果任务比较简单,那么就有可能导致创建和销毁线程消耗的资源比线程执行任务本身消耗的资源还要大。 过多的线程会占用过多的内存等资源,还会带来过多的上下文切换,同时还会导致系统不稳定。 线程池的优点 阅读全文
posted @ 2020-08-06 21:49 流年的夏天 阅读(278) 评论(0) 推荐(0) 编辑
摘要:【基本流程】 客户端发送请求,到DispatcherServlet(SpringMVC前端控制器,主要负责分发) DispatcherServlet根据请求的url信息调用HandlerMapping,解析请求对应的Handler 解析到对应的Handler(controller的实现类,也叫act 阅读全文
posted @ 2020-08-05 15:57 流年的夏天 阅读(88) 评论(0) 推荐(0) 编辑