- 博客(33)
- 资源 (6)
- 收藏
- 关注
原创 【MySQL】MySQL之Innodb的MVCC工作原理
MVCC(Multi-Version Concurrency Control)即多版本并发控制。MVCC 是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问。MVCC使得大部分支持行锁的事务引擎,不再单纯的使用行锁来进行数据库的并发控制,取而代之的是把数据库的行锁与行的多个版本结合起来,只需要很小的开销,就可以实现非锁定读,从而大大提高数据库系统的并发性能。
2021-01-31 17:58:01 102
转载 【Redis】Redis配置
主要配置如下:#多网卡环境下,绑定指定网卡ip,只允许该网卡流量访问redis服务器bind 0.0.0.0#保护模式,默认yes开启,只允许bind设置的网卡流量访问服务器protected-mode yes#服务通讯端口port 7000#tcp连接ESTABLISHED状态的最大队列,不能大于Linux的somaxconn值。tcp-backlog 511#tcp连接空闲时间,达到空闲时间断开连接,0表示不断开。timeout 0#开启tcp长连接最大时间,单位秒,0表...
2021-01-25 20:17:33 219
转载 【Java基础知识】IO 初识
select具有O(n)的无差别轮询复杂度,同时处理的流越多,无差别轮询时间就越长,它是基于bitmap实现的,有连接数限制。poll 具有O(n)的复杂度,本质上和select没有区别,它将用户传入的数组拷贝到内核空间,然后查询每个fd对应的设备状态, 但是它没有最大连接数的限制,原因是它是基于链表来存储的。epoll 具有O(1)的复杂度,虽然连接数有上限,但是很大,1G内存的机器上可以打开10万左右的连接, epoll使用“事件”的就绪通知方式,所以不会随着FD数目的增加效率下降
2021-01-23 23:02:16 240
转载 【并发编程】ForkJoinPool 线程池
Java 7 引入了一种新的并发框架—— Fork/Join Framework。同时引入了一种新的线程池:ForkJoinPool(ForkJoinPool.coomonPool)@sun.misc.Contendedpublic class ForkJoinPool extends AbstractExecutorService {}本文的主要目的是介绍 ForkJoinPool 的适用场景,实现原理,以及示例代码。说在前面可以说是说明,也可以说下面是结论:ForkJoinP
2021-01-18 11:57:10 2147
原创 【Java基础知识】几种常见的位运算
你将收获可以理解进制的概念可以学会不同进制之间的转换方法可以学会按位与、按位或、按位取反知识可以理解数据的原码、反码、补码是什么
2021-01-17 22:54:17 261
转载 【架构设计】一致性HASH算法在分布式场景实践
普通的哈希算法使用取余操作:hash(o) %n,其中 n 代表机器的数量。如果在集群中新增加一个节点时,计算公式会变为:hash(o) %(n+1);在集群中删除一个机器时,计算公式变为:hash(o) % (n-1)。所以当集群中机器数量有所变化时,几乎所有的 Object 的哈希值都会改变。一致性哈希可以保证当从集群中删除一台机器时,仅仅保存在该机器上的 Object 的值会变化;当集群中增加一台机器时,也仅仅是非常小的一部分 Object 的哈希值会发生改变。
2021-01-17 22:09:58 130 2
转载 【消息队列】基于SSD的Kafka应用层缓存架构设计与实现(美团)
Kafka出色的I/O优化以及多处异步化设计,相比其他消息队列系统具有更高的吞吐,同时能够保证不错的延迟,十分适合应用在整个大数据生态中。
2021-01-17 15:57:36 309
转载 【kafka】kafka文件存储机制
Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务等等,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。
2021-01-17 15:28:20 217
转载 【Linux】Linux 内核锁和作用
互斥锁主要用于实现内核中的互斥访问功能。对它的访问必须遵循一些规则:同一时间只能有一个任务持有互斥锁,而且只有这个任务可以对互斥锁进行解锁。互斥锁不能进行递归锁定或解锁。
2021-01-17 10:46:02 273
原创 【消息队列】RocketMQ 配置文件broker
broker主要涉及broker 配置文件、broker 启动流程、broker延迟消息、broker消息存储。
2021-01-14 16:34:56 1355
原创 【深入理解JVM】JVM 运行时数据区域
对于Java程序员来说,在虚拟机的自动内存管理机制的帮助下,不再需要为每一个new操作去写配对的delete/free代码,而且不容易出现内存泄漏和内存溢出问题,看起来由虚拟机管理内存一切都很美好。
2021-01-12 23:11:34 172
转载 【最佳实践】从生产故障解锁RocketMQ集群部署的最佳实践
一、前言临近年末笔者维护的生产MQ集群中的一台物理机内存故障导致操作系统异常重启,在10分钟内众多的应用发送客户端出现消息发送超时,事故并定性为S1,笔者的“年终奖”...1.1 故障描述RocketMQ 集群采取的部署架构为2主2从,其部署架构如下图所示:其部署架构中一个非常明显的特点是一台物理机上分别部署了 nameserver,broker 两个进程。其中一台机器(192.168.3.100)的内存出现故障,导致机器重启,但Linux操作系统由于重启需要自检等因素,整个重启过程
2021-01-12 20:58:15 337 1
转载 【消息队列】搭建RocketMQ源码环境
提到消息队列(Message Queue),大家都会想到常见的那几种,比如:Kafka、RabbitMQ、RocketMQ、ActiveMQ、ZeroMQ、MetaMQ等,当然还有很多企业内部自研了适用于公司业务的MQ系统。作为分布式系统的重要组件,MQ常用于系统间的解耦,以及削峰填谷、异步处理等场景。我们学习MQ,不仅要学会如何去使用,更要深入学习MQ的设计思想,以及MQ的实现原理。上述常见的MQ组件中,笔者推荐大家对阿里巴巴的RocketMQ进行深入学习,它是Java语言实现,并且经历了“双十一...
2021-01-12 09:56:37 343
原创 【好用的工具】Mac 配置 Java 开发环境
一. 概述这篇文章主要为在MAC苹果系统下安装JDK1.8并配置系统环境变量。主要分为以下步骤:到Oracle官网下载JDK1.8安装包。 打开获取到的安装包按步骤安装到系统上。 配置系统的环境变量。 验证JDK1.8是否安装成功。二. 下载安装到Oracle官网下载JDK1.8安装包官网下载链接,找到以下图:选择接受证书协议,然后选择对应的Mac OS X一栏下载SDK,这里我说下,下载sdk必须要登录才可以下载,我没有Oracle账号,所以让安卓同事帮忙下载了,大.
2021-01-12 00:16:23 578
转载 【消息队列】RocketMQ 基础知识扫盲
一、前言消息队列顾名思义就是存放消息的队列,所以问题并不是消息队列是什么,而是:消息队列为什么会出现? 消息队列能用来干什么? 用它来干这些事会带来什么好处? 消息队列会带来副作用吗?下面分别解析:1.消息队列为什么会出现?消息队列算是作为后端程序员的一个必备技能吧,因为分布式应用必定涉及到各个系统之间的通信问题,这个时候消息队列也应运而生了。可以说分布式的产生是消息队列的基础,而分布式怕是一个很古老的概念了吧,所以消息队列也是一个很古老的中间件了。2. 消息队列能用来做什...
2021-01-11 22:43:46 1303
原创 【消息队列】RocketMQ 使用过程中遇到的问题
一、问题汇总(1)service not available now, maybe disk full, CL: 1.00 CQ: 1.00 INDEX: 1.00, maybe your broker machine memory too small 问题原因:该报错由于 /store/commitlog文件夹下的日志文件过大造成df -h 指令查看当前磁盘占用内存情况 rocketmq默认会把剩余磁盘的比率不足75% 当做磁盘空间不足处理解决办法:先删除掉/st...
2021-01-11 16:21:48 3119
原创 【消息队列】RocketMQ 集群可视化监控和管理
一、准备工程git clone https://github.com/apache/rocketmq-externals.gitcd rocketmq-externals/rocketmq-consolemvn package -DskipTestsjava -jar target/rocketmq-console-ng-1.0.1.jar ---server.port=8080 --rocketmq.config.namesrvAddr=127.0.0.1:9876访问:htt...
2021-01-11 11:31:32 853
转载 【大数据】ETL 数据迁移工具 Kettle 入门
一、kettle介绍 Kettle 是一款国外开源的 ETL 工具,纯 Java 编写,绿色无需安装,数据抽取高效稳定(数据迁移工具)。Kettle 中文网 :https://www.kettle.net.cn/Kettle Web 在线体验平台:https://trimdata.cn:2000/myservice/sjdx/list.do?dxdm=SYS_QX_QXXX_ZYGLCDKettle 中有两种脚本文件,transformation 和 job,transform...
2021-01-09 01:11:05 1534
转载 【Java基础知识】为什么不能自定义java.lang.String
如果直接写一个java.lang.String类,并写一个main方法,即package java.lang; public class String { public static void main(String[] args) { System.out.println("Hello String"); }}运行结果:错误: 在类 java.lang.String 中找不到 main 方法, 请将 main 方法定义为: public sta
2021-01-06 23:30:54 727 2
转载 【MySQL】字段为Null 会导致的问题
正式开始之前,我们先来看下 MySQL 服务器的配置和版本号信息,如下图所示:-- 查看SQL 配置信息SHOW VARIABLES;-- 使用Like 模糊查询 查看全量日志相关的配置SHOW VARIABLES LIKE "general_log%";“兵马未动粮草先行”,看完了相关的配置之后,我们先来创建一张测试表和一些测试数据。-- 如果存在 person 表先删除DROP TABLE IF EXISTS person; -- 创建 person 表,其中 us..
2021-01-06 21:18:39 1469
转载 【好用的工具】搭建个人博客网站(域名备案 + https免费证书)
前言为什么选择搭建个人博客?一方面是各个平台经常下架原创文章,另一方面是为了熟悉整个建站流程。通过搭建个人博客,我们可以自由的发表文章不用担心下载,而且可以锻炼个人的SEO优化能力,不管是运维还是运营这块对个人的技术提升有着很大的帮助。本篇文章记录了网站从零到一的过程,希望你也能根据本篇文章搭建出属于自己的网站。大家有疑问可以一起讨论。下面开始正题。环境介绍资源 说明 centos v7.2 docker ...
2021-01-04 23:23:48 940
转载 【大数据】大数据初识
花了一个月时间整理了一份我当初学习的大数据学习路线,从最基础的大数据集群搭建开始,希望能帮助到大家。不过在开始之前,我还是希望大家能想清楚,如果自己很迷茫,为了什么原因想往大数据方向发展,还有就是我就想问一下,你的专业是什么,对于计算机/软件,你的兴趣是什么?是计算机专业,对操作系统、硬件、网络、服务器感兴趣?是软件专业,对软件开发、编程、写代码感兴趣?还是数学、统计学专业,对数据和数字特别感兴趣?这其实也就关系到大数据的三个发展方向:平台搭建/优化/运维/监控 大数据开发/设计/架构
2021-01-04 22:39:36 4555 2
转载 【架构设计】CND实时日志分析
整体架构通过对 CDN 访问日志(标准直播 LVB、云点播 VOD、内容分发网络 CDN)的实时采集与推送,实现对日志数据的快速分析与检索。方案优势及效果一站式接入,方便快捷,控制台直接使用,帮助企业更聚焦业务,无需再开发日志系统,即可实现 CDN 访问日志的分析与检索 基于大数据分析处理平台分布式存储系统,能全量、实时获取 CDN 访问日志,可以快速查询每一条请求日志。 全量日志自动采集,字段丰富,支持多维度分析,深度数据挖掘。 接入日志服务(CLS),可以直接使用 CLS 的检索功
2021-01-04 22:35:30 332 1
转载 【架构设计】谈谈你对CDN 的理解
一、CDN 是什么?随着互联网的发展,用户在使用网络时对网站的浏览速度和效果愈加重视,但由于网民数量激增,网络访问路径过长,从而使用户的访问质量受到严重影响。特别是当用户与网站之间的链路被突发的大流量数据拥塞时,对于异地互联网用户急速增加的地区来说,访问质量不良更是一个急待解决的问题。如何才能让各地的用户都能够进行高质量的访问,并尽量减少由此而产生的费用和网站管理压力呢?内容发布网络(Content Delivery Network,CDN)诞生了。CDN是指一种通过互联网互相连接的电脑网络系统,利
2021-01-04 22:18:20 565
原创 【架构设计】爬虫技术选型
以下为题主推荐一些在国内平台和 Github 上都可以找到的 Java 爬虫项目,希望能够帮助到题主和对此感兴趣的朋友。1、项目名称:爬虫框架 webmagic项目简介:webmagic 是一个开源的 Java 垂直爬虫框架,目标是简化爬虫的开发流程,让开发者专注于逻辑功能的开发。webmagic 的核心非常简单,但是覆盖爬虫的整个流程,也是很好的学习爬虫开发的材料。码云项目地址:https://gitee.com/flashsword20/webmagic GitHub 地址:https.
2021-01-03 23:37:33 630
转载 【SpringBoot】Spring Boot Admin 与 Nacos 性能监控
Spring Boot Admin简介Spring Boot Admin是一个开源社区项目,用于管理和监控SpringBoot应用程序。 应用程序作为Spring Boot Admin Client向为Spring Boot Admin Server注册(通过HTTP)或使用SpringCloud注册中心(例如Eureka,Nacos)发现。 UI是的Vue.js应用程序,展示Spring Boot Admin Client的Actuator端点上的一些监控。Git地址:https://github
2021-01-03 15:58:35 4258 6
转载 【并发编程】LinkedHashMap
由于 LinkedHashMap 是 HashMap 的子类,所以其具有HashMap的所有特性,这一点在源码共用上体现的尤为突出。因此,读者在阅读本文之前,最好对 HashMap 有一个较为深入的了解和回顾,否则很可能会导致事倍功半。特别地,如果读者需要要深入了解 HashMap注明:以下源码分析都是基于jdk 1.8.0_221一、LinkedHashMap使用与实现HashMap是无序的,也就是说,迭代HashMap所得到的元素顺序并不是它们最初放置到HashMap的顺序。HashMap的
2021-01-02 15:07:18 988 1
原创 【SpringCloud】SpringBoot 与 OpenFeign
1. OpenFeign简介官方文档:https://cloud.spring.io/spring-cloud-openfeign/2.2.x/reference/html/ 实例代码:https://github.com/GitHubWxw/springcloud2020Feign是一种声明式、模板化的HTTP客户端。它的使用方法是定义一个服务接口然后在上面添加注解。Feign也支 持可拔插式的编码器和解码器。Spring Cloud对Feign进行了封装使其支持了Spring MVC标准注解和H
2021-01-01 17:21:27 997
rocketmq_broker.conf
2020-12-04
redis主存复制数据同步过程日志
2020-12-02
redis面试题及答案(上).pdf
2019-10-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人