精彩博客

RocketMQ 多副本前置篇:初探raft协议

Raft协议是分布式领域解决一致性的又一著名协议,主要包含Leader选举、日志复制两个部分。 温馨提示: 本文根据raft官方给出的raft动画进行学习,其动画展示地址:http://thesecretlivesofda...

前天 21:07
188
0
如何快速安全的插入千万条数据

前言 最近有个需求解析一个订单文件,并且说明文件可达到千万条数据,每条数据大概在20个字段左右,每个字段使用逗号分隔,需要尽量在半小时内入库。 思路 1.估算文件大小 因为告诉文件有千万...

前天 20:01
361
0
Kafka再平衡机制详解

所谓的再平衡,指的是在kafka consumer所订阅的topic发生变化时发生的一种分区重分配机制。一般有三种情况会触发再平衡: consumer group中的新增或删除某个consumer,导致其所消费的分区需要...

前天 09:59
463
0
该如何选择消息队列?

在高并发业务场景下,消息队列在流量削峰、解耦上有不可替代的作用。当前使用较多的消息队列有 RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、Pulsar 等。 消息队列这么多,到底该选择哪款消...

10/14 22:06
444
3
RocketMQ一个新的消费组初次启动时从何处开始消费呢?

1、抛出问题 一个新的消费组订阅一个已存在的Topic主题时,消费组是从该Topic的哪条消息开始消费呢? 首先翻阅DefaultMQPushConsumer的API时,setConsumeFromWhere(ConsumeFromWhere consum...

10/14 21:42
211
1
为什么Netty的FastThreadLocal速度快

前言 最近在看netty源码的时候发现了一个叫FastThreadLocal的类,jdk本身自带了ThreadLocal类,所以可以大致想到此类比jdk自带的类速度更快,主要快在什么地方,以及为什么速度更快,下面做一...

10/14 19:30
459
0
Spring是怎么解决循环依赖的?

在上篇文章中,我们详细分析了doCreateBean()中的第2步:实例化bean,本文接着分析doCreateBean()的第4步“循环依赖处理”,也就是populateBean()方法。 首先回顾下Bean加载的主流程: 如果是...

10/14 10:24
995
4
对2b、2c账号的思考

2b:to business,对商业(机构);2c:to consumer,对消费者(个人) 2b的产品:主要针对机构、企业的产品;2c的产品:主要针对消费者、个人的产品 假设你想推出一款针对记者,提高他们工作...

10/13 22:51
247
3
fastjson漏洞导致服务瘫痪,先别忙升级

1、背景 ??2019年9月5日,fastjson修复了当字符串中包含\x转义字符时可能引发OOM的问题。建议广大用户升级fastjson版本至少到1.2.60。 ??一个bug这么恐怖,竟然直接OOM,亲身体验下吧。测...

10/13 21:30
1K
5
一直使用AtomicInteger?试一试FieldUpdater

1. 背景 在进入正题之前,这里先提出一个问题,如何在多线程中去对一个数字进行+1操作?这个问题非常简单,哪怕是Java的初学者都能回答上来,使用AtomicXXX,比如有一个int类型的自加,那么你...

设计模式 - 单例模式之多线程调试与破坏单例

前言 在之前的 设计模式 - 单例模式(详解)看看和你理解的是否一样? 一文中,我们提到了通过Idea 开发工具进行多线程调试、单例模式的暴力破坏的问题;由于篇幅原因,现在单独开一篇文章进...

10/10 09:09
710
2
SpringCloud——使用Ribbon做负载均衡

Ribbon负载均衡 一、简介 1:什么是负载均衡 负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵...

10/09 23:07
796
1
分布式秒杀

一般在具体的业务中,平台方会发布秒杀席位个数,秒杀的时间段,让各个商家报名,将自己的产品参与秒杀活动。这里将同事画的一张图放上来,大致是这么一个流程。关于秒杀原理可以参考单机秒杀...

10/09 17:30
1K
6
关于深夜技术事故纪实录的若干问题回复

前一段时间写了一篇文章《凌晨1点突发致命生产事故,人工多线程来破局!》,只是一篇生产事故的记实文章,没想到在圈内流传甚广,其中有程序员对其中的细节有点疑惑,刚好国庆可以和大家再进...

10/09 11:42
577
2
Spring Boot 2.x基础教程:Swagger接口分类与各元素排序问题详解

之前通过Spring Boot 2.x基础教程:使用Swagger2构建强大的API文档一文,我们学习了如何使用Swagger为Spring Boot项目自动生成API文档,有不少用户留言问了关于文档内容的组织以及排序问题。...

10/09 09:36
801
4
漫谈 GOF 设计模式在 Spring 框架中的实现

原文地址:梁桂钊的博客 博客地址:http://blog.720ui.com 欢迎关注公众号:「服务端思维」。一群同频者,一起成长,一起精进,打破认知的局限性。 漫谈 GOF 设计模式在 Spring 框架中的实现...

10/09 01:39
454
1
Redis 的多线程版本比 Redis 本身要快 5 倍

如果我告诉您有一个 Redis 的分支版本,它的性能比原生的 Redis 快 5 倍,而且延迟却降低近 5 倍,你会不会想了解一下这个项目?而如果您不再需要哨兵节点并且您的副本可以接受读取和写入,这...

10/08 18:52
10.7K
11
Kafka日志存储详解

在前面的文章中,我们对kafka的基本使用方式和架构原理进行了介绍,本文则主要介绍kafka中日志的存储原理,主要内容包括kafka日志存储格式、日志文件的管理方式、日志索引文件的格式和日志压...

10/08 09:25
757
1
使用jenkins的jacoco插件快速实现统计单元测试覆盖率

安装jenkins wget http://mirrors.jenkins.io/war-stable/2.176.4/jenkins.war java -jar jenkins.war 参考 通过java方式安装jenkins jenkins可选插件为空的解决方式或jenkins不能联网 安装g...

10/07 21:32
345
0
Spring Boot 2.x基础教程:JSR-303实现请求参数校验

请求参数的校验是很多新手开发非常容易犯错,或存在较多改进点的常见场景。比较常见的问题主要表现在以下几个方面: 仅依靠前端框架解决参数校验,缺失服务端的校验。这种情况常见于需要同时...

10/07 12:54
649
0

没有更多内容

加载失败,请刷新页面

Redis 的多线程版本比 Redis 本身要快 5 倍

如果我告诉您有一个 Redis 的分支版本,它的性能比原生的 Redis 快 5 倍,而且延迟却降低近 5 倍,你会不会想了解一下这个项目?而如果您不再需要哨兵节点并且您的副本可以接受读取和写入,这...

10/08 18:52
10.7K
11
手把手实现一条延时消息

前言 近期在维护公司的调度平台,其中有个关键功能那就是定时任务;定时任务大家平时肯定接触的不少,比如 JDK 中的 Timer、ScheduledExecutorService、调度框架 Quartz 等。 通常用于实现 ...

09/27 08:38
4.6K
18
Zookeeper的选举算法和脑裂问题深度讲解

ZK介绍 ZK = zookeeper ZK是微服务解决方案中拥有服务注册发现最为核心的环境,是微服务的基石。作为服务注册发现模块,并不是只有ZK一种产品,目前得到行业认可的还有:Eureka、Consul。 这...

09/24 11:15
4K
5
JDK13新特性详解

JDK8 新特性详解,2014-03-18正式发布 JDK9 新特性详解,2017-09-21正式发布 JDK10新特性详解,2018-03-20正式发布 JDK11新特性详解,2018-09-25正式发布 JDK12新特性详解,2019-03-19正式发...

09/17 14:06
11.7K
16
学会IDEA REST Client后就可以丢掉postman了

前言 接口调试是每个软件开发从业者必不可少的一项技能,一个项目的的完成,可能接口测试调试的时间比真正开发写代码的时间还要多,几乎是每个开发的日常工作项。所谓工欲善其事必先利其器,...

09/11 15:09
7.6K
11
不要小看小小的 emoji 表情

前言 好久没更新了,最近事比较多,或许下个月就会恢复到正常的发文频次。 这篇文章得从一个 emoji 表情开始,我之前开源的一个 IM 项目中有朋友提到希望可以支持 emoji 表情传输。 https://...

09/10 08:22
7.2K
11
Tomcat中的容器是如何处理请求的

前言 上一篇《Tomcat中的连接器是如何设计的》介绍了Tomcat中连接器的设计,我们知道连接器是负责监听网络端口,获取连接请求,然后转换符合Servlet标准的请求,交给容器去处理,那么我们这篇...

09/09 09:49
4.7K
12
基于XXL-JOB和钉钉机器人构建系统监控

概述 ??线上系统挂了,服务异常了,响应超时了;系统运行结果不符合预期。。。 ??用户被影响,甲方爸爸不开心,后果很严重。 ??从某种意义上讲,“在用户遇到问题之前把问题解决,问题...

08/31 22:34
4K
3
解Bug之路-dubbo流量上线时的非平滑问题

前言 笔者最近解决了一个困扰了业务系统很久的问题。这个问题只在发布时出现,每次只影响一两次调用,相较于其它的问题来说,这个问题有点不够受重视。由于种种原因,使得这个问题到了业务必...

08/27 14:09
4.7K
24
测试人员为什么要深入到项目实现中去

(“马蜂窝技术”公众号原创内容,ID: mfwtech) 一个项目从需求确定到最后上线,通常来说流程是这样的: 「测试」作为一个项目质量保证角色,在上面的整个流程中均有参与。而用例设计、项目...

08/26 10:42
2.6K
2
Tomcat中的连接器是如何设计的

上期回顾 上一篇文章《Tomcat在SpringBoot中是如何启动的》从main方法启动说起,窥探了SpringBoot是如何启动Tomcat的,在分析Tomcat中我们重点提到了,Tomcat主要包括2个组件,连接器(Conne...

08/26 08:51
4.2K
11
Spring如何解决循环依赖的问题

在关于Spring的面试中,我们经常会被问到一个问题,就是Spring是如何解决循环依赖的问题的。这个问题算是关于Spring的一个高频面试题,因为如果不刻意研读,相信即使读过源码,面试者也不一定...

08/22 23:25
6.1K
17
公司为什么需要建立一套统一的开发框架?

一、起因:野蛮生长 近十年,中国互联网发展的速度越来越快,互联网科技颠覆了越来越多的传统行业,我们的衣食住行随着互联网科技的进步,发生了翻天覆地的变化。在这个大潮中,越来越多新兴...

08/22 10:31
13.3K
18
如何参与一个顶级开源项目

前言 最近个人事情比较多(搬家、换工作、短暂休息)所以一直也没有顾得上博客更新,恰好最近收到一封邮件提醒了我。 也是时候写一篇文章来聊聊参与开源项目的事(最近也确实进入了笔荒期)。...

08/20 08:36
5.6K
17
颠覆微服务认知:深入思考微服务的七个主流观点

原文地址:梁桂钊的博客 博客地址:http://blog.720ui.com 欢迎关注公众号:「服务端思维」。一群同频者,一起成长,一起精进,打破认知的局限性。 一、逃离单体系统,拥抱微服务? 单体系统...

08/14 07:53
7K
24
一次难得的分库分表实践

背景 前不久发过两篇关于分表的文章: 一次分表踩坑实践的探讨 分表后需要注意的二三事 从标题可以看得出来,当时我们只做了分表;还是由于业务发展,截止到现在也做了分库,目前看来都还比较...

08/08 08:33
8.6K
16
Soul高可用网关:配置缓存三大同步策略

前言 网关是流量请求的入口,在微服务架构中承担了非常重要的角色,网关高可用的重要性不言而喻。在使用网关的过程中,为了满足业务诉求,经常需要变更配置,比如流控规则、路由规则等等。因...

08/05 18:08
2.2K
7
RocketMQ为什么要保证订阅关系的一致性?

微信公众号「后端进阶」,专注后端技术分享:Java、Golang、WEB框架、分布式中间件、服务治理等等。 前段时间有个朋友向我提了一个问题,他说在搭建 RocketMQ 集群过程中遇到了关于消费订阅的...

07/30 13:45
3.1K
4
支撑马蜂窝会员体系全面升级背后的架构设计

流量红利正逐渐走向终结,这已经不再是什么秘密。后互联网时代,如何维系住用户群,提升用户在平台上的体验是整个行业都需要考虑的事情。正是出于这一原因,现在全行业都在关注会员体系的搭建...

07/26 14:27
5K
12
GitOps 与 ChatOps 的落地实践

前言 说到 GitOps 和 ChatOps ,那就不得不谈到 DevOps 。 DevOps 作为一种文化,旨在促进开发、测试和运维人员之间的沟通与协作。而促进合作的方式,往往是使用一系列工具,完成这三个角色的...

07/19 17:31
1K
1

没有更多内容

加载失败,请刷新页面

总结

一、设计模式 简单工厂:一个简单而且比较杂的工厂,可以创建任何对象给你 复杂工厂:先创建一种基础类型的工厂接口,然后各自集成实现这个接口,但是每个工厂都是这个基础类的扩展分类,spr...

今天 00:20
4
0
JAVA 利用时间戳来判断TOKEN是否过期

import java.time.Instant; import java.time.LocalDateTime; import java.time.ZoneId; import java.time.ZoneOffset; import java.time.format.DateTimeFormatter; /** * @description: * ...

昨天 23:49
4
0
JAVA Date时间工具类,底层使用LocalDateTime来进行转换封装

import java.text.ParseException; import java.time.*; import java.time.format.DateTimeFormatter; import java.time.temporal.TemporalAdjusters; import java.util.Date; /** * @descri...

昨天 23:44
2
0
聊聊nacos client的ServerHttpAgent

序 本文主要研究一下nacos client的ServerHttpAgent HttpAgent nacos-1.1.3/client/src/main/java/com/alibaba/nacos/client/config/http/HttpAgent.java public interface HttpAgent { /**...

昨天 22:48
8
0
Springboot开发,第二天

SpringBoot学习,第二天 目录:1、Springboot整合Listener 2、Springboot访问静态资源 3、异常处理 4、热部署 一、SpringBoot整合Listener 两种方式完成组件的注册 1、通过注解扫描完成组件的...

昨天 22:34
10
0
BeginnersBook Perl 教程

来源:ApacheCN BeginnersBook 翻译项目 译者:飞龙 协议:CC BY-NC-SA 4.0 贡献指南 本项目需要校对,欢迎大家提交 Pull Request。 请您勇敢地去翻译和改进翻译。虽然我们追求卓越,但我们并...

昨天 22:22
9
0
017、xml版本代码生成器配置

1、在pom.xml文件中增加mybatis-generator-maven-plugin插件 <build> <plugins> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-......

昨天 21:54
9
0
016、Spring Boot 整合 TkMyBatis和PageHelper

1、idea安装代码生成器 下载MyBatisCodeHelper-Pro插件 https://zhile.io/2019/04/23/mybatis-code-helper-pro-crack.html 2、离线安装 具体参考以上给的链接 3、在pom.xm文件中引入 mapper...

昨天 21:47
7
0
015、SpringBoot整合HikariCP

加入pom依赖 <!-- 主要增加 HikariCP 依赖 --> <dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> <version>${hikaricp.version}</version> </dependency> <d...

昨天 21:40
5
0
Git ssh配置

生成密钥对 ssh-keygen -t rsa -C "[email protected]" 邮箱替换自己邮箱 在地址C:\Users\账户\.ssh下,id_rsa、id_rsa.pub两个文件 复制文件id_rsa.pub内容到github\gitlab的Settings-> SSH ...

昨天 21:38
7
0
014、使用docker-compose安装软件

创建docker-compose基础目录 mkdir -p /usr/local/docker 1、安装mysql 在/usr/local/docker/目录下创建mysql目录 mkdir -p /usr/local/docker/mysql 在/usr/local/docker/mysql目录编写doc...

昨天 21:38
9
0
【并发那些事 】创建线程的三种方式

创建线程可以说是并发知识中最基础的操作了,JDK 提供的创建线程的方式,如果不包括通过线程池的话,目前有三种形式,它们分别是通过继承 Thread 类,通过实现 Runable 接口,通过 FutureTa...

昨天 21:32
10
0
volatile关键字的可见性

参考博客:https://www.jianshu.com/p/8420ade6ff76 https://blog.csdn.net/javazejian/article/details/72772461 要说volatile关键字可见性的作用,需要先说一下关于计算机的设计的简化版:...

Red Hat Enterprise Linux 7.7 下载

Red Hat Enterprise Linux 7.7 下载 链接: https://pan.baidu.com/s/1JzerTht7seAu93S2H9pljQ 提取码: n8tv 链接: https://pan.baidu.com/s/14csR7RO6S0rb_GjOiA4U8w 提取码: 6s5o —————...

昨天 21:06
5
0
SpringBoot + WebSocket 开发笔记

1. 服务端的实现,我尝试了两种方式: 第一种是用“@ServerEndPoint”注解来实现,实现简单; 第二种稍显麻烦,但是可以添加拦截器在WebSocket连接建立和断开前进行一些额外操作。   不管用...

昨天 20:52
6
0
013、安装 Docker

本文章安装基于ubuntu 18.04 LTS版本系统 1、卸载旧版本 apt-get remove docker docker-engine docker.io containerd runc 2、使用apt-get工具安装 # 更新数据源 apt-get update # 安装所需依...

昨天 20:48
5
0
spring boot Websocket(使用笔记)

spring boot Websocket(使用笔记) 本文只作为个人笔记,大部分代码是引用其他人的文章的。 在springboot项目中使用websocket做推送,虽然挺简单的,但初学也踩过几个坑,特此记录。   使...

昨天 20:47
5
0
Gson系列5 --- 总结篇 -- TypeAdapter JsonSerializer 与 JsonDeserializer @JsonAdapter

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/sunrainamazing/article/details/80989711 # TypeAdapter...

昨天 20:42
3
0
012、Linux LVM 磁盘扩容

Linux LVM 磁盘扩容

昨天 20:41
4
0
011、java环境安装配置

java环境安装配置

昨天 20:41
4
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部
天津时时彩