分布式服务框架原理(2)
分布式服务框架基础服务
通信框架
长连接还是短连接
相比于短连接,长连接更节省资源:如果每发送一条消息就要创建链路、发起握手认证、关闭链路释放资源,会损耗大量的系统资源。长连接只在首次创建时或者链路断连重连才创建链路,链路创建成功之后服务提供者和消费者会通过业务消息和心跳维系链路,实现多消息复用同一个链路节省资源。
java并发之Fork/Join框架
Fork/Join框架是Java 7提供的一个用于并行执行任务的框架,是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。
什么是Fork/Join
源码分析
使用示例
参考
分布式服务框架原理(1)
分布式服务框架不仅仅是RPC框架的调用,还涉及其他的基础设施来支持分布式管理,服务自动发现和服务治理等。之前研究了Dubbo的原理和机制,再回头看李林峰大神对分布式服务框架原理与实践的分析,顿时豁然开朗,之后我会根据《分布式服务框架原理与实践》这本书以及自己的见解,持续更新分布式服务框架的博客。
分布式服务框架总体设计
架构特性
微服务架构之Dubbo线程池模型
对于Dubbo的服务提供者,主要有两种线程池,一种是IO处理线程池,另一种是服务调用线程池。本篇主要对Dubbo线程池模型做一下分析。
Zookeeper的原理(5)
本章开始讲解Zookeeper重要的技术实现,前面两篇Zookeeper的原理(3)和Zookeeper的原理(4)分别讲解了客户端和服务端的设计原理,这一篇我们来聊聊Zookeeper的内存与存储以及运维的问题。
内存与存储
ZKDatabase是ZooKeeper的内存数据库,负责管理ZooKeeper的所有会话、DataTree存储和事务日志。ZKDatabase会定时向磁盘dump快照数据,同时在ZooKeeper服务器启动的时候,会通过磁盘上的事务日志(在dataLogDir配置路径下的version-2的子目录中)和快照数据文件恢复成一个完整的内存数据库。