最新文章BLOG
作者 张松然  发布于 2017年11月23日  阅读 23
为什么要将这次敏捷Retro会议记录拿出来说说呢?因为发现,这次会议的内容真的反映出大多数团队面临的问题和痛点,并经过这么多年的敏捷实践,真的有所思有所悟,所以用这一次敏捷Retro来说说问题。背景刚刚团队经历过一个项目,这个项目的结果是成功的,但是整个过程是非常痛苦的。这个项目的特点非常显明:1. Deadline已经固定,而且非常紧2. 多个团队协作开发,沟通成本非常高3. 团队新人多,对业务...
作者 张强  发布于 2017年11月20日  阅读 1392
Spring AOP是我们日常开发中经常使用的工具,常被用来做统一的日志、异常处理、监控等功能,使用方法在此不多赘述,有兴趣的读者可以自行去网上查阅资料进行学习,我们以注解的使用方式为例,分析其相关源码,其他方式大同小异。开启Spring AOP注解方式首先要配置标签,我们就以这个标签的解析作为入口来分析,这里需要读者对Spring自定义标签解析的过程有一定的了解,笔者后续也会出相关的文章。锁定A...
作者 王新栋  发布于 2017年11月07日  阅读 1995
一、I/O复用模型解读Tomcat的NIO是基于I/O复用来实现的。对这点一定要清楚,不然我们的讨论就不在一个逻辑线上。下面这张图学习过I/O模型知识的一般都见过,出自《UNIX网络编程》,I/O模型一共有阻塞式I/O,非阻塞式I/O,I/O复用(select/poll/epoll),信号驱动式I/O和异步I/O。这篇文章讲的是I/O复用。这里先来说下用户态和内核态,直白来讲,如果线程执行的是用户...
作者 张强  发布于 2017年11月06日  阅读 2083
Spring事务是我们日常工作中经常使用的一项技术,Spring提供了编程、注解、aop切面三种方式供我们使用Spring事务,其中编程式事务因为对代码入侵较大所以不被推荐使用,注解和aop切面的方式可以基于需求自行选择,我们以注解的方式为例来分析Spring事务的原理和源码实现。首先我们简单看一下Spring事务的使用方式,配置: 在需要开启事务的方法上加上@Transactiona...
作者 张松然  发布于 2017年11月05日  阅读 6908
分布式事务分布式系统的特性分布式事务的基本介绍常用的分布式技术说明理解2PC和3PC协议「点击阅读」分布式服务协调技术什么是ZookeeperZookeeper和CAP的关系Zookeeper节点特性及节点属性分析Zookeeper的实现原理分析Zookeeper实践,共享锁,Master选举「点击阅读」分布式消息技术Kafka的基本介绍Kafka的设计原理分析Kafka数据传输的事务特点Kafk...
作者 张松然  发布于 2017年11月05日  阅读 67
Main memory is an important resource that must be very carefully managed. Over the years, people discovered the concept of a memory hierarchy, in which computers have a few megabytes of very fast, exp...
作者 张松然  发布于 2017年11月03日  阅读 2445
本篇文章讨论在数据库读写分离时使用事务的那些坑:1. 在读写分离时会不会造成事务主从切换错误一个线程在Serivcie时Select时选择的是从库,DynamicDataSourceHolder中ThreadLocal对应线程存储的是slave,然后调用Manager时进入事务,事务使用默认的transacatinManager关联的dataSource,而此时会不会获取到的是slave?2. 事...
作者 王栋  发布于 2017年11月01日  阅读 2776
本文为王栋老师线上分享《618大促网关承载十亿调用量背后的架构实践》实录。618大促,我们的网关承载了几十亿的流量和调用,在这种情况下,网关系统必须保证整个系统的稳定性和高可用,保证高性能和可靠,以支撑业务。我们面临的是一个非常复杂的问题,基于这种复杂问题,怎样做到很好地提高它的性能和稳定性、复杂技术之间怎么整合保证整体网关的高可用,是本文的重点。一、网关涵盖技术1.1 网关系统网关系统主要有两种...
作者 张松然  发布于 2017年10月30日  阅读 1457
1~2年 Thinking in JavaEffective JavaDesign Patterns重构 改善既有代码的设计2~3年深入理解Java虚拟机Java并发编程实战3~4年现代操作系统深入理解计算机系统TCP/IP详解数据结构与算法分析5~6年UNIX环境高级编程UNIX网络编程...
作者 张松然  发布于 2017年10月24日  阅读 1566
最近备战京东双11,在配置MySQL的超时配置发现有很多地方可以设置。这么多超时的配置有什么影响,以及配置会有什么影响呢?今天的文章就让我来大家来分析一下。1. JDBC超时设置connectTimeout:表示等待和MySQL数据库建立socket链接的超时时间,默认值0,表示不设置超时,单位毫秒,建议30000socketTimeout:表示客户端和MySQL数据库建立socket后,读写so...