自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 shardingjdbc入门-自问自答

现实的问题是mysql单表存储是有上线的,因为mysql采用的是 B+ 树类型的索引,在数据量超过阈值的时候,索引的持续变大,会导致访问磁盘的IO次数增加 【**复杂 SQL 查询:**ShardingSphere 对于复杂 SQL 查询的支持有限,特别是涉及多表连接、子查询、公共表表达式(CTE)以及窗口函数等高级特性时。**数据库特定功能:**ShardingSphere 支持多种数据库,但可能无法覆盖所有数据库的特定功能。**子查询:**ShardingSphere 对子查询的支持有限。

2023-06-26 11:44:45 302

原创 wordpress安装教程

1:购买阿里云wordpress版本;开启阿里云端口号: 3306。

2023-05-23 19:12:23 149

原创 druid-配置调优

数据库连接池Druid配置调优 1 maxWait: 从连接池获取连接的超时等待时间,单位毫秒,需要注意这个参数只管理获取连接的超时。 获取连接等待的直接原因: 池子里没有可用连接,具体包括:连接池未初始化,连接长久未使用已被释放,连接使用中需要新建连接, 或连接池已耗尽需等待连接用完后归还。这里有一个很关键的点是 maxWait 未配置或者配置为 0 时, 表示不设等待超时时间(可能与一些人认为 -1 表示无限等待的预期不符合,虽然在 druid 中 maxWait...

2022-05-21 07:37:00 7186

原创 druid连接池之springboot starter

Java数据库连接池Druid的介绍Druid 连接池是阿里巴巴开源的数据库连接池项目,Druid 为监控而生,内置强大的监控功能,监控特性不影响性能,官网地址为:https://github.com/alibaba/druid/wiki/,本文主要介绍 Druid 的基本使用,文中使用到的软件版本:Java 1.8.0_191、Druid 1.2.8、Spring Boot 2.3.12.RELEASE。1、配置参数Druid 连接池的配置参数兼容 DBCP,个别配置的语意有所区别。..

2022-05-20 09:04:15 1247

原创 Druid之连接池

需要注意的是,我们下面提供的几种实现方式都是基于简单的原型,目的是带你了解连接池实现的一些基本原理。真实的数据库连接池技术需要考虑更多复杂的细节。所以下面这些代码都是不能在生产上直接使用的。实现的时候会用到java.sql.Connection,由于这个只是一个接口无法创建实例,为了演示方便,我继承这个接口写了一个简单的测试类,只是在commit方法里加了延时模拟提交。实现方式1:很容易马上想到的一种方案,我们用一个map存放连接对象,需要的时候从map里拿来用就可以了。

2022-05-19 07:31:24 5460

原创 druid之常见问题

问题一:如何连接检测在说到的ValidConnectionChecker类的作用时,用来检测连接池中连接是否可用的,具体检测的逻辑就在DestroyConnectionThread线程中,上面说到keepAliveConnections这个池子,如果最终keepAliveConnections中存在需要进行检测的连接的话,就开始通过ValidConnectionChecker类进行检测了。源码位于com.alibaba.druid.pool.DruidAbstractDataSource#valida

2022-05-18 07:39:49 2297 2

原创 Druid连接池源代码分析之五-starter

详细分析: 待完善。

2022-05-16 07:36:14 101

原创 Druid连接池源代码分析之五-编程知识点

1: AtomicLongFieldUpdater的用法AtomicLongFieldUpdater<DruidAbstractDataSource> executeQueryCountUpdater = AtomicLongFieldUpdater.newUpdater(DruidAbstractDataSource.class, "executeQueryCount");收获: 参考例子:笑谈java并发编程四之AtomicIntegerFieldUpdater介绍_一...

2022-05-14 15:10:31 103

原创 Druid连接池源代码分析之四-java.lang.sql 规范

总体思路:1:首先java.lang.sql包下面提供了完整操作数据库的高度抽象接口,假如想实现操作数据库的能力实现这些接口就可以了(其中也包含了连接池),具体接口的能力看下文。2:我们一直使用的 com.mysql.cj.jdbc 包也是实现了基本的mysql数据库操作的接口,但是仅此而已。能进行数据的增删改查。3:druid的实现相当于是 mysqljdbc+池化技术+其他的附加能力,实现方式也是通过实现java.lang.sql的接口来进行进一步能力加强。4:这也是druid原来里面实

2022-05-14 07:35:31 185

原创 Druid连接池源代码分析之三-回收连接

整体思路1:DruidConnectionHolder[] connections 来表示还未使用连接池的连接的数量。假如程序中想获取一个连接的时候,首先先判断池子里面还是否有连接,假如有会直接获取。假如没有会重新创建物理连接,然后重新放到connections池子里面。2:然后for(;;)这种方式抢占式获取连接,一旦拿到连接就会调用decrementPoolingCount() 进行坐标转移。3:回收过程是 connection.close();方法,最终调用result = putLas.

2022-05-12 23:38:11 920

原创 Druid连接池源代码分析之二-获取连接

整体思路:1:druid首先是连接池,DruidConnectionHolder[] 是通过对象数组来实现连接池的池子的,然后动态的维护下表,所以就要求并发性需要比较高,不然很容导致下表不准的现象。所以池子里面动态床架与维护分别通过信号量 empty和notempty来作为信使动态维护。基本上相当于自己实现了一个阻塞队列,我看jedis源码的时候,这部分直接用了阻塞队列。2:由于druid里面有大量的监控数据,所以代码里面有很多变量来统计数据,感觉这块代码比较乱哈,分离的不够好。3:再者就是由.

2022-05-12 07:37:49 2077

原创 Druid连接池源代码分析之一

Druid功能简介Druid是阿里开源的连接池,连接池的主要作用是为了复用,比如一般的数据库建立一个连接需要初始化很多对象,并且再加上tcp的三次握手,四次挥手的协议,所以整体的代价比较高,并且在一个并发量稍微高点的系统,sql执行的频率很高,所以每次执行就新建连接是一个很低效的做法,由此业界出来了很多数据库的连接池,其中druid就是其中的佼佼者。其中Druid支持的语法如下:配置 缺省值 说明 name 配置这个属性的意义在于,如果存在多个数

2022-05-10 23:04:18 279

原创 稳定性建设经验

1:开发流程规范2:项目管理流程3:代码分支管理4:功能评审+代码评审5:功能发布6:系统高可用7:监控体系健全

2021-12-15 22:58:53 219

原创 小公司微服务监控体系

1:springboot admin2: dubbo monitor3: 钉钉报警+短信+语音报警4:系统自动重启5:ELK 程序报警。6:网关流量过滤7:Redis监控8:mq监控9:数据库监控

2021-12-15 22:56:58 1741

原创 jedis 2.9.1版本集成应用卡死问题排查

1:redis集中搭建方式2:集群中如何增加节点,删除节点。3:节点原理&排查思路。

2021-11-21 23:51:49 1450

原创 Linx安全简单设置

添加用户useradd -s /bin/bash louie设置密码passwd louie指定目录usermod -d /data louiechmod 777 -R /data关闭用户下的进程pkill -kill -u username注销某一个用户userdel username改变端口号vi /etc/ssh/sshd_config把port 22改为port 8822service sshd restart无法登录原因排查cat /et

2021-09-24 16:13:06 75

原创 4层代理和7层代理的区别

https://www.jianshu.com/p/7385b2a4141f

2021-08-16 17:52:54 125

原创 磁盘空间无法释放问题

ResolutionGraceful shutdown of relevant processFirst, obtain a list of deleted files which are still held open by applications:Raw$ lsof | egrep "deleted|COMMAND"COMMAND PID TID TASKCMD USER FD TYPE DEVICE SIZE/OFF NODE N

2021-08-12 15:59:14 114

原创 ELK平台搭建

部署步骤部署elasticsearchlinux 新添加用户,然后启动 elasticsearch./elasticsearch -d部署 logstash安装multiline插件./logstash-plugin install logstash-filter-multiline# Sample Logstash configuration for creating a simple# Beats -> Logstash -> Elasticsearch...

2021-07-29 11:28:24 99

原创 Bitmap 与 BloomFilter 基本思路

BitMap 介绍https://zhuanlan.zhihu.com/p/94818952https://www.cnblogs.com/webary/p/4733247.htmlBloomFilter 介绍https://www.jianshu.com/p/88c6ac4b38c8理解:

2021-07-29 11:24:17 72

原创 批量查询java的线程数量

#!/bin/bash ID=`ps -ef | grep java | awk '{print $2}'`for id in $ID; do T=`pstree -p $id | wc -l` echo "$id --->thread number is: $T"done

2021-07-01 14:01:42 96

原创 linux 服务器安全设置规范

1.限制root权限用户远程登录&以及登录端口描述限制root权限远程登录。先以普通权限用户远程登录后,再切换到超级管理员权限账号后执行相应操作,可以提升系统安全性。1. 修改文件/etc/ssh/sshd_config配置PermitRootLogin noport=42 同时把防火墙的端口打开哦。2. 重启sshd服务查看状态:systemctl status sshd.service 启动服务: systemctl start sshd.service 重启服务: .

2021-06-11 09:48:49 302 1

原创 List<List<String>> 排序算法

private static List<List<String>> METHOD_LIST_WITH_ORDER = new LinkedList<List<String>>();

2021-06-09 17:22:52 529

原创 jstack分析实战

线程的几种状态线程池的状态如何改变

2021-05-11 22:39:08 1629 1

原创 Linux Ftp文件仓库搭建

知识点 在linux中使用的FTP是vsftp,FTP可以有三种登入方式分别是:匿名登录方式:不需要用户密码本地用户登入:使用本地用户和密码登入虚拟用户方式:也是使用用户和密码登入,但是该用户不是linux中创建的用户详细安装步骤yum -y install vsftpdvsftpd.conf: 主配置文件ftpusers: 指定哪些用户不能访问FTP服务器,这里的用户包括root在内的一些重要用户。user_list: 指定的用户是否可以访问ftp服务器,通过v.

2021-04-08 14:47:48 407

原创 Jmeter压测Netty or TCP 详细步骤

下载软件https://jmeter.apache.org/download_jmeter.cgi创建Tcp测试用例添加Thread group添加Tcp请求样本设置tcp相关参数send java: ${javaNumber} send beanshell: ${RANDOM_STRING} send function ${__Random(1,100000000000, LOTTERY )} ?Java Netty收到的结果send java: 9 se

2021-04-07 15:05:16 2485 2

原创 Rocketmq原理简介

架构图模块职责划分rocketmq-common:通用的枚举、基类方法、或者数据结构,包名有admin、consumer、filter、hook、message rocketmq-remoting:使用netty的客户端、服务端,使用fastjson序列化,自定义二进制协议 rocketmq-srvutil:只有一个ServerUtil类,只提供Server程序依赖,尽可能减少客户端依赖 rocketmq-store:消息存储,索引,consumerLog,commitLog等 rock

2021-04-05 19:14:21 2402 5

原创 Spring gateway 源代码总结之ShortcutConfigurable详解 09

GatewayFilterFactory

2021-04-02 22:43:58 1265 1

原创 Spring gateway 源码解析之负载均衡和熔断08

前提项目:Spring boot1.增加pom依赖<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> </dependency> <dependency> .

2021-04-01 15:29:23 120 1

原创 Spring gateway 源码解析之负载均衡和熔断07

Spring Cloud Gateway Ribbon负载均衡1 如何使用添加依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency>提示: spring-cloud-starte

2021-03-31 22:35:18 868

原创 Spring gateway 源码解析之Filter类06

Spring gateway 是网关系统,这篇文章是研究如何 global filter 和 gateway filter 是如何修改或者改变原来的请求的。

2021-03-30 23:45:31 238

原创 缓存之Redis总结

缓存的本质1:操作系统的磁盘性能很差,才会有更加昂贵的,同时速度更加快的缓存模块,就是用钱换时间。2:合理的使用缓存可以极大的提高系统性能缓存中的数据1:静态数据2:变化很低的数据3:一些计算的中间数据。总之都是一些 读>写 的数据,可以通过 命中率 和 读写比 指标来衡量,可以通过日志记录,来收集指标数据。缓存数据的加载时刻1:全量启动加载2:懒加载3:异步加载,就是客户端的线程只从缓存哪里取数据,取不到就取不到了,然后后端有个异步线程进行从数据库更新到缓

2021-03-30 11:07:54 56

原创 Spring gateway 源码解析之Route Predicate组件的类图 06

gateway需要实现的功能点:1:支持同步或者异步的方式执行,并且同步和异步类型可以转换。2:需要支持不同方式来定义Route (yaml 或者 代码)。3:需要支持Route列表缓存。4:一个Route可以配置多个的断言(a&b&c|d),所以需要支持多个断言的组合逻辑判断。5: 匹配到路由后执行gateway filter 和 gloable filter。6:断言需要支持缩写。1:Route两种定义方式routes: # ==..

2021-03-29 21:10:27 358 1

原创 Spring gateway 源码解析之Route Predicate组件 05

Route Predicate 组件的介绍This is aJava 8 Function Predicate. The input type is aSpring FrameworkServerWebExchange. This lets you match on anything from the HTTP request, such as headers or parameters.Gateway用Route Predicate做什么...

2021-03-29 06:47:54 348 2

原创 Spring webFlux 概念学习

1.Spring flux简介Spring WebFlux是Spring Framework 5.0中引入的新的反应式Web框架。 与Spring MVC不同,它不需要Servlet API,完全异步和非阻塞, 并通过Reactor项目实现Reactive Streams规范。 并且可以在诸如Netty,Undertow和Servlet 3.1+容器的服务器上运行Spring WebFlux internally usesProject Reactorand its publisher i...

2021-03-27 00:04:20 320

原创 Spring cloud gatway 源码解析之初始化类 04

@Configuration(proxyBeanMethods = false) 的解释Something like this:@Configuration(proxyBeanMethods=true)public class SomeConfiguration { @Bean ServiceA serviceA(){ return new ServiceA(sharedService()); } @Bean ServiceB service

2021-03-26 00:05:48 93

原创 Spring cloud gatway 源码解析之注解类 03

注解类的功能 Spring cloud gateway框架中一共有三个注解类 分别是ConditionalOnEnabledFilter,ConditionalOnEnabledGlobalFilter,ConditionalOnEnabledPredicate 根据名字可以知道,他们主要的功能是当开启 filter, gloable filter,Predicate 的才会动态组装Bean. 其中每一个注解类都对应一个condition的子类,OnEnabledFilter ,OnEnab...

2021-03-24 23:50:43 1091

原创 Spring cloud gatway 源码解析之关键类 02

123123123

2021-03-23 07:57:28 159

原创 Spring cloud gatway 源码解析之总览 01

Gateway概念介绍 网关的主要功能职责主要有 请求集中接入,多业务聚合,中介策略。gateway的中文翻译是 出入口的意思,其实该模块的职责其实超出了名字的含义,因为也包含了采用各种策略保户后端资源的可用性,所以我更想叫它 survival gateway。网关分类如下:Spring Cloud Gateway架构梳理思考1:gateway是如何被初始化的?2:gateway如何嵌入请求链路中的?3:gatway 如何设计各个组件的关系的,然后变得更加容易扩...

2021-03-22 22:38:45 269

空空如也

空空如也

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

TA关注的人

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