自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

supermancoke的博客

安徽合肥架构师

  • 博客(73)
  • 收藏
  • 关注

原创 Spring Boot(3)EnableAutoConfiguration和EnableFeignClients实现

通过ImportSelector和@Import实现以下以EnableAutoConfiguration为例说明各类Enable实现过程ImportSelector说明org.springframework.context.annotation.ImportSelector用于定义哪些被@Configuration 注解的类应该被导入。public interface ImportSele...

2020-04-27 14:04:22 556

原创 Spring Boot(2) 注解解析

@AliasFor@AliasFor注解用于声明注解属性的别名显性注解内别名表示注解中的两个属性相互互为别名public @interface ContextConfiguration { @AliasFor("locations") String[] value() default {}; @AliasFor("value") ...

2020-04-27 14:03:00 299

原创 Spring Boot(1) 启动分析

参考文档:https://docs.spring.io/spring-boot/docs/2.2.6.RELEASE/reference/html/appendix-executable-jar-format.html#executable-jar《Spring Boot编程思想(核心篇)》Spring Boot可执行Jar结构普通项目可执行Jar结构如下:example.jar...

2020-04-27 14:00:56 213

翻译 Kafka设计(9)配额

参考文档: http://kafka.apache.org/documentation/#design配额kafka集群能够限制请求的配置以控制客户端使用的broker资源。Kafka broker为共享配额的每个客户端组提供两类客户端配置:网络带宽配额定义了字节速率阈值(从0.9开始)请求速率配额定义CPU使用率阈值(网络和IO线程的使用率百分比)(从0.11开始)为什么需要配...

2020-04-02 16:59:02 243

翻译 Kafka设计(8)日志压缩

参考文档: http://kafka.apache.org/documentation/#design日志压缩日志压缩确保Kafka总是保留一个主题分区的日志数据中每个消息key的至少最后一个已知值。它解决了一些用例和场景,例如:应用崩溃或系统错误后还原状态,在维护操作时重启应用后重新加载缓存。让我们更详细深入这些用例并描述压缩如何工作。到目前为止,我们只描述了数据持久的简单方法(老数据...

2020-04-02 16:58:48 362

翻译 Kafka设计(7)复制

参考文档: http://kafka.apache.org/documentation/#design复制Kafka跨越指定配置数量服务器(可以设置这个复制因子在)复制每个主题分期的日志。这提供了自动故障转移功能,当集群中一个服务器宕机时消息依旧可用。其他消息系统提供了复制相关的功能,但在我们看来(完全有偏见),此功能像是附加功能,没有被大量使用,并有很大的缺点:副本处于非活动状态,吞吐...

2020-04-02 16:58:30 273

翻译 Kafka设计(6)消息传递语义

参考文档: http://kafka.apache.org/documentation/#design消息传递语义现在我们了解了一点消费者和生产者如何工作,让我们来讨论下消费者和生产者间的语义保证(semantic guarantees)。很明显有多种可能的消息传递担保形式:最多一次:消息可能会丢失但不会被多次传递至少一次:消息不会丢失但可能会重新传递精确一次:这是人们真正想要的,...

2020-04-02 16:58:13 367

翻译 Kafka设计(5)消费者

参考文档: http://kafka.apache.org/documentation/#design消费者Kafka消费者通过向期望消费的分区leader发送“fetch”请求来进行工作。消费者在每个请求中指定日志偏移量并接收到日志偏移量后的数据块。消费者由此可以显式控制日志位置并在需要时倒回去重复消费数据。推送vs.拉取我们考虑的最初问题是消费者应该从kafka拉取数据还是kafk...

2020-04-02 16:57:57 325

翻译 Kafka设计(4)生产者

参考文档: http://kafka.apache.org/documentation/#design生产者负载均衡生产者无需任何路由层接入直接发送数据到日志分区leader节点上。所有的Kafka节点都可以应答服务器存活状态和查询topic中各个分区的leader,以便在任何时间生产者都可以正确的直接发送请求。生产者指定消息发送到哪个分区。可以随机分配分区,采用各种随机负载均衡实现。...

2020-04-02 16:53:47 91

翻译 Kafka设计(3)效率

参考文档: http://kafka.apache.org/documentation/#design效率开发者取得了重大的成就以提升效率。我们的一个主要用例是处理大量的Web活动数据:每一次页面访问可能产生多个写入。我们假设每个已发布的消息被至少一个消费者(通常会更多),因此我们努力让消费尽可能低成本。基于研发经验和运行大量类似系统,我们同样发现,性能是高效多租户处理的关键。如果下游基...

2020-03-05 15:37:23 146

翻译 Kafka设计(2)持久化

参考文档: http://kafka.apache.org/documentation/#design持久化不要害怕文件系统Kafka重度基于文件系统实现消息存储和缓存。基于“磁盘很慢”的观点,人们会担心持久化结构会引起性能竞争。实际上基于如何使用磁盘,磁盘会比人们认为的更快或更慢,正确设计的磁盘结构通常比网络更快。关键因素是磁盘吞吐量早在10年前就和磁盘寻址延迟无关了。6块7200转...

2020-03-05 15:36:56 244

翻译 Kafka设计(1)设计动机

参考文档: http://kafka.apache.org/documentation/#design设计动机Kafka被设计为统一处理所有实时数据流(大公司级别)的平台。为了达到这一目标,设想了以下使用场景:高吞吐量:需要支持高吞吐量已满足大量事件流(例如:实时日志收集)大数据量:需要优雅处理大量待处理数据以满足离线系统的周期性数据负载低延迟:为了处理更多交易类消息需要低延迟传递...

2020-03-05 15:36:36 264

翻译 Kafka简介

参考文档:http://kafka.apache.org/intro简介官方说Kafka是一个分布式的流平台(distributed streaming platform,并没有说自己时一个消息中间件),主要由以下关键能力发布和订阅记录流,类似于消息队列或企业消息系统容错且持久的存储记录流记录流出现时快速处理Kafka适用于两类应用构建实时流数据管道,已在系统应用间可靠的获...

2020-03-05 15:34:03 119

原创 生成HTTPS证书及使用

生成证书和秘钥使用JDK7的keytool工具生成转到JDK的安装目录下的bin,如/usr/java/jdk1.7.0_79/bin生成非对称密钥keytool -genkeypair -v -alias aaa -keyalg RSA -keystore /home/app/key/pay.jks -validity 3650 -dname "CN=pay.icar56.com,OU=...

2020-03-05 15:11:39 1617

原创 Postgres10高性能开发(6)锁及其检查

锁类型参考文档:https://www.postgresql.org/docs/10/explicit-locking.html表级锁锁名称引发操作ACCESS SHARE 访问共享锁SELECT任何读取不修改表的查询都将获取本锁ROW SHARE 行共享锁SELECT FOR UPDATESELECT FOR SHAREROW EXCLUSIVE 行...

2020-03-02 16:15:49 232

原创 Postgres10高性能开发(5)高级SQL

WITH CTE公用表达式查询https://www.postgresql.org/docs/10/queries-with.htmlhttps://www.postgresql.org/docs/10/sql-select.htmlWITH提供了一种编写辅助语句以便在更大的查询中使用的方法。这些语句(通常称为公用表表达式或CTE)可以被视为定义仅针对一个查询存在的临时表。一个在每个...

2020-03-02 16:11:40 225

原创 Postgres10高性能开发(4)控制解释计划

控制解释计划参数控制参数默认值说明enable_bitmapscanon启用或禁用位图索引扫描enable_gathermergeon启用或禁用收集合并,并发查询时会出现收集合并enable_hashaggon启用或禁用HashAggregateenable_hashjoinon启用或禁用Hash Joinenable_indexs...

2020-03-02 16:11:06 483

原创 Postgres10高性能开发(3)统计

统计解释计划通过统计分析各种方式的成本来选择"最优"的执行路径VACUUM, ANALYZE或一些DDL操作(如CREATE INDEX)可以重新生成统计单列统计pg_class记录表、索引中的行数VACUUM, ANALYZE或一些DDL操作(如CREATE INDEX)生成统计SELECT relname,relkind,reltuples,relpages from pg_cl...

2020-03-02 16:10:28 179

原创 Postgres10高性能开发(2)解释计划

解释计划Explainhttps://www.postgresql.org/docs/10/sql-explain.html基本使用利用规划器评估解释计划及其执行成本explain不执行SQL只进行评估,同时不会评估数据传输的网络开销explain select * from crm_t_archive_person# ResultSeq Scan on crm_t_arch...

2020-03-02 16:09:13 359

原创 Postgres10高性能开发(1)索引

数据结构BTreePostgres默认的索引类型可用于等于比较和范围查询Postgres8.3起可支持查找null值like ‘XXX%’如果数据库lc_collate值为C,支持索引查询如果数据库lc_collate值不是C(Postgres10默认不是C),可通过建立text_pattern_ops索引参数支持索引查询,例如create index id...

2020-03-02 16:08:45 911

原创 DDL语句造成Postgres PreparStatement报错

参考文档https://jdbc.postgresql.org/documentation/head/server-prepare.htmlhttps://jdbc.postgresql.org/documentation/head/connect.html#autosave连接相关设置prepareThreshold(int):指定在一个会话中需要经过多少次PreparedStat...

2020-03-02 16:08:22 734 1

原创 Postgres流式备份(6)备份和恢复

备份定时维护定时维护,强制执行保留策略、WAL文件管理Barman如通过rpm安装将自动添加定时配置文件/etc/cron.d/barman,内容如下,设置每分钟进行一次定时维护# m h dom mon dow user command * * * * * barman [ -x /usr/bin/barman ] && /usr/...

2020-03-02 15:55:27 1014

原创 Postgres流式备份(5)主要命令

语法barman [OPTIONS] COMMANDOPTIONS-v, –version显示barman版本并退出-q, –quiet不输入任何内容.用于定时脚本.-h, –help显示帮助信息不能退出-c CONFIG, –config CONFIG使用指定的配置文件COMMAND所有命令均支持查看帮助barman COMMAND -harchive-wal SE...

2020-03-02 15:54:46 408

原创 Postgres流式备份(4)配置新数据库备份

配置文件初始化在/etc/barman.d新建数据库配置文件touch /etc/barman.d/192.168.220.133.conf文件内容如下[192.168.220.133]; Human readable descriptiondescription = "PG10"; 备份目录backup_directory = /home/backup/192.168.22...

2020-03-02 15:54:05 399

原创 Postgres流式备份(3)配置文件

参考文档:http://docs.pgbarman.org/release/2.5/barman.5.html全局配置文件位置:/etc/barman.conf包含常规选项,如主目录,系统用户,日志文件等。服务配置文件位置:/etc/barman.d目录中,并且必须具有.conf后缀。Barman备份的每个数据库服务器一个文件属性属性位置说明activ...

2020-03-02 15:53:01 170

原创 Postgres流式备份(2)Barman安装

参考文档:http://docs.pgbarman.org/release/2.5/EPEL:https://fedoraproject.org/wiki/EPEL系统要求Python 2.6或2.7Python模块:argcompleteargh> = 0.21.2 <= 0.26.2argparse(仅限Python 2.6)psycopg2> = ...

2020-03-02 15:52:22 191

原创 Postgres流式备份(1)Barman概述

参考文档:http://docs.pgbarman.org/release/2.5/index.html概述Barman是使用Python编写的PostgreSQL开源备份和恢复管理器功能多种备份方式集成备份文件的管理流备份技术和工具pg_basebackup:用于数据库全量备份pg_receivewal/pg_receivexlog:用于基于全量对WAL增量备份,可实现很低...

2020-03-02 15:51:33 690

原创 PostgreSQL10基础(7)MVCC

参考书籍: 《PostgreSQL10 High Performance》MVCC即Multi Version Concurrency Control多版本并发控制,为提升多用户访问同样的数据而设计,性能优于锁定。被广泛用于诸多主流数据库。内部可见性计算当一个事务创建时,数据库会更新一个事务ID计算器,通常叫做XID。当插入一行或更新数据时,一个新行被创建(更新也会创建新行),该新行...

2020-03-02 15:46:27 229

原创 Postgres主从(4)复制视图

主服务器复制视图SELECT * FROM pg_stat_replication;列类型描述pidinteger一个 WAL 发送进程的进程 IDusesysidoid登录到这个 WAL 发送进程的用户的 OIDusenamename登录到这个 WAL 发送进程的用户的名称application_nametext连接到这个 WAL 发...

2020-03-02 15:44:49 285

原创 Postgres主从(3)各种问题场景处理

Repmgrd宕机主从上的Repmgrd宕机不影响服务运行,及时启动即可仅在repmgrd宕机后发生再发生PG或服务器宕机,则无法正常切换从服务器宕机前置状态3为主服务器2为从服务器VIP为6,主服务器才能具备VIP模拟场景2服务器宕机通过停止reboot操作系统模拟该场景预期结果主和VIP能够正常访问和写入数据检查VIP状态通过VIP6访问PG,验证是否正常后续...

2020-03-02 15:43:07 959

原创 Postgres主从(2)Repmgr基本命令

命令简介命令说明repmgr primary register安装pg的repmgr扩展并注册为主节点repmgr primary unregister注销不活动的主节点repmgr standby clone从其他节点复制数据到从节点repmgr standby register注册从节点(添加从的信息到repmgr元数据)repmgr st...

2020-03-02 15:39:46 1985

原创 Postgres主从(1)Repmgr安装和配置

安装有网安装安装2ndquadrant的RPM仓库yum install https://rpm.2ndquadrant.com/site/content/2ndquadrant-repo-10-1-1.el7.noarch.rpm安装对应PG版本的repmgr,如PostgreSQL10对应repmgr10yum install repmgr10无网安装在有网的服务器上下载RP...

2020-03-02 15:39:04 1941

原创 PostgreSQL10基础(6)Analyze和Vacuum

参考文档https://www.postgresql.org/docs/10/sql-analyze.htmlhttps://www.postgresql.org/docs/10/routine-vacuuming.htmlhttps://www.postgresql.org/docs/10/sql-vacuum.htmlhttps://www.postgresql.org/docs/...

2020-03-02 15:37:37 5061

原创 PostgreSQL10基础(5)Zabbix监控

监控对象服务器10.8.1.2操作系统:Centos7数据库:Postgres10.4数据库集群:repmgr4.0.5服务器10.8.1.3操作系统:Centos7数据库:Postgres10.4数据库集群:repmgr4.0.5Zabbix客户端安装安装rpm -i zabbix-agent-3.4.8-1.el7.x86_64.rpm配置修改...

2020-03-02 15:36:19 509

原创 PostgreSQL10基础(4)插件安装

安装环境数据库:PostgreSQL10.4(已安装)操作系统:Centos7安装步骤安装1.1 有网安装#安装源yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm#安装PG插件yum install po...

2020-03-02 15:35:06 1695

原创 PostgreSQL10基础(3)配置介绍

配置文件:postgresql.conf网络和验证# - Connection Settings -#设置监听的IPlisten_addresses = '*' # what IP address(es) to listen on; # comma-separated list of addresses; # defaults to 'localhost'; use...

2020-03-02 15:34:02 323

原创 PostgreSQL10基础(2)安装

安装环境数据库:PostgreSQL10.4操作系统:Centos7安装步骤1. 安装1.1 有网安装#安装源yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm#安装PG客户端yum install pos...

2020-03-02 15:32:32 187

原创 PostgreSQL10基础(1)Centos7配置

参考文档:https://www.postgresql.org/docs/10/static/kernel-resources.html#LINUX-MEMORY-OVERCOMMITIPC配置名称描述Postgres值查询方法SHMAX共享内存段的最大大小(字节),一般配置为服务器内存的50%建议服务器内存的50%sysctl -a |grep shmmax...

2020-03-02 15:30:26 176

原创 J2EE性能优化(5)缓存Ehcache

由于之前做的是PPT,转换成博客实在太麻烦,于是先将PPT转成PDF,然后用 迅捷PDF转换器转成图片,上传在这里。吐槽一下CSDN的博客上传图片,Makedown版每次只能上传一张图片,每次上传图片要点选择图片、上传、确认三次按钮,纯体力活!!!

2017-04-11 16:23:57 400

原创 J2EE性能优化(4)Tomcat和JVM调优

由于之前做的是PPT,转换成博客实在太麻烦,于是先将PPT转成PDF,然后用 迅捷PDF转换器转成图片,上传在这里。吐槽一下CSDN的博客上传图片,Makedown版每次只能上传一张图片,每次上传图片要点选择图片、上传、确认三次按钮,纯体力活!!!

2017-04-11 16:17:30 321

空空如也

空空如也

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

TA关注的人

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