背景HyperLedger从2015年12月发起,经过多年的发展,已经日渐成熟,到目前为止已经成为区块链领域企业级产品开发首选技术框架,虽然关于Hyperledger底层架构能否可以被称作真正的区块链技术,网络上有些异议。作为一个开发人员,如果要涉足区块链开发领域,HyperLedger是一个必须了 ...
Java中的Happens-Before,重排序和DCL问题
本文是我之前发表在其他网站的博客,近期统一迁移到个人博客并重新编辑后发布 最近在阅读《Java并发编程实战》,在关于Java内存模型-重排序章节,重新提到了一直以来未很有困惑性的问题。书中给出的例子是 int a,b,x,y=0 在ThreadA中的操作为 a = 1; x = b; ...
微服务API设计实践总结
前言 随着微服务的越来越流行,越来的越多的公司开始实行微服务架构,相对于单一应用架构,微服务将复杂性拆分并且打散到一个个粒度更加细分的应用中,极大了减少了开发中单个服务的复杂性,开发人员只需要面向专注单一业务场景编程,从技术开发角度,单一服务代码量上减少很多,从业务角度上,业务复杂性的降低降低了需 ...
基于Spring和Spring Boot框架的集成与扩展点
前言对于每个Java程序员来说,Spring应该是我们Java学习中第一个开始接触的技术框架,而且应该是每个Java程序员使用和熟悉程度最高的技术框架。近些年来,Spring的生态慢慢变得的越来越丰富,Spring Boot作为一种开箱即用的集大成者,整合了常用的一些模块,大大减少了重复性的工作,这 ...
Redis实践中的一些总结和建议
redis从2009年诞生到现在已经走过将近10年,从最开始大家在讨论nosql和传统关系数据库孰优孰劣,到现在大家谈起分布式锁,缓存纷纷将Redis作为其第一选择,服务端面试中Redis也作为一项必备能力,而如今Redis 5.0已经发布,越来越多的新特性被加入,我完整的观察到并参与了一项新的开源 ...
关于Zero Copy的一些简单总结
前言最近工作中一个系统要基于cannal订阅binlog数据,然后本地消费,但是发现IO居高不下,通常情况达到150%以上,顺着这个问题阅读了canal中关于网络数据处理的源码,发现性能并不是好,后面不得不切换到改用kafka消费,而kafka作为一个高性能消息处理中间件能够实现海量消息处理的一个因 ...
Redis分布式锁进化史
背景近两年来微服务变得越来越热门,越来越多的应用部署在分布式环境中,在分布式环境中,数据一致性是一直以来需要关注并且去解决的问题,分布式锁也就成为了一种广泛使用的技术,常用的分布式实现方式为Redis,Zookeeper,其中Redis分布式锁的使用更加广泛。 但是在工作和网络上看到过各个版本的Re ...
写给不平凡的2017
2017年犹如人生新的一章,划上了句号,这一年有时候觉得很长,有时候觉得平淡到如同开水,有时候觉得焦虑,有时候甚至灵魂都没有喘息的机会,领悟到了很多,给自己时间让学会了去面对和思考自己一直在逃避的东西。 换了份新工作 逃离了呆了五年的广州,想起当时被迫来到这个陌生的城市,经历过的荒诞的生活。在 ...