- 博客(53)
- 资源 (3)
- 收藏
- 关注

翻译 高并发高可用的 架构实践
一、 设计理念1.空间换时间1)多级缓存,静态化客户端页面缓存(http header中包含Expires/Cache of Control,last modified(304,server不返回body,客户端可以继续用cache,减少流量),ETag)反向代理缓存应用端的缓存(memcache)内存数据库Buffer、cache机制(数据库,中间件等)2)索引哈希、B树、倒排、bitmap哈希索
2017-04-10 20:37:37
5006
原创 centos系统下RabbitMQ安装教程
RabbitMQ是一个开源的遵循AMQP协议实现的基于Erlang语言编写,即需要先安装部署Erlang环境再安装RabbitMQ环境
2022-11-27 23:39:55
1827
原创 单体架构与微服务架构区别
SpringCloud,是一个解决微服务架构实施的综合性解决框架,整合了诸多被广泛实践和证明过的框架,包括了服务治理的方方面面,如服务追踪、断路器、回退机制、消息总线、服务调用等组件,使用门槛较低。),在spring的支持下,功能更强大,内部实现了限流、负载均衡等,扩展性也更强,但同时也限制了仅适合于SpringCloud套件。1.Dubbo负载均衡支持4种(随机,轮询,最少活跃,hash),引入了JVM预热时间加权、权重自定义配置的规则,同时支持控制台动态配置权重值参数,所以是最灵活的。...
2022-08-01 11:01:31
1636
原创 MySQL聚集索引和非聚集索引
MySQL的Innodb存储引擎的索引分为聚集索引和非聚集索引两大类,理解聚集索引和非聚集索引可通过对比汉语字典的索引。汉语字典提供了两类检索汉字的方式,第一类是拼音检索(前提是知道该汉字读音),比如拼音为cheng的汉字排在拼音chang的汉字后面,根据拼音找到对应汉字的页码(因为按拼音排序,二分查找很快就能定位),这就是我们通常所说的字典序;第二类是部首笔画检索,根据笔画找到对应汉字,查到汉字对应的页码。拼音检索就是聚集索引,因为存储的记录(数据库中是行数据、字典中是汉字的详情记录)是按照该索引排序的。
2022-07-25 15:19:47
3545
原创 Linux系统安装php环境
有个php的小伙伴跟我说在centos中安装php环境有问题,请我帮忙处理下,并记录下过程,之所以有问题,网上的有些安装教程,有些地方没有说清楚或者缺少了部分步骤wget http://cn2.php.net/distributions/php-5.6.23.tar.gztar xvf php-5.6.23.tar.gzcd php-5.6.23yum install freetype-devel libjpeg-devel libpng-devel curl-devel libxml2 libxm
2022-05-12 14:42:02
1026
原创 mysql8.0数据库权限设置
1、 进入数据mysql -u root -p ‘原来的密码’ //进入数据库中2、 切换数据库use mysql;3、使用以下命令开启root用户远程访问权限:CREATE USER ‘root’@’%’ IDENTIFIED BY ‘你的密码’;GRANT ALL ON . TO ‘root’@’%’;ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘你的密码’;4、 刷新权限FLUSH PRIVI
2021-07-09 15:04:35
765
原创 记一次服务器被黑经历,莫名多出来一个Oracle用户,使用kswapd0、tsm进程导致内存以及cpu占用过高
起因今天收到ISP供应商反馈,公司公网地址被国外某机构加入网络黑名单,一直试图登录对方服务器。通过登录网关设备发现内网一台centos服务器一直在发送ssh登录请求。过程:1.初步排查登录该机器发现有两个进程内存占用有点高如下图:查看除系统外正在运行的进程,发现有几个陌生的进程ps -aux | grep -v ']'通过度娘搜索 其中关键词 发现 可能是中招了 (感谢优快云两位大大,参考链接见文末)2.根据PID进一步定位文件位置lsof -p .
2021-05-26 11:28:49
413
原创 关于thinkphp index.php 502 bad gateway或者nginx配置伪静态不生效 404问题总结
先上一段fast_cgi的配置代码location ~* \.php$ { fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pa
2020-09-10 15:01:16
2948
原创 一文读懂 MySQL 主从复制读写分离
前言在很多项目,特别是互联网项目,在使用MySQL时都会采用主从复制、读写分离的架构。为什么要采用主从复制读写分离的架构?如何实现?有什么缺点?让我们带着这些问题开始这段学习之旅吧!为什么使用主从复制、读写分离主从复制、读写分离一般是一起使用的。目的很简单,就是为了提高数据库的并发性能。你想,假设是单机,读写都在一台MySQL上面完成,性能肯定不高。如果有三台MySQL,一台mater只负责写操作,两台salve只负责读操作,性能不就能大大提高了吗?所以主从复制、读写分离就是为...
2020-09-07 10:23:45
182
原创 基于Canal与Flink实现数据实时增量同步
canal是阿里巴巴旗下的一款开源项目,纯Java开发。基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了MySQL(也支持mariaDB)。一、配置MySQL的binlog(1)常见的binlog命令# 是否启用binlog日志show variables like 'log_bin';# 查看binlog类型show global variables like 'binlog_format';# 查看详细的日志配置信息show global variables
2020-09-07 10:08:07
439
原创 数据大小端的介绍
a. 大小端表示数据在计算机中的存放顺序。 b. 大端模式符合人类的正常思维,高字节保存在内存的低地址。 c. 小端模式方便计算机处理,高字节保存在内存的高地址。 按位运算,左移、右移运算当拿到了一个大小端转换完毕的数据,又会面临下一个问题,这个数据中不同的位可能代表了不同的意义(根据与硬件工程师的协议来定义),如何继续拿到对应位的数字呢?这时候,按位运算、左移右移就派上用场了。1、按位与 &同为1为1,否则为0例如:3 & 50000 001..
2020-08-31 17:14:30
1442
原创 MySQL数据库高并发优化配置
下面我们了解一下MySQL优化的一些基础,MySQL的优化我分为两个部分,一是服务器物理硬件的优化,二是MySQL自身(my.cnf)的优化。一、服务器硬件对MySQL性能的影响① 磁盘寻道能力(磁盘I/O),以目前高转速SCSI硬盘(7200转/秒)为例,这种硬盘理论上每秒寻道7200次,这是物理特性决定的,没有办法改变。 MySQL每秒钟都在进行大量、复杂的查询操作,对磁盘的读写量可想而知。所以,通常认为磁盘I/O是制约MySQL性能的最大因素之一,对于日均访问量 在100万PV以上..
2020-08-26 20:53:34
1229
原创 JVM垃圾收集器-对比Serial、Parallel、CMS和G1
当前共有4类Java垃圾收集器,错误的选择会对性能影响很大现在很多开发者仍然搞不清垃圾收集器。这一块在Java 8版本的改动也比较大,特别是去掉了PermGen永久代和带来一些新的让人激动的优化。提到垃圾收集,大多数人在每天的编程工作中都会用到并知道这个概念。其中最大的一个误解是一位JVM只有一个垃圾收集器,事实上它有4个,每个都有自己的优点和缺点。JVM并不会自动帮你选择,决定权在你手里,不同的选择会导致应用的吞吐量(throughtput)和停顿(pause)有巨大的不同。但这4个垃圾收集
2020-07-15 17:15:00
1610
1
原创 centos 7 源码编译安装php5.6.37
1、获取并解压 PHP 源代码wget http://cn2.php.net/distributions/php-5.6.37.tar.gztar zxf php-5.6.37.tar.gzcd php-5.6.372、为了防止编译出错安装依赖包yum -y install gcc gcc-c++ autoconf libjpeg-turbo-static libjpeg-turbo-devel libpng libpng-devel freetype freetype-devel li
2020-05-16 15:50:31
1284
原创 mysql的binlog占满空间的解决办法
binlog日志占满磁盘分析过程及解决方案:通常出现这种问题都应该登录服务器检查磁盘、内存和进程使用的情况,通过top、df –h和free –m来检查,发现磁盘空间满了。再进一步通过du –sh对可以的目录进行检查,发现是mysql的binlog占用空间过大。清理binlog的方法如下:1)设置日志保留时长expire_logs_days自动***查看当前日志保存天数:show...
2020-01-17 11:03:13
2390
原创 gitlab 中文版在docker中进行安装的流程
安装过程:1. 安装docker引擎并启动[root@server-10 ~]# yum install docker-ce -y //需要去官方下载docker.repo文件[root@server-10 ~]# systemctl enable docker[root@server-10 ~]# systemctl start docker2. 获取gitlab...
2019-11-21 13:27:16
270
原创 docker 安装流程
1.官网中文安装参考手册https://docs.docker-cn.com/engine/installation/linux/docker-ce/centos/#prerequisites2、yum安装gcc相关1)CentOS7能上外网2)安装gcc[root@localhost ~]# yum -y install gcc 13)安装gcc-c++[...
2019-11-21 13:09:01
186
原创 redis4.0的安装步骤
第一步:下载redis安装包wget http://download.redis.io/releases/redis-4.0.11.tar.gz 1 2 3 4 5 6 7 8 9 10 11 [root@localhost local]# wget http://download....
2019-11-19 17:20:34
748
原创 Git 命令行
命令行指令Git 全局设置git config --global user.name "xxxx"git config --global user.email "qqqq@163.com"创建新版本库git clone cd jiiixxtouch README.mdgit add README.mdgit commit -m "add README"git pu...
2019-11-17 20:15:34
148
原创 centos7 安装mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz的记录
下载mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz安装包进行解压,并对系统进行mysql安装检测,是否已经安装过其他版本,如果有进行移除[root@ccsc-12 local]# lsbin etc games include jdk lib lib64 libexec mysql-5.7.16-linux-glibc2.5-x...
2019-10-18 16:42:58
951
原创 mysql5.7.18版本Linux·环境下数据库源码安装及配置
mysql数据库安装及配置 安装前的准备 yum install \vim \git \gcc \gcc-c++ \wget \make \cmake \automake \autoconf \libaio \libtool \net-tools \bison-devel \libaio-devel \ncurses-devel \perl-Data-D...
2019-10-18 10:45:48
125
原创 centos7下 elasticsearch6.4.0安装,ik分词器的安装
1、首先安装jdk1.8以上的环境,这里不再赘述,自行百度2、安装 elasticsearch6.4.0,es的启动环境不能是root超级管理员账户,所以我们需要创建一个普通用户centos7创建普通用户流程:[root@mysql ~]# adduser cloudes[root@mysql ~]# passwd cloudes输入两次密码验证即可用户密码创...
2019-10-18 10:35:59
662
原创 mycat安装手记,不喜勿喷,不是很详细,简单记录下
1 配置MYSQL主备同步1.1 测试环境mysql版本:5.6.24;操作系统内核版本:Linux-3.13-0-32主数据库IP:192.168.10.3;主数据库名:db351353;备用数据库IP:192.168.10.4;备用数据库名:db351353。1.2 配置主数据库1.2.1 编辑my.cnf文件#服务器唯一ID,...
2019-04-29 11:48:13
266
原创 安装rabbit手记
下载erlang 发布稳定版本,依赖 》=19.3wget http://erlang.org/download/otp_src_19.3.tar.gz解压下载的包tar zxf otp_src_19.3.tar.gz配置安装路径编译代码:进入解压目录设置 安装目录 和 编译免javac会报依赖缺少> yum list|grep unixODBC 安装查看>...
2019-04-29 11:37:08
210
原创 安装kafka时过程笔记,不是很详细
1、创建test用户adduser test2、?给test用户设置密码passwd test(输入两次密码)3、给/etc/sudoers文件添加写权限chmod -v u+w /etc/sudoers4、给test用户授root权限,编辑/etc/sudoers vi /etc/sudoers## Allow root to run any comm...
2019-04-29 11:33:55
232
原创 Linux环境下对文件夹进行压缩和解压操作
tar -zcvf/home/xahot.tar.gz /xahottar -zcvf 打包后生成的文件名全路径 要打包的目录例子:把/xahot文件夹打包后生成一个/home/xahot.tar.gz的文件。zip 压缩方法:压缩当前的文件夹 zip -r ./xahot.zip ./* -r表示递归zip [参数] [打包后的文件名] [打包的目录路径]解压 u...
2019-04-29 11:28:59
1236
原创 windows 中 hadoop2.7.5 在eclipse上的插件编译
1、下载插件源码https://github.com/winghc/hadoop2x-eclipse-plugin2、下载ant1.10.1http://mirrors.tuna.tsinghua.edu.cn/apache//ant/binaries/apache-ant-1.10.1-bin.tar.gz3、配置ant环境变量ANT_HOME
2018-02-05 18:10:37
1130
原创 在CentOS 7中安装Redis 3.2.8
安装gccyum -y install gcc下载rediscurl -O http://download.redis.io/releases/redis-3.2.8.tar.gz解压tar -zxvf redis-3.2.8.tar.gz转换目录cd redis-3.2.8/deps/编译依赖make geohash-int hiredis jemalloc linenoise lua转换目录c
2017-06-16 09:25:10
336
原创 centos7 二进制安装mysql 5.7.16版本
1下载解压mysql安装包 [root@localhost mysql]# tar xvf mysql-5.7.16-linux-glibc2.5-i686.tar.gz 对解压的文件重命名 [root@localhost mysql]#mv mysql-5.7.16-linux-glibc2.5-i686 mysql-5.7.16 2我这里在usr目录下创建mysql文件夹
2017-06-15 16:03:15
1225
原创 NIO与IO进行文件读取耗时对比,最近由于项目上用到IO操作,传统IO性能不佳
代码如下: 1 package my; 2 3 import java.io.BufferedInputStream; 4 import java.io.BufferedOutputStream; 5 import java.io.BufferedReader; 6 import java.io.BufferedWriter; 7 import java.io.File;
2017-06-03 13:34:45
2400
转载 MyBatis+Spring在注解@Autowried后通过反射的方式调用方法获取注入的Service或DAO对象为空
最近在做一个定时读取数据的功能,我的想法是能够动态的添加定时任务而不用重启系统,在网上也借阅了很多文章,但是都不够完整,因此通过网上的借鉴我自己整理了一份代码,系统采用的是Spring Boot+MyBatis。 通过Spring实现定时任务有2种方式:一、通过注解@Scheduled,如@Scheduled(fixedRate = 1000 * 30)表示30秒执行一次,具体用法可以
2017-04-25 14:10:35
4626
转载 通过Spring @PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作
通过Spring @PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作 <div class="article_manage clearfix"> <div class="article_r"> <span class="link_postdate">2013-03-
2017-04-25 14:00:48
351
转载 quartz scheduler 2.16 之集群
quartz scheduler 2.16 之集群 现在最新版本的quartz是2.16,这里简单介绍下这个版本下的集群。尝试过与spring的整合,但好像spring对这个版本还没办法整合,总有错。先下载http://quartz-scheduler.org/downloads/catalog 然后运行quartz-2.1.6\docs\dbTables\tables_mysql_inn
2017-04-25 13:36:07
689
原创 LinkedHashMap和HashMap的比较使用
LinkedHashMap和HashMap的比较使用 import java.util.HashMap;import java.util.Iterator;import java.util.LinkedHashMap;import java.util.Map;public class TestLinkedHashMap { public static void main(Str
2017-04-18 13:45:55
188
原创 LinkedHashMap和HashMap的比较使用
LinkedHashMap和HashMap的比较使用 由于现在项目中用到了LinkedHashMap,并不是太熟悉就到网上搜了一下。?import java.util.HashMap;import java.util.Iterator;import java.util.LinkedHashMap;import java.util.Map;public class TestLinke
2017-04-18 13:23:15
204
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人