自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 缓存之Tair

​ 在Tair出现之前的很长一段时间里,像redis、memcache这些知名NoSql数据库是不支持分布式的,在这样的背景下,由淘宝网自主开发并在2010.6开源的一个高性能、高扩展、高可靠分布式缓存,类似map的key/value结构,在淘宝、天猫等各个应用中广泛应用。​ Tair官网:https://www.oschina.net/p/tair​ gitee地址:https://gitee.com/mirrors/Tair。

2024-08-24 11:31:25 258

原创 Ingress Nginx Controller

(类似于slb,做代理服务)ingress controller可以为kubernetes 集群外用户访问Kubernetes集群内部pod提供代理服务。

2024-08-23 23:49:17 741 1

原创 DockerFile

Dockerfile是一种能够被Docker程序解释的剧本。Dockerfile由一条一条的指令组成,并且有自己的书写格式和支持的命令。当我们需要在容器镜像中指定自己额外的需求时,只需在Dockerfile上添加或修改指令,然后通过docker build生成我们自定义的容器镜像(image)。

2024-08-18 21:12:11 627

原创 Spring 扩展点

它有一个优势, 注意它有一个importingClassMetadata参数, 这个参数可以获取@Import注解所在类的其他注解信息, 比如@MapperScan根据包创建beandefinition。2.ImportBeanDefinitionRegistrar不是一个bean, 没有bean的生命周期, 没有依赖注入功能。ImportBeanDefinitionRegistrar不是一个bean, 没有bean的生命周期, 没有依赖注入功能。

2024-08-11 17:38:21 437

原创 java日志框架

Loggers:被称为记录器,应用程序通过获取Logger对象,调用其API来来发布日志信息。Logger通常时应用程序访问日志系统的入口程序。Appenders:也被称为Handlers,每个Logger都会关联一组Handlers,Logger会将日志交给关联Handlers处理,由Handlers负责将日志做记录。Handlers在此是一个抽象,其具体的实现决定了日志记录的位置可以是控制台、文件、网络上的其他日志服务或操作系统日志等。

2024-08-10 00:25:07 714

原创 分布式ID

emsp;(Universally Unique Identifier),通用唯一识别码。UUID是基于当前时间、计数器(counter)和硬件标识(通常为无线网卡的MAC地址)等数据计算生成的。UUID 是由一组32位数的16进制数字所构成,以连字号分隔的五组来显示,形式为 8-4-4-4-12,总共有 36个字符(即三十二个英数字母和四个连字号)。

2024-08-06 00:54:34 643

原创 K8S 命令

集群中的管理操作几乎都可以使用kubectl命令完成。

2024-08-03 10:50:16 323

原创 Kubernetes

K8S 是Kubernetes的全称,源于希腊语,意为“舵手”或“飞行员”,官方称其是:用于自动部署、扩展和管理“容器化(containerized)应用程序”的开源系统。kubectl官方使用文档:https://kubernetes.io/zh/docs/reference/kubectl/overview/同一命名空间内的资源名称要唯一,命名空间是用来隔离资源的,不隔离网络。K8S官网文档:https://kubernetes.io/zh/docs/home/一个pod运行多个容器。

2024-07-30 23:40:29 581

原创 k8s安装教程

由于本次使用3台主机完成kubernetes集群部署,其中1台为master节点,名称为k8s-master01;因容器镜像下载较慢,可能会导致报错,主要错误为没有准备好cni(集群网络插件),如有网络,请耐心等待即可。修改完成后需要重启操作系统,如不重启,可临时关闭,命令为swapoff -a。所有主机均需要操作。最小化安装系统需要安装ntpdate软件。所有主机均需要操作。所有集群主机均需要进行配置。可使用VPN实现下载。所有主机均需要操作。所有主机均需要操作。所有主机均需要操作。所有主机均需要操作。

2024-07-28 20:35:30 925

原创 CAT链路追踪

CAT是由大众点评开源的一款调用链监控系统,基于JAVA开发的。有很多互联网企业在使用,热度非常高。它有一个非常强大和丰富的可视化报表界面,这一点其实对于一款调用链监控系统而来非常的重要。在CAT提供的报表界面中有非常多的功能,几乎能看到你想要的任何维度的报表数据。特点:聚合报表丰富,中文支持好,国内案例多国内案例:携程、点评、陆金所等报表名称报表内容Transaction报表一段代码的运行时间、次数、比如URL/cache/sql执行次数相应时间Event报表。

2024-07-25 01:00:54 942

原创 高性能图数据库Neo4j从入门到实战

随着社交、电商、金融、零售、物联网等行业的快速发展,现实社会织起了了一张庞大而复杂的关系网,传统数据库很难处理关系运算。大数据行业需要处理的数据之间的关系随数据量呈几何级数增长,急需一种支持海量复杂数据关系运算的数据库,图数据库应运而生。

2024-07-20 23:27:07 413

原创 log4j配置文件

【代码】log4j配置文件。

2024-07-20 23:09:15 438

原创 websocket

从上面的即时通讯聊天例子我们可以看到,要想做一个点对点的im应用,websocket采取的方式是让所有客户端连接服务端,服务器将不同客户端发送给自己的消息进行转发或者广播。为了说明html5规范中的websocket在客户端采用了websocket原生的API,实际开发中,有比较著名的两个库socket.io和sockjs,它们都对原始的websocket API做了进一步封装,提供了更多功能,都分为客户端和服务端的实现,实际应用中,可以选择使用。

2024-07-20 22:45:20 810

原创 深入解析 Java Stream Lambda 编程

1、Lambda表达式概述1.1、Lambda表达式的简介Java(SE)8 于 2014 年 3 月发布,引入了多个改进特性,其中 Lambda 表达式(Lambda expression,也可称为闭包(Closure))是最受欢迎的新特性之一。Lambda 表达式允允许把函数作为一个方法的参数,允许在方法中传递代码块,从而实现更加灵活的编程方式。Lambda 表达式可以简化代码,减少样板代码的出现,并且使代码更加易读和易于维护。Lambda 表达式允许我们通过表达式来代替功能接口。Lambd

2024-07-07 21:28:32 201

原创 Netty学习

non-blocking io 非阻塞 IO。

2024-07-02 23:58:14 859

原创 Java教程之IO模式精讲,NIO+BIO

在java的软件设计开发中,通信架构是不可避免的,我们在进行不同系统或者不同进程之间的数据交互,或 者在高并发下的通信场景下都需要用到网络通信相关的技术,对于一些经验丰富的程序员来说,Java早期的网络通 信架构存在一些缺陷,其中最令人恼火的是基于性能低下的同步阻塞式的I/O通信(BIO),随着互联网开发下通 信性能的高要求,Java在2002年开始支持了非阴塞式的I/O通信技术(NIO)。

2024-06-29 23:29:31 548

原创 IDEA debug 调试Evaluate Expression应用

在IDEA debug调试模式下,进入断点。在想要操作的变量上右键,点击Evaluate Expression打开Evaluate Expression计算表达式窗口。输入操作变量的表达式, 这里的e是我这段程序中的一个变量, 具体的依据自己项目而定, 点击Evaluate确定,就可以看到具体的值了。不知道要对变量具体进行怎么样的操作,这个时候idea中的这个功能就起到很大作用了。

2024-06-18 23:25:31 367

原创 常用的linux指令收集

window 的c盘切换到e盘。

2024-06-12 21:02:30 42

原创 Netty

1.API使用简单,开发门槛低2.功能强大,预置了多种编码功能,支持多种主流协议;3.定制能力强,可以通过channelHandler对通信框架进行灵活地扩展;4.性能高,通过与其他业界主流的NIO框架对比,netty的综合性能最优;5.成熟、稳定,netty修复了已发现的所有jdk nio bug,业务开发人员不需要再为nio的bug而烦恼;

2024-06-09 15:40:12 286

原创 Linux内核epoll

同步和异步,阻塞和非阻塞。

2024-06-08 19:32:35 676

原创 BIO、NIO编程与直接内存、零拷贝

Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口,其实就是一个门面模式。

2024-06-07 22:10:36 1004

原创 深入理解网络通信和TCP/IP协议

TCPIP。

2024-06-06 00:00:11 510 1

原创 RabbitMQ

持久化Exchange要持久化Queue 要持久化Message 要持久化生产方 确认confirm消费方 确认ack消息丢失 死信队列(死信交换机)Broker高可用(集群)

2024-05-30 20:20:55 1727

原创 Python

运行python程序的两种方式。

2024-05-19 12:23:18 325

原创 分布式事务

用户定义的一系列数据库操作,这些操作可以视为一个完整的逻辑处理工作单元,要么全部执行,要么全部不执行,是不可分割的工作单元。ACID原则A 原子性通过锁保证C 一致性通过日志保证I 隔离性通过锁保证D 持久性通过日志保证BEGIN TRANSACTION业务逻辑BEGIN TRANSACTION表示事务的开启标记COMMIT 表示事务的提交操作,表示该事务的结束,此时将事务中处理的数据刷到磁盘中物理数据库磁盘中去。

2024-05-14 10:20:33 750

原创 亿级流量多级缓存

无状态:对单次请求的处理,不依赖其他请求。先解决核心的问题,预测未来可能出现的问题。第二次请求依赖第一次请求这就是有状态的。对现有问题有方案,对未来系统有预案。不要过度复杂化系统。

2024-04-28 20:41:31 118

原创 HTTPS原理

安全性:高加密传输明文传输加密方式分对称加密和非对称加密,https是把这两种都用上了称之为混合加密。

2024-04-23 16:50:25 525

原创 RocketMQ学习笔记

kafka适合于日志收集的场景(不需要太多topic;topic下面的partition多了会造成写文件的速度变慢,因为要造很多索引)RocketMQ更适合于电商场景(适用于topic特别多的情况)

2024-04-21 00:00:34 988

原创 JAVA 算法

又叫折半查找,要求待查找的序列有序。每次取中间位置的值与待查关键字比较,如果中间位置的值比待查关键字大,则在前半部分循环这个查找的过程,如果中间位置的值比待查关键字小,则在后半部分循环这个查找的过程。直到查找到了为止,否则序列中没有待查的关键字。

2024-03-30 01:11:27 774

原创 Spring源码分析

IOC源码分析

2024-03-24 17:11:01 111

原创 SpringCloud Alibaba实战和源码(8)OpenFeign使用

Feign是Netflix开源的声明式HTTP客户端feign默认是不打印任何日志的,但是我们希望打印一些日志信息。比如调用的时间。级别打印日志内容NONE(默认值)不记录任何日志BASIC仅记录请求方法、URL、响应状态代码以及执行时间HEADERS记录BASIC级别的基础上,记录请求和响应的headerFULL记录请求和响应的header、body和元数据方式一:让父子上下文ComponentScan重叠(强烈不建议使用)/*** 日志级别。

2024-03-22 21:40:10 673

原创 JVM笔记

Java 和 C++语言的区别,就在于垃圾收集技术和内存动态分配上,C++语言没有垃圾收集技术,需要程序员手动的收集。垃圾收集,不是Java语言的伴生产物。早在1960年,第一门开始使用内存动态分配和垃圾收集技术的Lisp语言诞生。哪些内存需要回收?什么时候回收?如何回收?垃圾收集机制是Java的招牌能力,极大地提高了开发效率。

2024-03-10 11:24:41 970

原创 Maven

Maven是什么Maven的本质是一个项目管理工具,将项目开发和管理过程抽象成一个对象模型(POM)POM(Project Object Model): 项目对象模型基础概念仓库 : 用于存储资源,包含各种jar包分类:本地仓库:自己电脑上存储资源的仓库,连接远程仓库获取资源远程仓库:非本机电脑上的仓库,为本地仓库提供资源中央仓库:Maven团队维护,存储所有资源的仓库私服:公司/部门范围内资源存储的仓库,从中央仓库获取资源私服的作用:保存具有版本的资源,包含购买或自主研发的jar中央仓

2024-03-10 00:51:51 836

原创 SpringBoot源码

为什么要讲SPI呢?因为在SpringBoot的自动装配中其实有使用到SPI机制,所以掌握了这部分对于SpringBoot的学习还是很有帮助的。SPI,全称为 Service Provider Interface,是一种服务发现机制。它通过在ClassPath路径下的META-INF/services文件夹查找文件,自动加载文件里所定义的类。这一机制为很多框架扩展提供了可能,比如在Dubbo、JDBC中都使用到了SPI机制。先通过一个很简单的例子来看下它是怎么用的。先定义接口项目。

2024-03-09 20:34:59 800

原创 分布式定时任务调度xxl-job

1、 掌握xxl-job部署以及开发的方式2、 掌握xxl-job特性以及架构设计3、 掌握xxl-job运行原理。

2024-03-05 23:46:47 2057

原创 Mybatis笔记

MyBatis 是一款优秀的持久层框架它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。MyBatis 本是apache的一个开源项目iBatis。

2024-02-18 21:23:46 893

原创 java实现多级目录树(递归实现)

有时候需要我们后台给前台传树结构的数据,要怎么查询?怎么返回数据呢?二.数据库表设计以及数据内容(以部门举例)

2024-02-14 13:05:21 1968 2

原创 IO工具类 FileUtils

【代码】IO工具类 FileUtils。

2024-01-09 23:25:44 402

原创 日志内容包

【代码】日志内容包。

2024-01-04 12:05:24 170

原创 抽丝剥茧设计模式

【代码】抽丝剥茧设计模式。

2024-01-03 11:34:50 623

空空如也

空空如也

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

TA关注的人

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