深入剖析Java线程池
一张图概览线程池的处理逻辑
ThreadPoolExecutor的核心参数
先来看看全参构造器
public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime,
TimeUnit unit, BlockingQueue<Runnable> workQueue, ThreadFactory threadFactory,
RejectedExecutionHandler handler)
corePoolSize(核心线程大小)
当poolSize小于corePoolSi
分布式事务解决方案-Seata
写在前面的话
好久没有写博客了,不知道写点什么。正好要在公司分享技术,我就想到了好久之前看过的分布式事务的框架seata。趁着这个机会,查漏补缺,整理一篇博客出来,从理论到实战,让我对其设计思想,实际应用又更多一分认识。
什么是Seata?
Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。
Seata术语
TC (Transaction Coordinator) - 事务协调者: 维护全局和分支事务的状态,驱动全局事务提交或回滚。
TM (T
分布式协议与算法-Raft算法
前言
为了对分布式系统有更深的理解,也为了我的技术成长提供更多可能性,我花了部分时间对目前分布式系统设计中比较常用或者重要的算法进行了学习,最终整理出这篇文章。以前学习时,对于分布式,高可用,集群,leader选举等一系列核心问题都是一知半解,希望日后我也能时常勉励自己,有时间可以再回过头来看看这篇博客,做到见微知著,举一反三。
Paxos算法简介
我看了很多文章,对于Paxos算法还是一知半解,所以这里只是对Paxos算法做简单的总结。
Paxos算法包含两个重要部分
Basic-Paxos算法,描述的是多节点之间如何就某个提案达成共识
Muti-Paxos算法,描述的是执行多个Bas
Keepalived软件架构
理论介绍Keepalived的简介 Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能。因此,Keepalived除了能够管理LVS软件外,还可以作为其他服务(例如:Nginx、Haproxy、MySQL等)的高可用解决方案软件。
Keepalived软件主要是通过VRRP协议实现高可用功能的。VRRP是Virtual Router RedundancyProtocol(虚拟路由器冗余协议)的缩写,VRRP出现的目的就是为了解决静态路由单点故障问题的,它能够保证当个别节点宕机
2020-08-16
keepalived
keepalived
温故知新-redis过期策略及应用
前言
当人们在过五一长假时Redis 6.0悄然发布了,这个版本提供了许多新特性和一些功能上的改进,其中最引入关注的当属“多线程”了。但是,本文先不谈新特性,先对本人学过的redis相关知识及应用做一下回顾,以后抽空会再写一篇我对Redis 6.0的所知所学
Redis的过期策略是什么过期策略
解答是定期删除 + 惰性删除
定期删除指的是redis默认每隔100ms就随机抽取一些设置了过期时间的key,检查其是否过期,如果过期就删除
由于定期删除可能会导致key到过期时间了,没有被随机抽取删除掉,所以有了惰性删除,当使用获取key操作时,redis会检查key是否过期,如果过期了就删除掉不
Hasor DataWay 简化后台开发
前言
五一小长假终于来了,在放假之前我就做好打算,在家宅着与代码为伴,学一些自己感兴趣的东西。偶然看见一个介绍Hasor Dataway的文章,能够简化后端繁琐的开发,抛弃controller,service,mapper,dao等繁琐的工作,直接将数据更直接的展示出来。所以我也就只是介绍快速搭建一个开发环境,以及一些基本的使用,不求甚解,只是纯粹出于个人的兴趣,以后有时间说不定再研究一下。
Dataway文档地址:https://www.hasor.net/web/index.html
Hasor的仓库地址: https://gitee.com/zycgit/hasor.git
快速
利用github和hexo快速搭建个人博客
一、准备工作安装gitgit下载地址:http://gitforwindows.org
安装node.js node.js 下载地址:http://nodejs.org/en/
二、本地搭建
选择一个文件夹建一个目录blog存放博客相关文件,文件夹内右键打开git bash here,在窗口中执行以下所有命令
用npm安装hexo,由于国内网络高“墙”深院,避免安装缓慢或失败,这里切换阿里的NPM镜像,没办法只能采用迂回战术了。
$ npm install -g cnpm --registry=http://registry.npm.taobao.org
用 cnpm 安装 hexo