给Junit4增加Benchmark(基准测试)
Git Commit规范
git-workflow之gitflow的工具
git-workflow之gitflow说明
gitflow规定一个项目有
两个长期存在的分支 master, develop
三种临时分支 feature ,hotfix, release
ps:还可能会有 bugfix分支 bugfix 属于一种特殊的 feature 分支
Git Flow常用的分支
Production 分支
也就是我们经常使用的Master分支,这个分支最近发布到生产环境的代码,最近发布的Release, 这个分支只能从其他分支合并,不能在这个分支直接修改,每次提交都需要打上对应的tag
Develop 分支
这个分支是我们是我们的主开发分支,包含所有要发布到下一个Release的代码,这个主要合并与其他分支,比如Feature分支
spring-message
spring-messaging的源码在spring-framework项目中,属于spring-framework项目中的一个组件
看项目依赖图纸依赖了spring的核心包
Spring Messaging 是 Spring Framework 中的一个模块,其作用就是统一消息的编程模型。
- 消息
Messaging
对应的模型就包括一个消息体 Payload 和消息头 Header:1
2
3
4
5package org.springframework.messaging;
public interface Message<T> {
T getPayload();
MessageHeaders getHeaders();
} - 消息通道
MessageChannel
用于接收消息,调用 send 方法可以将消息发送至该消息通道中 :1
2
3
4
5
6
7
8@FunctionalInterface
public interface MessageChannel {
long INDEFINITE_TIMEOUT = -1;
default boolean send(Message<?> message) {
return send(message, INDEFINITE_TIMEOUT);
}
boolean send(Message<?> message, long timeout);
}
Sentine默认slot说明
sentinel是通过slot来实现限流降级等功能,所以slot是sentinel的核心
sentinel使用com.alibaba.csp.sentinel.slotchain.SlotChainBuilder
去构建slot的调用链
默认是使用com.alibaba.csp.sentinel.slots.DefaultSlotChainBuilder
在com.alibaba.csp.sentinel.slotchain.SlotChainProvider
中使用serviceLoader去加载slotChianBulder
的实现.有自定义实现就使用自定义实现,没有就使用默认的DefaultSlotChainBuilder