- 博客(9)
- 收藏
- 关注
原创 Spring Boot(3)EnableAutoConfiguration和EnableFeignClients实现
通过ImportSelector和@Import实现以下以EnableAutoConfiguration为例说明各类Enable实现过程ImportSelector说明org.springframework.context.annotation.ImportSelector用于定义哪些被@Configuration 注解的类应该被导入。public interface ImportSele...
2020-04-27 14:04:22 633
原创 Spring Boot(2) 注解解析
@AliasFor@AliasFor注解用于声明注解属性的别名显性注解内别名表示注解中的两个属性相互互为别名public @interface ContextConfiguration { @AliasFor("locations") String[] value() default {}; @AliasFor("value") ...
2020-04-27 14:03:00 325
原创 Spring Boot(1) 启动分析
参考文档:https://docs.spring.io/spring-boot/docs/2.2.6.RELEASE/reference/html/appendix-executable-jar-format.html#executable-jar《Spring Boot编程思想(核心篇)》Spring Boot可执行Jar结构普通项目可执行Jar结构如下:example.jar...
2020-04-27 14:00:56 229
翻译 Kafka设计(9)配额
参考文档: http://kafka.apache.org/documentation/#design配额kafka集群能够限制请求的配置以控制客户端使用的broker资源。Kafka broker为共享配额的每个客户端组提供两类客户端配置:网络带宽配额定义了字节速率阈值(从0.9开始)请求速率配额定义CPU使用率阈值(网络和IO线程的使用率百分比)(从0.11开始)为什么需要配...
2020-04-02 16:59:02 270
翻译 Kafka设计(8)日志压缩
参考文档: http://kafka.apache.org/documentation/#design日志压缩日志压缩确保Kafka总是保留一个主题分区的日志数据中每个消息key的至少最后一个已知值。它解决了一些用例和场景,例如:应用崩溃或系统错误后还原状态,在维护操作时重启应用后重新加载缓存。让我们更详细深入这些用例并描述压缩如何工作。到目前为止,我们只描述了数据持久的简单方法(老数据...
2020-04-02 16:58:48 395
翻译 Kafka设计(7)复制
参考文档: http://kafka.apache.org/documentation/#design复制Kafka跨越指定配置数量服务器(可以设置这个复制因子在)复制每个主题分期的日志。这提供了自动故障转移功能,当集群中一个服务器宕机时消息依旧可用。其他消息系统提供了复制相关的功能,但在我们看来(完全有偏见),此功能像是附加功能,没有被大量使用,并有很大的缺点:副本处于非活动状态,吞吐...
2020-04-02 16:58:30 336
翻译 Kafka设计(6)消息传递语义
参考文档: http://kafka.apache.org/documentation/#design消息传递语义现在我们了解了一点消费者和生产者如何工作,让我们来讨论下消费者和生产者间的语义保证(semantic guarantees)。很明显有多种可能的消息传递担保形式:最多一次:消息可能会丢失但不会被多次传递至少一次:消息不会丢失但可能会重新传递精确一次:这是人们真正想要的,...
2020-04-02 16:58:13 471
翻译 Kafka设计(5)消费者
参考文档: http://kafka.apache.org/documentation/#design消费者Kafka消费者通过向期望消费的分区leader发送“fetch”请求来进行工作。消费者在每个请求中指定日志偏移量并接收到日志偏移量后的数据块。消费者由此可以显式控制日志位置并在需要时倒回去重复消费数据。推送vs.拉取我们考虑的最初问题是消费者应该从kafka拉取数据还是kafk...
2020-04-02 16:57:57 374
翻译 Kafka设计(4)生产者
参考文档: http://kafka.apache.org/documentation/#design生产者负载均衡生产者无需任何路由层接入直接发送数据到日志分区leader节点上。所有的Kafka节点都可以应答服务器存活状态和查询topic中各个分区的leader,以便在任何时间生产者都可以正确的直接发送请求。生产者指定消息发送到哪个分区。可以随机分配分区,采用各种随机负载均衡实现。...
2020-04-02 16:53:47 104
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人