摘要:
课程知识体系目录 Java知识 面试高频 集合相关知识 数据库相关知识 JVM相关知识 Java基础 基本类型与对象 类型转换与基本类型包装类 数组与集合 原码、反码和补码 编码与字符集 运算符 面向对象特性 this的引用与类变量 错误与异常 final/finally/finalize 序列化 阅读全文
摘要:
【IT老齐075】高可用架构避免单点经典方案Keepalived+VIP 规避单点是高可用架构设置最基本的考量 概念 Keepalived Keepalived是Linux轻量级别的高可用解决方案 Keepalived主要是通过虚拟路由几余 (VRRP) 来实现高可用功能,Keepalived部署和 阅读全文
摘要:
【IT老齐074】海量数据大页码MySQL查询 场景 分页最后数据查询慢,添加索引,索引失效 SELECT * FROM blog_browse_history ORDER BY create_time LIMIT 500000, 10; 查询优化 利用索引覆盖特性查找第50000页的起始时间,基于 阅读全文
摘要:
【IT老齐072】全文检索执行原理 全文检索引擎就是对非结构化文本进行解析、搜索的技术 非结构化文本的处理关键在于分词与倒排索引 分词 分词是指将一段文本中有用的词汇提取出来 常见的中文分词算法 Ngram穷举 n=2 语法分析+字典: 按中文动名词分析推测外加分词字典维护 爬虫+大数据+AI分析: 阅读全文
摘要:
【IT老齐072】全文检索执行原理 https://lamport.azurewebsites.net/pubs/lamport-paxos.pdf Paxos算法是Lamport宗师提出的一种基于消息传递的分布式一致性算法,使其获得2013年图灵奖。 在Zookeeper中,通过Paxos算法选举 阅读全文
摘要:
【IT老齐070】@Transactional注意 场景 原因 经过对比排查,在支付数据原始数据报文中,由于X行上报数据中的存在备选日期 (字符串类型)字段,上报后包含隐藏字符,导致生成任务时无法按预期解析,抛出ParseException导致批处理流程中断 @Transactional注解的特性是 阅读全文
摘要:
【IT老齐069】日志收集架构 标准ELK 优点:部署最简单组件使用最少 缺点:由于 Logstash 同时兼顾了收集和解析的工作所以比较耗 CPU 和 内存资源,只适合服务器资源丰富的场景,否则容易容易造成性能下降甚至影响应用本身的正常工作 TCP推送 优点:对比架构一各个应用服务器不需要额外部署 阅读全文
摘要:
【IT老齐068】高并发电商缓存访问倾斜 热点数据特征 短时访问超高 数据总量相对较少 接口方案 热门数据分片 区分热点数据 美团:默认大促时参与活动的商品 京东:用户行为分析与大数据评估 缓存前置 + 闪电缓存 阅读全文
摘要:
【IT老齐065】分布式流控神器Alibaba Sentinel 在Spring Cloud Alibaba生态中有一个重要的流控组件Sentinel,Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。 http://sentinelguard.io/z 阅读全文
摘要:
【IT老齐064】微服务架构作用 单体架构 问题 微服务 所谓微服务架构风格是一种将单个应用程序开发为一组小型服务的方法,每个小服务运行在自己的进程中,并以轻量级的机制(通常是HTTP RESTful AP)的方式进行通信。这些服务围绕着业务能力所建立的,并且可以由完全自动化的部署机构独立部署,这些 阅读全文
摘要:
【IT老齐063】秒杀场景下解决商品库存超卖问题 超卖问题 核心问题 秒杀商品库存总量固定 先到先得,瞬间并发极大,但写库量有限 解决方案 利用预减库存方式杜绝超卖 利用Nginx+Lua在网关层面将无效请求阻挡 利用MQ消息队列的限流特性保证MySQL不会被瞬间击垮 APP需要额外设计轮询机制查询 阅读全文