自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (1)
  • 收藏
  • 关注

原创 探索原味 BFF 模式

BFF — Backends For Frontends 。在后来的学习和工作经验累积中逐步的加深了对 BFF 的理解,这个模式它具有更加确切的一些使用场景以及解决的是一些更加特定的问题。本篇小作文中,从找到 BFF 的起源开始,回到 BFF 模式诞生的大背景下,去探索那个特殊环境下遇到了什么样的问题催生出了这个在微服务系统中出镜率极高的模式。寻找源头首先,从技术雷达(https://www.thoughtworks.com/radar/techniques/bff-backend-for-fronte

2021-10-24 23:30:56 2095

原创 漫谈金丝雀部署(Canary Deployment)

漫谈金丝雀部署(Canary Deployment)部分图片源自网络,如侵删一些历史John Scott Haldane 于 1895 年提出,因为小型恒温动物的呼吸交换比人类更快,矿井中的一氧化碳等有毒气体或甲烷等窒息性气体会先影响它们。比如,同样的一氧化碳浓度,老鼠会在几分钟内受到一氧化碳的影响,人类需要 20 倍的时间才会受到影响,于是 1896 年左右开始,老鼠被用作井下有毒气体预警的物种。一段时间后,人们发现金丝雀这种生物对于有毒气体更加敏感。在 1900 年开始有记录显示,一些矿井开

2021-08-19 17:34:46 598

原创 深入了解服务发现

为什么需要服务发现?当我们需要通过 REST API 或者其他RPC去请求其他服务的时候。首先需要做的一件事是在网络中通过 IP 和 端口 找到请求目标的服务实例。传统的应用往往是绑定在固定的 IP 和端口之上,这样我们就能在访问前的知道目标的网络地址了。在现代云原生的微服务应用上,这种方式不再那么可靠。云原生的服务实例往往是在创建后进行动态绑定的。并且,随着应用集群的扩容、缩容、滚动升级等操作,服务实例也是一直在动态变化着。在这种动态的场景之下,就需要用到“服务发现”来帮我们定位到目标应用。我们先从大

2021-10-21 22:41:32 224

原创 Java 内存模型(JMM)图例

2020-04-20 12:12:00 175

原创 从零开始 Docker 搭建 Redis 集群

从零开始 Docker 搭建 Redis 集群Docker 安装Docker 官方安装说明地址初识 Docker轻量,简单的建模方式.为云计算而生.多平台可以移植,易于构建,易于协作.基础设施即代码:通过 Docker 的镜像,我们可以将创建过程变为自动和且可重复,而且可以做版本管理.不可变基础设施:对无状态服务升级,部署会更为容易和简单,我们无需再修改配置,只需要销毁重建即可...

2020-04-01 17:41:30 250

原创 Vim 上手不求人( gif 版)

Vim 上手不求人前言亲爱的猴子们,大家对 Vim 不陌生吧。Vim 用起来看起来很爽,平时我们没少背 Vim 的快捷键,不过,大家是知道的,背的学的使用太少,很快就从入门到放弃了。我们还是只有一脸崇拜的看着 Devops 老哥在 Vim 里面熟练的敲敲打打。不过,我最近找到一种学习的方法,不用太多功夫就能把 Vim 玩的 666。下面,我会将自己学习的办法和实用小技巧分享给大家,Vi...

2019-12-26 13:57:06 898

原创 程序猿划水指南

有能让我们能提高工作效率,每天愉快的“划水”的办法吗?我认为答案是肯定的,接下来我分享在平日工作中所用到的办法和它们背后的原理。

2019-12-21 00:09:57 7447 13

原创 如何走出问题的迷宫

如何走出问题的迷宫  在我们生活和工作中,或多或少都会遇到一些非常“繁复”的事,基于我们自身认知的情况下没有办法一下就处理完毕。可能是筹划一个完美的 party;可能是需要做一个面面俱到的旅行计划;也有可能和我一样,需要在工作中去解决一个”复杂”的问题。  如果你用敲钉子的办法去解决他们,那你很有可能会走入问题的迷宫。请跟着我一起看看,到底是什么样的方法让我成功走出重构了这个“复杂”业务的迷宫...

2019-12-21 00:09:05 871

原创 Spring 框架事件收发功能使用(二)事务事件监听 @TransactionalEventListener

Spring 框架事件收发功能使用(二)事务事件监听1. 概述系列博客(一)中,讲述了如何使用 Spring 框架来实现事件收发机制,包含了实现接口和注解两种实现方式,以及包括了同步和异步两种运行方式。在接下来的内容里,我们会介绍如何将事件的监听与事务进行关联。2. 基于事务的事件收发的使用首先,我们还是依照惯例,从 Spring 的官方文档来看看怎么使用它。在 Spring 4.2...

2019-07-18 15:55:35 4116 1

原创 Spring 框架事件收发功能的使用 (一) 基本使用 @EventListener

Spring 框架事件收发功能的使用教学 (一) 基本使用1. 概述Spring 框架时间收发功能本系列的文章总共分为三部分。第一部分:为大家介绍如何用 Spring 来进行事件收发,如何让 Spring 的事件收发变为异步进行的,Spring 又是如何实现异步收发的。第二部分:为大家介绍如何在事务的各个节点去触发监听器的执行,以及基于事务的事件监听器在异步配置下失效的原因。第三部分:...

2019-07-11 16:55:51 1602

原创 谈谈我买书那些经验

谈谈我买书那些经验我自认为,每个人都应该去学习。学习的目的就是让自己变得更好,更能配得上自己的梦想和追求。学习,有很多种方式和方法;比如,有上网查查呀,问问同事朋友啊,看看书看看视频呀。这次我就简单来谈谈我买书经验吧。1.我为什么要看书我们平时在工作中其实一直在解决问题和提升。不知道大家有没有发现一个现象,通过 Stack Overflow、Google、CSDN 等博客或者其他分散文档解决...

2019-06-26 11:45:39 1179

原创 kafka 压测工具

简单说明:最近,正在学习golang,碰巧需要对 kafka 进行压测。于是写了一个简单的小工具。目前是 macos 版本的,如果需要其他版本请通过邮箱或者私聊我。使用说明:将文件下载到本地 下载地址 直接通过./命令调用 经测我本地每秒生产量在1W 左右。 ...

2018-08-31 17:27:12 2987 5

原创 算法与数据结构--红黑树简析

1.为什么要使用红黑树:可以保证在 O(logN)的时间复杂度下做查找 删除 添加2.性质:(来自于维基百科Red–black tree条目 )节点是红色或者黑色的(Each node is either red or black)根是黑色的,有时会被省略,由于根是黑色和红色对规范并没有其他影响(The root is black. This rule is sometimes...

2018-08-30 21:23:04 821

原创 Mysql innodb 面试要点记录(三)事务

1.事务特性:(ACID)A tomicity:原子性—是指整个事务是一个整体,不可分割的最小工作单位。 C onsistency:一致性—指事务将数据从一种状态转换成下一种一致的状态。即事务执行前和事务执行后不能对数据库本身的其他约束和限制产生不一致的结果。比如导致唯一约束丢失等。 I solation:隔离性—要求每个事务的对象对其他事务的操作对象能互相分离,互不影响。即是事务提交前对...

2018-08-22 19:51:59 1019

原创 Mysql innodb 面试要点记录(二)锁

1.innodb 的锁分类列粒度锁:S 共享锁 X 排他锁意向锁:IS 意向共享锁 IX 意向排他锁1.1.意向锁:innodb 的锁支持多粒度锁定。为了实现多粒度锁,innodb 通过意向锁(IS共享意向锁、IX共享排他锁)的方式实现。在细粒度上加锁,则需要先在粗粒度上加意向锁。比如,如果需要在记录行加锁,则先要在表上加意向锁,最后在行上加上 X/S 锁 。任何一个加锁...

2018-08-21 15:46:08 1857

原创 Mysql innodb 面试要点记录(一)缓冲和索引

1.缓冲池:所有对数据库的操作首先修改缓冲池中的页,在合适的 checkpoint 再写入磁盘存储中。缓冲池的大小决定着数据库的性能。缓冲池通过 LRU 的算法进行管理。即使用最多的页在前端,最少使用的在尾端。当缓冲池不能存新的页的时候,将首先清理尾端的页。页大小默认为16KB,innodb 优化了 LRU 算法,在 LRU 的列表中加入了 midpoint 的位置。每次最新访问的页放...

2018-08-21 13:53:53 1497

原创 多线程应用(一)—Http请求阻塞回调处理

多线程应用(一)—Http请求阻塞回调处理1.需求描述1.1场景说明:由于,微信端的业务需求量越来越大.将业务与微信第三方事件处理耦合在一起的单一项目的结构已经逐渐暴露出,承载能力不足的缺点.所以,需要将与微信的交互从业务逻辑中分离出,单独进行管理和处理. 这样做有以下几点好处:可以达到业务解耦分离.可以为业务系统微服务化做准备.可以在解耦后针对性的对不同业务系统进行优化.减少业务系统错误

2017-11-13 16:48:28 7838

原创 jvm hotspot gc 逻辑 脑图

jvm hotspot gc 逻辑 脑图

2017-08-31 12:01:24 966

原创 Maven Snapshot Release指南---Git版

1.RELEASE的说明1.1snapshot与release的区别大多数java开发的小伙伴都用过maven来对包进行管理。在自己写项目的过程中,对自己的项目也会进行groupdId,artifactId,version的配置。下面我们来对着3个配置进行简单说明。 groupId:顾名思义,这个里面包含的是本项目属于哪一个group(即组织或公司)。一般我们会用公司或者自己的前几级包名来进行

2017-07-27 16:00:12 3470

原创 Shiro+Cas微服务化及前后端完全分离

shiro+cas微服务化笔记1.Spring Boot 配置有如下两个配置文件:ShiroBaseConfig.java import lombok.extern.log4j.Log4j;import org.apache.shiro.cache.CacheManager;import org.apache.shiro.cache.MemoryConstrainedCacheManage

2017-07-10 13:51:46 13201 18

原创 《聊聊架构》第一部分读书笔记

1.认识架构1.1生命周期:万物皆有生命周期生命周期包含各种活动,活动的推进是生命周期的必要因素(对象的行为)生命周期里面的活动拆分后,形成若干新的生命周期拆分后主体不变的是核心生命周期,变化了的是非核心生命周期每个主体的生命周期变化都累积在自身,这个就是所谓的内聚(面向对象分析新思路)生命周期拆分以后,因为非核心生命周期的主体已经发生变化。主体便可以将这些非核心生命周期分配给其他主体代

2017-05-25 15:03:48 2992

原创 Spring boot 启动错误处理

今天准备把我之前搭建的,基于springboot的框架的基础功能包抽离出来,在增加spring yml自定义设置后,在业务项目启动时会报出以下异常。2017-02-23 18:55:09.869 WARN main org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext[refr

2017-02-23 19:02:17 55344 4

原创 Protobuf笔记以及Java Js 示例

Google Protocol Buffer1.协议介绍:Google Protocol Buffer是google 的一种数据交换的格式,它独立于语言,独立于平台。google 提供了多种语言的实现:java、c#、c++、go、python、js等,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用 xml 进行数据交换快许多。可以把它用于分布式应用之间的数据通信或者

2017-02-16 21:06:25 4264 1

原创 用ReetrantLock来分析java并发中不可错过的类AbstractQueuedSynchronizer

主要通过ReetrantLock这个Java中最常用的锁,来对java.util.concrurrent包中并发控制工具的基类AbstractQueuedSynchronizer(AQS)进行分析

2016-11-02 10:04:00 1076

原创 linux常用命令

/dev     存放设备文件/boot    存放内核与启动程序相关文件/lib      存放系统库文件/bin      存放二进制文件(可执行命令)/sbin    存放特权级二进制文件(特权级可执行命令)/usr     一般存放安装程序/var     一般存放经常变化的数据,如服务数据、日志文件等/proc    只存在于内存中的文件系统,保存操作系统的实

2013-09-06 09:36:28 964

sqlserverJDBC 4驱动

SQLSERVER的JDBC最新驱动sqljdbc4.jar

2013-09-06

空空如也

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

TA关注的人

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