自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 利用docker轻松安装高斯数据库

openGauss是一款开源的关系型数据库管理系统,它具有多核高性能、全链路安全性、智能运维等企业级特性。openGauss内核早期源自开源数据库PostgreSQL,融合了华为在数据库领域多年的内核经验,在架构、事务、存储引擎、优化器及ARM架构上进行了适配与优化。作为一个开源数据库,期望与广泛的开发者共同构建一个多元化技术的开源数据库社区。

2023-05-21 14:58:57 2243

原创 万字长文带你了解nginx的安装与使用

Nginx是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上Nginx的并发能力确实在同类型的网页服务器中表现特别出色。常见的软件代理服务还有HA proxy、Varnish和Squid等。

2023-05-11 22:07:31 97

原创 利用go将应用注册到nacos

本文介绍如何利用go-micro框架将应用注册到nacos,实际使用时可以利用go的可执行程序不需要专门依赖的特点,利用该程序的可执行文件将很多应用注册到nacos,例如vue等。

2023-05-10 21:36:03 486

原创 Zipkin介绍与在SpringCloud alibaba中的使用

官网地址:https://zipkin.io/Zipkin是一个分布式跟踪系统,它能聚集来自各个异构系统的实时监控数据。类似的分布式跟踪系统还有其他比较成熟的实现,例如:Naver的Pinpoint、Apache的HTrace、阿里的鹰眼Tracing、京东的Hydra、新浪的Watchman,美团点评的CAT,skywalking等。

2023-04-20 21:21:28 759

原创 如何通过log4j发送kafka消息

最近在单位做了一个需求,需要使用将一些接口信息发送到kafka消息队列。这个需求存在两个痛点,首先是项目比较老,目前还在使用的还是jdk1.6的版本,其次是技术栈比较封锁,是公司自己开发的框架,且时间比较急。思来想去给出这个需求的解决方案为:使用log4j发送消息,减少编码量,且和公司技术栈统一。由于目前网上能查到的基于jdk1.6通过log4j发送kafka消息的资料不多,所以在这里一起同大家分享。经测试发现syncSend设置为false时不起作用,建议自行实现异步发送或者升级版本。

2023-04-18 21:05:54 219

原创 一文了解Java ArrayList (源码逐行解析)(全网最细)

ArrayList 是最常用的 List 实现类,内部是通过数组实现的,它允许对元素进行快速随机访问。数组的缺点是每个元素之间不能有间隔,当数组大小不满足时需要增加存储能力,就要将已经有数组的数据复制到新的存储空间中。当从 ArrayList 的中间位置插入或者删除元素时,需要对数组进行复制、移动、代价比较高。因此,它适合随机查找和遍历,不适合插入和删除。ArrayList继承于AbstractList类,实现了List接口;他是一个数组队列,提供了相关的添加、删除、遍历的功能。

2023-04-16 15:14:35 171

原创 一文了解 Java hashMap(面试题)

1.为了数据的均匀分布,减少哈希碰撞。因为确定数组位置是用的位运算,若数据不是2的次幂则会增加哈希碰撞的次数和浪费数组空间。(PS:其实若不考虑效率,求余也可以就不用位运算了也不用长度必需为2的幂次)2.输入数据若不是2的幂,HashMap通过一通位移运算和或运算得到的肯定是2的幂次数,并且是离那个数最近的数字效率问题,其实hash取模时,数组的长度是素数更合适,但是选择合数是因为一些考虑。例如计算在数组的位置时用了h&(length-1)只有当length是2的幂时,结果才与h%length相等。

2023-04-09 16:19:17 128

原创 java自定义实现阻塞队列和线程池

实际使用时可以把线程池定义为final static 类型,保证jvm中只存在一个;或者使用单例模式创建线程池。不多BB,直接上代码。

2023-04-08 22:46:37 264

原创 如何设计秒杀系统(三)

网站的高可用建设是基础,可以说要深入到各个环节,更要长期规划并进行体系化建设,要在预防(建立常态的压力体系,例如上线前的单机压测到上线后的全链路压测)、管控(做好线上运行时的降级、限流和兜底保护)、监控(建立性能基线来记录性能的变化趋势以及线上机器的负载报警体系,发现问题及时预警)和恢复体系(遇到故障要及时止损,并提供快速的数据订正工具等)等这些地方加强建设,每一个环节可能都有很多事情要做。

2023-04-08 15:56:40 66 2

原创 如何设计秒杀系统(二)

为什么要削峰:

2023-04-05 21:10:31 53

原创 如何设计秒杀系统(一)

秒杀系统要解决的两个棘手问题:并发读和并发写。要完成这个目标有两个思路,“减”和“分",减指的是要充分渐少不必要的请求,做到用户请求的数据尽量少、请求数尽量少、路径尽量短、依赖尽量少,不要有单点;”分“则指的是要合理进行数据库的分库分表。那么秒杀系统的目标则是:高性能: 秒杀涉及大量的并发读和并发写,因此支持高并发访问这点非常关键。包括设计数据的动静分离方案、热点的发现与隔离、请求的削峰与分层过滤、服务端的极致优化。一致性: 秒杀中商品减库存的实现方式同样关键。

2023-04-02 23:29:07 113

原创 一种基于mysql实现分布式锁的方式

分布式锁,即分布式系统中的锁。在单体应用中我们通过锁解决的是控制共享资源访问的问题,而分布式锁,就是解决了分布式系统中控制共享资源访问的问题。与单体应用不同的是,分布式系统中竞争共享资源的最小粒度从线程升级成了进程。目前比较常见的实现分布式锁的方式主要有三种:基于数据库实现、基于Zookeeper实现、基于redis实现。本文主要介绍了一种基于mysql数据库实现分布式锁的方式,从最简单的实现方式开始,一步步构造一个拥有基本分布式锁条件的程序。

2023-03-26 13:57:57 899 2

空空如也

空空如也

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

TA关注的人

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