摘要:
主要类以及功能分析: dalclientfactory: 缓存dalconfigure,是初始化入口类 dalconfigloader(ctripdalconfig) 加载dal主配置文件,优先从本地加载,本地没有从qconfig加载 dalconfigurefactory 通过dal主配置,加载其 阅读全文
摘要:
remote root:定义基本网络通信模型: endpoint为一个网络节点 channel为一条通信链路,区分本地和远端。只有发送到通道的操作。 channelhandler定义channel变化时的处理器,比如通道有数据发送、数据接受、连接通道、断开连接通道时做什么处理 dispatcher负 阅读全文
摘要:
场景1: 项目中使用自增主键和replace info来生成分布式唯一键。 反馈说生成的唯一键重复,排查下来是因为表的auto_increment有被修改为一个比当前值要小的值,所以导致后面replace into时获取的值是之前已经生成过的。 场景2: repalce into 和 auto_in 阅读全文
摘要:
如何选型消息队列,需要从以下三个方面考虑: 1. 如何做负载均衡? 负载均衡直接影响系统的吞吐和横向扩展能力 2. 如何达到低延迟? 低延迟也是决定吞吐的一方面,另外对于低延迟的消息中间件对业务系统更友好 3. 如何做故障恢复? 运维成本是选型需要注意的一点,需要24小时值守的消息中间件运维起来也是 阅读全文
摘要:
并发数表示同时请求的用户/线程数。 QPS表示每秒执行的请求数。 例如在预估秒杀系统需要支持的QPS时: 并发数表示可能参与秒杀的线程数(约等于用户数,但是也要考虑是否有爬虫流量)。 要求秒杀接口响应时间在50ms内。 QPS = 并发数 * (50 / 1000) 所以 QPS是通过并发数和接口平 阅读全文
摘要:
技术?管理? 业务开发?底层开发?开发方向?运维?网站架构?架构师? Java专家? 精通?业务系统建模&架构? 熟悉? 阅读全文
摘要:
既有认知:分区是以柱面为单位。因为磁盘的第1扇区被mbr占用,所以mbr所属的柱面不能被分区使用。所以分区应该从第二柱面开始。 但是从fdisk的表现来看,并不是这样的。假如磁盘磁头数为16,柱面数为162。第二个柱面起始扇区应该是 162 * 16 = 1008。但是fdisk在dos兼容模式下起 阅读全文
摘要:
由于要在打印字符函数前后加上cli和sti关闭/打开中断以保证打印不会错乱。结果发现执行完sti指令以后后面一个正常的mov指令都直接报错,通过打开bochs的show dbg-all参数执行debug,结果显示如下: 通过上面来看是由于GP异常导致执行0008:c0001515这条指令报错。GP异 阅读全文
摘要:
如何解决单宿主机多实例部署导致的多宿主机资源分配不均? 设计两种算法来自动均衡多宿主机间的资源: 1. 预留制。算法比较简单,就是找到一个合适的内存充足的宿主机给实例漂移过去(什么叫漂移) 2. 完全平衡制。每台物理宿主机可以容纳的实例有限,可能由于某些实例设置的参数和实际使用不符,导致一些实例空占 阅读全文
摘要:
存储方案: ES: 降低成本、解决ES查询慢、数据延迟、丢失等问题 influxdb: clickhouse: prometheus(TSDB) + VictoriaMetrics 展示方案: hickwall + grafana 阅读全文