自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

后端领域、分布式、高并发、微服务、性能优化文章分享

后端领域、分布式、高并发、微服务、性能优化文章分享

  • 博客(22)
  • 收藏
  • 关注

原创 Java线程池深入浅出

ThreadPoolExecutor 深入浅出ThreadPoolExecutor使用前言一、技术介绍1.线程池是什么?二、使用步骤1.newSingleThreadExecutor使用2.具体使用示例3.配置文件4.单元测试总结ThreadPoolExecutor使用提示:如有疑问请私信联系、下方有源代码地址,请自行拿取前言ThreadPoolExecutor是JDK1.5之后才有的线程池类,JDK帮我们实现了基于ThreadPoolExecutor创建的newSingleThreadExec

2021-01-25 16:26:24 277

原创 微服务滚动发布 | 优雅且丝滑

众所周知,Nacos利用心跳机制每隔一段时间(可配置,defalut:30s)服务端与客户端都会互相发送心跳包,当服务端接收到的客户端心跳包有异常情况时,Nacos服务端会剔除客户端在服务端中的注册信息,意味着这个服务是不可用状态,这种方式其实是有弊端的,这其实也是心跳机制的弊端,比如我服务A重启了,Nacos服务端并没有马上感知服务A的异常情况,这个时候还认为其是可用状态,这个时候如果有流量打进来,通过负载均衡很明显会有流量进入到服务A,无法即时感知客户端异常,就是它的最大弊端。

2023-10-22 09:13:50 330

原创 分布式数据库选型 | 你还在分库分表吗?

web2.0时代以来,国产数据库百花齐放,各种海量数据存储需求似乎成为了互联网标配,同样的,在当下云原生时代,分布式集群技术也成为了项目的标配。如果你还不了解分布式数据库的概念,下面一张图将助你初步认识分布式数据库分布式数据库服务是互联网项目非常有必要要引入的架构分布式数据库虽好,但也需要根据具体使用场景进行选型,切勿盲目忽略实际情况进行选型操作。

2023-10-21 09:43:25 162

原创 实时音视频 | 业内各种常见直播场景架构方案

推流指的是把采集阶段封包好的内容推送到服务器的过程。在进行方案选型时得深度分析自己的业务场景,不同场景适用不同方案,当然同一方案可适用于多场景,比如语聊直播,这里面有很多玩法场景,狼人杀、剧本杀、相亲连麦等其实都是同一套方案,可能在处理细节和业务实现上有不同的方式,大体上这一类目业务都算相同场景。

2023-10-18 13:34:01 221

原创 【从0-1 千万级直播项目实战】混合云下的语聊社交产品架构探索

多麦位语聊直播、房间内礼物打赏语音房间内小游戏IM互动、1V1视频通话营收、打榜等商业化活动用户社区互动、交流公会、主播入驻、主播薪资结算虚拟装扮、物品商城资产体系、充值、提现这是第一期架构的规划,基本能用云服务尽量采用云服务(成本也得控制下),方便后期伸缩与扩展,对开发团队来说自动化、轻运维、重业务,适合早期产品的快速迭代。

2023-10-16 09:55:08 100

原创 Redis轻松优雅实现榜单功能

背景介绍众所周知,在互联网项目中,我们用Redis的场景非常之多,Redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用,使用起来也是非常的方便,多种数据结构让你能更加优雅、轻松的面对各种场景,公司主要做直播行业的,单纯Redis实例就有上百台,所以这边用Redis也是很频繁的,下面将介绍如果用Redis简易、轻松的去实现各种榜单。场景模拟1.日榜实现假如有一个活动需求,需要你统计每天每个直播间收礼榜单以及贡献者榜单,思考

2021-07-31 09:43:32 574

原创 MySQL海量数据分库分表实战

前言在互联网项目中比较常用到的关系型数据库是MySQL,随着用户和业务的增长,传统的单库单表模式难以满足大量的业务数据存储以及查询,单库单表中大量的数据会使写入、查询效率非常之慢,此时应该采取分库分表策略来解决。提示:以下是本篇文章正文内容,案例仅供参考一、业务场景介绍假设目前有一个电商系统使用的是MySQL,要设计大数据量存储、高并发、高性能可扩展的方案,数据库中有用户表。用户会非常多,并且要实现高扩展性,你会怎么去设计?OK咱们先看传统的分库分表方式当然还有些小伙伴知道按照省份/地区或

2021-07-16 09:54:10 521

原创 HashMap彻底搞懂+手写实现

HashMap彻底搞懂+手写实现前言一、技术介绍1.HashMap是什么?二、底层原理1.数组2.链表三、单元测试总结作者寄语提示:下方有源代码地址,请自行拿取前言你是不是还在面试时被面试官问懵HashMap?不会手写实现一个简单HashMap?看完这篇文章你再不会算我输!提示:以下是本篇文章正文内容,案例仅供参考一、技术介绍1.HashMap是什么?基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了非同步和允许使用 null

2021-02-09 18:34:40 679

原创 AOP实战篇:轻松实现日志记录

AOP实战篇:轻松实现日志记录前言一、技术介绍1.AOP是什么?二、开始使用1.代码目录结构2.开始编写代码三、单元测试总结作者寄语提示:下方有源代码地址,请自行拿取前言你是不是还在类里面直接拿到日志对象调用方法来输出日志?接下来教你如何简单使用AOP+自定义注解优雅的实现一个日志记录功能提示:以下是本篇文章正文内容,案例仅供参考一、技术介绍1.AOP是什么?在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代

2021-02-04 10:18:43 841

原创 MySQL海量数据优化(理论+实战)

MySQL海量数据优化实战 让面试官哑口无言前言一、准备表数据二、优化方式1.分页优化2.普通索引优化3.复合索引优化总结作者寄语提示:下方有源代码地址,请自行拿取前言朋友们,又见面了,上篇文章咱们讲到MySQL分库分表的方法,这篇文章咱们就针对上一篇文章模拟在分布式环境下海量数据的优化方法提示:以下是本篇文章正文内容,案例仅供参考一、准备表数据咱们建一张用户表,表中的字段有用户ID、用户名、地址、记录创建时间,如图所示OK,接下来准备写一个存储过程插入一百万条数据CREATE TA

2021-02-02 17:05:23 1080

原创 MySQL分库分表 看完吊打面试官

MySQL分库分表 看完吊打面试官前言一、业务场景介绍二、水平分库分表方法1.RANGE2.HASH取模3.一致性HASH三、单元测试总结作者寄语提示:下方有源代码地址,请自行拿取前言在互联网项目中比较常用到的关系型数据库是MySQL,随着用户和业务的增长,传统的单库单表模式难以满足大量的业务数据存储以及查询,单库单表中大量的数据会使写入、查询效率非常之慢,此时应该采取分库分表策略来解决。提示:以下是本篇文章正文内容,案例仅供参考一、业务场景介绍假设目前有一个电商系统使用的是MySQL,要

2021-01-31 20:21:34 1531 1

原创 Java 读写锁 原来这么简单

Java ReentranReadWriteLock前言一、技术介绍1.ReentranReadWriteLock是什么?二、源码分析1.ReadLock2.公平锁三、单元测试总结作者寄语提示:下方有源代码地址,请自行拿取前言在实际项目中,比如我们有一个共享资源文件,我们程序会会同时并发的去读、写这个共享资源文件,那怎么能保证在高并发场景下安全、高效读写呢?OK,看了下文便知提示:以下是本篇文章正文内容,案例仅供参考一、技术介绍1.ReentranReadWriteLock是什么?Rea

2021-01-29 14:27:02 384

原创 Java ReentrantLock深入浅出

Java ReentrantLock使用Java ReentrantLock使用前言一、技术介绍1.ReentrantLock是什么?二、使用步骤1.公平锁2.newSingleThreadExecutor使用3.newFixedThreadPool使用4.newCachedThreadPool使用5.线程池的使用推荐作者寄语Java ReentrantLock使用提示:如有疑问请私信联系、下方有源代码地址,请自行拿取前言面试中经常会问到公平锁与非公平锁的区别,这篇文章我相信看了之后你定能消灭这个

2021-01-28 10:24:09 513

原创 SpringBoot MongoDB整合

SpringBoot MongoDB整合SpringBoot MongoDB整合教程前言一、技术介绍1.MongoDB是什么?二、使用步骤1.引入maven库2.具体使用示例3.配置文件4.单元测试总结SpringBoot MongoDB整合教程提示:如有疑问请私信联系、下方有源代码地址,请自行拿取前言MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。提示:以下是本篇文章正文内容,下面案例可供参考一、技术介绍1.MongoDB是

2021-01-23 11:59:20 214 1

原创 SpringBoot SSO整合

SpringBoot系列-SSO整合SpringBoot整合SSO教程前言一、技术介绍1.SSO是什么?二、使用步骤1.引入maven库2.具体使用示例3.配置文件4.单元测试总结SpringBoot整合SSO教程提示:如有疑问请私信联系、下方有源代码地址,请自行拿取前言网上SSO的框架很多,此篇文章使用的是自写的SSO来实现简单的登录授权功能,目的在于扩展性,权限这方面,自写扩展性会好点。提示:以下是本篇文章正文内容,下面案例可供参考一、技术介绍1.SSO是什么?单点登录(Singl

2021-01-20 09:54:05 2162

原创 SpringBoot WebSocket整合

SpringBoot系列-websocket整合SpringBoot整合WebSocket教程前言一、技术介绍1.WebSocket是什么?二、使用步骤1.引入maven库2.WebSocket具体使用示例3.配置文件4.单元测试总结SpringBoot整合WebSocket教程从今天起,撸起袖子跟着我加油干提示:如有疑问请私信联系、下方有源代码地址,请自行拿取前言使用Spring Boot 可以非常方便、快速搭建项目,使我们不用关心框架之间的兼容性,适用版本等各种问题,我们想使用任何东西,仅仅

2021-01-19 14:49:58 453 2

原创 SpringBoot Quartz整合

SpringBoot系列-quartz整合SpringBoot整合Quartz教程前言一、技术介绍1.Quartz是什么?二、使用步骤1.引入maven库2.Quartz具体使用示例3.配置文件4.单元测试总结SpringBoot整合Quartz教程从今天起,撸起袖子跟着我加油干提示:如有疑问请私信联系、下方有源代码地址,请自行拿取前言使用Spring Boot 可以非常方便、快速搭建项目,使我们不用关心框架之间的兼容性,适用版本等各种问题,我们想使用任何东西,仅仅添加一个配置就可以。提示:

2021-01-18 09:48:52 1166 2

原创 SpringBoot Minio整合

SpringBoot系列-minio整合SpringBoot整合Minio教程前言一、技术介绍1.Minio是什么?二、使用步骤1.引入maven库2.封装Minio3.配置文件4.单元测试总结SpringBoot整合Minio教程从今天起,撸起袖子跟着我加油干提示:如有疑问请私信联系、下方有源代码地址,请自行拿取文章目录SpringBoot整合Minio教程前言一、技术介绍1.Minio是什么?二、使用步骤1.引入maven库2.封装Minio3.配置文件4.单元测试总结前言使用Spri

2021-01-15 09:35:30 1183 2

原创 SpringBoot RocketMq整合

SpringBoot系列-rocketmq整合SpringBoot整合RocketMq教程前言一、技术介绍1.消息队列是什么?2.RocketMq是什么?二、使用步骤1.引入maven库2.封装RocketMq工具类3.配置文件4.单元测试总结SpringBoot整合RocketMq教程章目录提示:从今天起,撸起袖子跟着我加油干提示:如有疑问请私信联系文章目录SpringBoot整合RocketMq教程前言一、技术介绍1.消息队列是什么?2.RocketMq是什么?二、使用步骤1.引入maven

2021-01-14 11:00:12 568

原创 SpringBoot Redis分布式锁

SpringBoot系列-redis分布式锁实现SpringBoot整合Redis分布式锁教程前言一、技术介绍1.Redis是什么?2.分布式锁是什么?二、使用步骤1.引入maven库2.封装Redis分布式锁工具类3.配置文件4.单元测试总结SpringBoot整合Redis分布式锁教程章目录提示:从今天起,撸起袖子跟着我加油干提示:如有疑问请私信联系文章目录SpringBoot整合Redis分布式锁教程前言一、技术介绍1.Redis是什么?2.分布式锁是什么?二、使用步骤1.引入maven库

2021-01-13 17:22:17 461 4

原创 SpringBoot Redis整合

SpringBoot系列-redis整合SpringBoot整合Redis教程前言一、Redis是什么?二、SpringBoot使用步骤1.引入maven库2.封装Redis工具类3.配置文件4.单元测试总结SpringBoot整合Redis教程章目录提示:从今天起,撸起袖子跟着我加油干提示:如有疑问请私信联系文章目录SpringBoot整合Redis教程前言一、Redis是什么?二、SpringBoot使用步骤1.引入maven库2.封装Redis工具类3.配置文件4.单元测试总结前言

2021-01-13 15:11:01 237

原创 SpringBoot第一个程序

SpringBoot系列-应用启动启动第一个SpringBoot程序前言一、SpringBoot是什么?二、SpringBoot使用步骤1.引入maven库2.编写入口类3.配置文件总结启动第一个SpringBoot程序章目录提示:从今天起,撸起袖子跟着我加油干提示:如有疑问请私信联系文章目录启动第一个SpringBoot程序前言一、SpringBoot是什么?二、SpringBoot使用步骤1.引入maven库2.编写入口类3.配置文件总结前言使用Spring Boot 可以非常方便、

2021-01-13 13:59:31 295

空空如也

空空如也

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

TA关注的人

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