tomcat + spring mvc 原理(一):tomcat原理综述和静态架构
tomat + spring mvc 是目前比较流行java微服务体系架构,包括现在的spring boot以及基于spring boot的进一步应用化封装的spring cloud框架,底层都是基于tomcat + spring mvc的框架。因此学习tomcat + spring mvc的基础原理,对于解决使用中出现的问题会有比较大的帮助。tomcat + spring mvc的运作模式&nb
Ceph心跳机制
1. 心跳介绍心跳是用于节点间检测对方是否故障的,以便及时发现故障节点进入相应的故障处理流程。问题:故障检测时间和心跳报文带来的负载之间做权衡。心跳频率太高则过多的心跳报文会影响系统性能。心跳频率过低则会延长发现故障节点的时间,从而影响系统的可用性。故障检测策略应该能够做到:及时:节点发生异常如宕机或网络中断时,集群可以在可接受的时间范围内感知。适当的压力:包括对节点的压力,和对网络的压力。容忍网
MySQL升级WRITE_SET后的一次死锁分析
背景MySQL在推出MGR的时候使用了WRITE_SET, 借用这个思想, MySQL在5.7.22版本引入了基于WRITE_SET的并行复制方案[1]。在原先的主从复制技术中,同一批次的事物能进入事物的prepare阶段说明那批事物没有冲突,所以可以并发执行。我们都知道innodb是基于行锁的数据库,所以如果能够按照行级别的粒度来并发的回放数据会对性能有很大的提高。采用这套方案的性能优点就有很多
BlueStore源码分析之FreelistManager
前言BlueStore直接管理裸设备,需要自行管理空间的分配和释放。Stupid和Bitmap分配器的结果是保存在内存中的,分配结果的持久化是通过FreelistManager来做的。一个block的状态可以为占用和空闲两种状态,持久化时只需要记录一种状态即可,便可以推导出另一种状态,BlueStore记录的是空闲block。主要有两个原因:一是回收空间的时候,方便空闲空间的合并;二是已分配的空间
samba源码安装及调试
1. 安装依赖包以下的依赖包并非全部都要安装,主要还看用户使用需求,例如是使用AD DC还是别的。2. 安装3. 加入系统环境中4. 加入系统库环境中5. 调试6. 加入service服务作者:李航现在注册滴滴云,有机会可得30元无门槛滴滴出行券新购云服务1月5折 3月4.5折 6月低至4折滴滴云使者招募,推荐最高返佣50%
开源软件在地图数据处理中的应用
作为开源软件的受益者,在享受开源带来的技术便利同时,我们也积极拥抱开源,同时也回馈开源。城市交通指数(TTI)作为公司第16个开源项目,通过盖亚计划对外开放了脱敏数据,下载人员分布于127个高校或科研机构,覆盖了70%的双一流高校。在地图数据处理中,能经常看到开源软件的身影,常见的有以下几项:GDAL (Geospatial Data Abstraction Library)GDAL是一个在X/M
BlueStore源码分析之Stupid分配器
前言前面介绍了BlueStore的BitMap分配器,我们知道新版本的Bitmap分配器的优势在于使用连续的内存空间从而尽可能更多的命中CPU Cache以提高分配器性能。在这里我们了解一下基于区间树的Stupid分配器(类似于Linux Buddy内存管理算法),并对比分析一下其优劣。目录伙伴算法数据结构初始化插入删除空间分配空间回收优劣分析伙伴算法Linux内存管理算法为了能够快速响应请求,尽
ceph-immmutable-object-cache
一、简介目前官方提供了ceph-immmutable-object-cache守护进程负责将内容缓存到本地缓存目录上。为了获得更好的性能,建议使用SSD作为底层存储介质。二、IO流程ceph-immmutable-object-cache守护进程启动进行初始化,并且时监听本地域套接字,并等待来自librbd客户端的连接。客户端librbd通过域套接字来连接缓存守护进程, 并且向缓存守护进程进行注册
Teuthology平台部署手册
Teuthology架构自动化测试框架流程大致如下: 软件组成Teuthology 测试框架所使用到的软件组成如下: Jenkins 持续集成工具teuthology Ceph 测试套件shaman 查询提供软件包的 chacra 节点,水平扩展和调度 chacra 节点chacra 提供不同架构二进制包或文件的管理 REST API 接口Teuthology部署部署paddles/p
ceph-pg哈希分析
写文章序言ceph简介Ceph 是一个统一的分布式存储系统,设计初衷是提供较好的性能、可靠性和可扩展性。底层的rados分布式存储是ceph的精华所在,ceph以rados为基础在上层封装了对象、块、文件存储接口。客户端可以通过ceph提供的librados库直连rados集群,待存对象通过计算获取指定机器,然后将数据发送到该机器上存储。因为都是通过计算的方式,所以rados不需要维护一个中心ta
回调和spring的LambdaSafe类
@TOC 在阅读spring boot源码时发现了WebServerFactoryCustomizerBeanPostProcessor类中有 LambdaSafe.callbacks(WebServerFactoryCustomizer.class, getCustomizers(), webServerFactory) .withLogger(WebS
BlueStore源码分析之架构设计
前言Ceph早期的单机对象存储引擎是FileStore,为了维护数据的一致性,写入之前数据会先写Journal,然后再写到文件系统,会有一倍的写放大,而同时现在的文件系统一般都是日志型文件系统(ext系列、xfs),文件系统本身为了数据的一致性,也会写Journal,此时便相当于维护了两份Journal;另外FileStore是针对HDD的,并没有对SSD作优化,随着SSD的普及,针对SSD优化的
浅谈分布式存储之SSD基本原理
前言随着制造工艺的不断进步,SSD(Solid State Drive)性能和容量不断突破,价格不断降低,迎来了快速的发展,目前已经是商用服务器、高性能存储服务中非常流行的存储介质。作为开发人员,需要了解SSD的基本原理,以便开发时能更好地发挥其优势,规避其劣势。本文章基于末尾所列参考文献整理而来。目录SSD简介闪存基础存储原理读写流程GC机制Trim机制Bit-ErrorRead-Disturb
Flink漫谈
Flink是什么?Flink是一个框架,是一个用于有限(bounded)或者无限(unbounded)数据流上进行有状态计算的分布式处理引擎。 处理框架 Flink的软件栈如图一所示,其核心是distributed dataflow engine用于执行数据流处理程序。Flink运行时程序是一个通过有状态的算子连接的数据流的有向无环图(DAG),对上提供有限数据流的DataSet API和
ELK初探
ELK初探
技术人如何在寒冬中迎接2020,从先定一个小目标开始~
过去的2019年,很多人的年度关键词是“我太难了”,“难”字更是当选了人民网盘点的2019年度国际字。在互联网裁员潮的背景下,在程序员中年危机来临前,斜杠青年、第二副业、睡后收入……成为了我们越来越多人的关注,懂得借势而为的IT人,经过深刻分析自己的资源、影响力、行业优势后,已经在2019年通过第二副业——成为滴滴云使者,税后月入5万,在经济寒冬中,为自己加了件小棉袄。
【有福利】1月11日滴滴云技术沙龙免费报名,开始啦!(北京区)
本期活动邀请到了滴滴商业化数据和滴滴云团队的研发负责人与核心工程师,就互联网企业数据体系和数据中台建设方法论及滴滴实践滴滴云的技术路线和架构优势,与参会者分享和讨论。
GRPC连接池的设计与实现
突破 0 和 1 的思维:量子计算介绍
突破 0 和 1 的思维:量子计算介绍1 什么是量子计算?量子计算是一种使用量子逻辑进行通用计算的方法,被普遍认为是一种更新型的计算机技术。 在传统计算机中,信息量的基本单位是比特,它只能取 0 或 1 中的一个值。在量子计算机中,信息量的基本单位为量子比特或量子位。通过量子力学现象,这些量子位可以同步进行大量计算。理论上,利用量子力学现象,量子计算可以极大地改进信息存储和处理方式,算法比传统计
ES10(ES2019)新特性介绍和代码实例
特性列表 Optional Catch BindingArray.flatArray.flatMapString trimStart, trimEndObject.fromEntriesFunction.prototype.toString()Symbol.prototype.descriptionJSON.supersetJSON.stringify 1. Optional Catch Bi