3 有恒则成

尚未进行身份认证

本人计算机应用技术专业毕业,从事Java 研发工作6 年,其中三年分布式开发,二年架构设计;能够独立架构并维护基于ZK+Dubbo 的高可用分布式系统并解决分布式事务;熟悉Oracle/Postgresql/Mysql 数据库,擅长数据表设计,掌握SQL 优化;了解分库分表及HAProxy、MyCat、FastDFS 等高可用集群;熟悉Linux 服务器集群、分布式管理及部署工作;使用Keepalived+Nginx +Tomcat 实现了Web 高可用、负载均衡;熟练掌握PowerDesgin 进行数据建模,熟悉Edraw Max、Visio 等设计工具的使用;责任心强并容易相处。

等级
TA的排名 2k+

烧开水理论-证明自己存在的三个过程

烧开水理论的提出者是廖泉文廖教授指出,人生证明存在的过程犹如“烧开水”,这一过程包含了三个过程第一个过程是“不断添柴”,即努力学习,不停顿地学习,不停顿地向社会和环境学习的过程;第二个过程是耐得住寂寞,“不要频繁地掀锅盖”,也就是积累过程不能急于表现自己,这种积累既要求自己吃苦,还要求自己谦虚;第三个过程是“水开了”,沸沸扬扬,证明你的存在,此时要注意保护它们,不要让烧开的水喷洒出来...

2018-08-19 21:21:18

Web服务器及性能优化

一、WEB服务器1.1概述:1.2区别:1.2.1Apache1.2.2Tomcat1.2.3Jboss二、浏览器端,关于浏览器端优化2.1压缩源码和图片2.2选择合适的图片格式2.3合并静态资源2.4开启服务器端的Gzip压缩2.5使用CDN2.6延长静态资源缓存时间2.7把CSS放在页面头部,把JavaScript放在页面底部...

2018-08-09 07:03:34

分布式-分布式锁

一、分布式锁的几种实现方式1.1分布式锁的三种实现方式1.2使用分布式锁要满足的条件二、基于数据库实现分布式锁2.1基于数据库表2.2基于数据库排他锁2.3总结2.3.1数据库实现分布式锁的优点2.3.2数据库实现分布式锁的缺点三、基于缓存实现分布式锁3.1Redis分布锁使用命令介绍3.2实现思想3.3实现代码3.4总结3.4....

2018-08-08 16:20:48

分布式-分布式缓存Redis

一、Redis常用五大数据类型1.1String(字符串)1.2Hash(哈希)1.33List(列表)1.4Set(集合)1.5zset(sortedset:有序集合)二、redis应用场景2.1缓存——热数据2.2计数器2.3队列2.4位操作(大数据处理)2.5分布式锁与单线程机制2.6最新列表2.7排行榜三、redis使用规...

2018-08-08 10:40:14

Postgresql使用技巧

1.递归层次查询2.重复数据过滤3.COALESCE滤空处理4.日期、字符转换函数5.casewhen条件判断6.like模糊查询7.json中作为查询条件及只显示json中相应的key8.mybatis调用存储过程9.插入数组字段10.插入jsonb字段11.创建表序列技巧12.聚合函数string_agg与array_agg13.查询序列值14.增加修改列1...

2018-08-07 19:32:55

JDKProxy与CGlibProxy

一、原理区别:java动态代理是利用反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理。而cglib动态代理是利用asm开源包,对代理对象类的class文件加载进来,通过修改其字节码生成子类来处理。1、如果目标对象实现了接口,默认情况下会采用JDK的动态代理实现AOP2、如果目标对象实现了接口,可以强制使用CGLIB实现AOP3、如果目...

2018-08-06 18:30:35

详解PV、UV、VV、IP及其关系与计算

通过kafka进行日志收集一、什么是PV?PV即PageView,网站浏览量,指页面浏览的次数,用以衡量网站用户访问的网页数量。用户每次打开一个页面便记录1次PV,多次打开同一页面则浏览量累计。一般来说,PV与来访者的数量成正比,但是PV并不直接决定页面的真实来访者数量,如同一个来访者通过不断的刷新页面,也可以制造出非常高的PV。具体的说,PV值就是所有访问者在24小时(...

2018-08-05 17:37:26

TCP的三次握手与四次挥手

https://blog.csdn.net/qzcsu/article/details/728618911.OSI七层和TCP/IP四层的关系1.1OSI引入了服务、接口、协议、分层的概念,TCP/IP借鉴了OSI的这些概念建立TCP/IP模型。1.2OSI先有模型,后有协议,先有标准,后进行实践;而TCP/IP则相反,先有协议和应用再提出了模型,且是参照的OSI模型。1...

2018-08-04 10:48:50

Servlet

Servlet是单实例多线程运行方式,所以对象变量线程不安全,局部变量线程安全。Servlet生命周期、工作原理Servlet的生命周期由Servlet容器管理;Servlet生命周期:-Servlet加载—>实例化—>服务—>销毁。-init()在Servlet的生命周期中,仅执行一次init()方法。它是在服务器装入Servlet

2018-08-03 16:31:30

Mybatis插件原理(拦截器)

MyBatis拦截器原理探究MyBatis拦截器介绍MyBatis提供了一种插件(plugin)的功能,虽然叫做插件,但其实这是拦截器功能。那么拦截器拦截MyBatis中的哪些内容呢?我们进入官网看一看:MyBatis允许你在已映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis允许使用插件来拦截的方法调用包括:Executor(update,query,...

2018-08-02 07:59:44

客户端与服务器端防重复提交

一、客户端防表单重复提交1.1实现方式、思路为了防止用户在客户端重复提交表单,要分析从客户端和服务端对重复提交的表单就行处理,首先是客户端处理重复提交表单,使用JavaScript方法第一种是只允许表单提交一次,后来的不能再提交第二种是提交一次后按钮变成不可用1.2实现代码下面是代码的实现<html><head&

2018-08-01 07:02:48

Dubbo高级篇_14_Filter实现Dubbo接口黑白名单

微服务背景下,一个web应用都可能不再service依赖,而是通过RPC调用远端服务器上的服务。这些服务里,就包括了一些不能轻易暴露的后台功能接口。暴露出去的dubbo接口注册到某一个zk上后,该dubbo接口对注册到该zk上的消费者都是可见的。对公司内部而言,通常不会有人蓄意去调用一些敏感的接口,但也存在人为误用的可能呀。为此,考虑通过白名单机制来控制dubbo接口的访问。扩展F...

2018-07-31 15:14:14

Dubbo高级篇_13_Dubbo缓存

结果缓存,用于加速热门数据的访问速度,Dubbo提供声明式缓存,以减少用户加缓存的工作量。按照SPI的要求,我们从配置文件中可以看到dubbo提供的三种缓存接口的入口:threadlocal=com.alibaba.dubbo.cache.support.threadlocal.ThreadLocalCacheFactorylru=com.alibaba.dubbo.cache...

2018-07-30 22:28:15

并发_02_JAVA并发机制的底层实现原理

一、并发编程中的三个概念1.原子性原子性:即一个操作或者多个操作要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。2.可见性可见性是指当多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值。3.有序性有序性:即程序执行的顺序按照代码的先后顺序执行二、Volatile它是轻量级的synchro...

2018-07-29 09:18:43

分布式-消息中间件介绍

一、消息队列概述消息队列中间件是分布式系统中重要的组件主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性(分布式事务)架构。是大型分布式系统不可缺少的中间件。目前在生产环境,使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等二、消息队列作用主要解决应用耦合,异步消息,流量削...

2018-07-26 16:01:46

胡雪岩启示

胡雪岩是中国晚清时期的一位传奇人物,我们今天讲胡雪岩,并不是把他当作一个历史人物来研究,因为胡雪岩死前被抄家,留下的资料很少。但是关于胡雪岩的传奇故事,却在民间口耳相传,流传甚广。胡雪岩出身贫寒,却在短短十几年的时间里迅速发迹,成为当时富可敌国的巨商富贾;他替清朝政府向外国银行贷款,帮助左宗棠筹备军饷,收复新疆,慈禧太后赐他黄袍马褂,官封极品,被人们称为红顶商人;他奉母命建起一座胡庆余堂,真不...

2018-07-25 18:01:35

某金服银行存管分布式架构设计

 1架构总览此架构支撑的业务是 一天10G的日志处理,100个左右的QPS##业务流业务订单表设计CREATETABLE`biz_order`(`tid`bigint(20)NOTNULLAUTO_INCREMENTCOMMENT'主键',`biz_id`varchar(100)NOTNULLDEFAULT''COMMENT...

2018-07-24 15:58:13

Nginx负载均衡策略

nginx可以根据客户端IP进行负载均衡,在upstream里设置ip_hash,就可以针对同一个C类地址段中的客户端选择同一个后端服务器,除非那个后端服务器宕了才会换一个。nginx的upstream目前支持的5种方式的分配1、轮询(默认)每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。upstreambackserve...

2018-07-24 07:39:45

分布式-微服务架构选型

微服务(Microservices)是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。微服务主要的优势降低复杂度将原来耦合在一起的复杂业务拆分为单个服务,规避了原本复杂度无止境的积累。每一个微服务专注于单一功...

2018-07-23 17:06:31

分布式-缓存防穿透 、雪崩

一、缓存穿透预防及优化缓存穿透是指查询一个根本不存在的数据,缓存层和存储层都不会命中,但是出于容错的考虑,如果从存储层查不到数据则不写入缓存层,如图11-3所示整个过程分为如下3步:1.缓存层不命中2.存储层不命中,所以不将空结果写回缓存3.返回空结果缓存穿透将导致不存在的数据每次请求都要到存储层去查询,失去了缓存保护后端存储的意义。缓存穿透模型缓存穿透...

2018-07-23 06:27:14

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!