自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2)
  • 资源 (2)
  • 收藏
  • 关注

转载 java日志体系理解与使用

转载自:https://my.oschina.net/haoran100/blog/779232 0.总体介绍 日志体系由三部分组成 日志门面接口 一系列绑定和桥接 具体的日志实现 所在的位置,如下图所示: 1.日志实现框架 log4j 最广泛应用的日志框架,成为事实上的标准 jul(java.util.logging) jdk1.4加入,为了对抗log4j,效率灵活性较差使用...

2019-10-25 18:24:05 86

原创 ThreadPoolExecutor的使用

在日常开发过程中,为了提高应用的处理性能,充分利用计算机的硬件资源,我们经常会使用到多线程。通常情况下,来一个任务就新建一个线程去处理,这种方式简单直接,但存在一些问题: 线程的创建和销毁需要一定成本,频繁的创建销毁会造成额外的系统开销 线程数量不可控,因为线程数和任务数挂钩,当大量任务蜂拥而至就会创建大量线程,很可能导致系统内存溢出 线程的执行本身是基于时...

2019-09-08 17:25:29 478

大型网站技术架构核心原理与案例分析(高清有目录)

第1篇 概述 1 大型网站架构演化 2 1.1 大型网站软件系统的特点 3 1.2 大型网站架构演化发展历程 4 1.2.1 初始阶段的网站架构 4 1.2.2 应用服务和数据服务分离 4 1.2.3 使用缓存改善网站性能 5 1.2.4 使用应用服务器集群改善网站的并发处理能力 6 1.2.5 数据库读写分离 7 1.2.6 使用反向代理和CDN加速网站响应 8 1.2.7 使用分布式文件系统和分布式数据库系统 9 1.2.8 使用NoSQL和搜索引擎 10 1.2.9 业务拆分 11 1.2.10 分布式服务 11 1.3 大型网站架构演化的价值观 13 1.3.1 大型网站架构技术的核心价值是随网站所需灵活应对 13 1.3.2 驱动大型网站技术发展的主要力量是网站的业务发展 13 1.4 网站架构设计误区 14 1.4.1 一味追随大公司的解决方案 14 1.4.2 为了技术而技术 14 1.4.3 企图用技术解决所有问题 14 1.5 小结 15 2 大型网站架构模式 16 2.1 网站架构模式 16 2.1.1 分层 17 2.1.2 分割 18 2.1.3 分布式 18 2.1.4 集群 19 2.1.5 缓存 20 2.1.6 异步 20 2.1.7 冗余 21 2.1.8 自动化 22 2.1.9 安全 23 2.2 架构模式在新浪微博的应用 23 2.3 小结 25 3 大型网站核心架构要素 26 3.1 性能 27 3.2 可用性 28 3.3 伸缩性 29 3.4 扩展性 30 3.5 安全性 30 3.6 小结 31 第2篇 架构 4 瞬时响应:网站的高性能架构 34 4.1 网站性能测试 35 4.1.1 不同视角下的网站性能 35 4.1.2 性能测试指标 36 4.1.3 性能测试方法 39 4.1.4 性能测试报告 41 4.1.5 性能优化策略 41 4.2 Web前端性能优化 42 4.2.1 浏览器访问优化 42 4.2.2 CDN加速 43 4.2.3 反向代理 44 4.3 应用服务器性能优化 45 4.3.1 分布式缓存 45 4.3.2 异步操作 52 4.3.3 使用集群 53 4.3.4 代码优化 54 4.4 存储性能优化 58 4.4.1 机械硬盘vs. 固态硬盘 58 4.4.2 B+树vs. LSM树 59 4.4.3 RAID vs. HDFS 61 4.5 小结 64 5 万无一失:网站的高可用架构 66 5.1 网站可用性的度量与考核 67 5.1.1 网站可用性度量 67 5.1.2 网站可用性考核 67 5.2 高可用的网站架构 69 5.3 高可用的应用 71 5.3.1 通过负载均衡进行无状态服务的失效转移 72 5.3.2 应用服务器集群的Session管理 73 5.4 高可用的服务 76 5.5 高可用的数据 78 5.5.1 CAP原理 79 5.5.2 数据备份 82 5.5.3 失效转移 84 5.6 高可用网站的软件质量保证 85 5.6.1 网站发布 85 5.6.2 自动化测试 86 5.6.3 预发布验证 87 5.6.4 代码控制 88 5.6.5 自动化发布 90 5.6.6 灰度发布 91 5.7 网站运行监控 91 5.7.1 监控数据采集 92 5.7.2 监控管理 93 5.8 小结 94 6 永无止境:网站的伸缩性架构 95 6.1 网站架构的伸缩性设计 97 6.1.1 不同功能进行物理分离实现伸缩 97 6.1.2 单一功能通过集群规模实现伸缩 98 6.2 应用服务器集群的伸缩性设计 99 6.2.1 HTTP重定向负载均衡 100 6.2.2 DNS域名解析负载均衡 101 6.2.3 反向代理负载均衡 102 6.2.4 IP负载均衡 103 6.2.5 数据链路层负载均衡 104 6.2.6 负载均衡算法 105 6.3 分布式缓存集群的伸缩性设计 106 6.3.1 Memcached分布式缓存集群的访问模型 107 6.3.2 Memcached分布式缓存集群的伸缩性挑战 107 6.3.3 分布式缓存的一致性Hash算法 109 6.4 数据存储服务器集群的伸缩性设计 112 6.4.1 关系数据库集群的伸缩性设计 113 6.4.2 NoSQL数据库的伸缩性设计 117 6.5 小结 119 7 随需应变:网站的可扩展架构 121 7.1 构建可扩展的网站架构 122 7.2 利用分布式消息队列降低系统耦合性 123 7.2.1 事件驱动架构 123 7.2.2 分布式消息队列 124 7.3 利用分布式服务打造可复用的业务平台 126 7.3.1 Web Service与企业级分布式服务 128 7.3.2 大型网站分布式服务的需求与特点 129 7.3.3 分布式服务框架设计 130 7.4 可扩展的数据结构 131 7.5 利用开放平台建设网站生态圈 132 7.6 小结 134 8 固若金汤:网站的安全架构 135 8.1 道高一尺魔高一丈的网站应用攻击与防御 136 8.1.1 XSS攻击 136 8.1.2 注入攻击 138 8.1.3 CSRF攻击 139 8.1.4 其他攻击和漏洞 140 8.1.5 Web应用防火墙 141 8.1.6 网站安全漏洞扫描 142 8.2 信息加密技术及密钥安全管理 142 8.2.1 单向散列加密 143 8.2.2 对称加密 144 8.2.3 非对称加密 144 8.2.4 密钥安全管理 145 8.3 信息过滤与反垃圾 146 8.3.1 文本匹配 147 8.3.2 分类算法 148 8.3.3 黑名单 149 8.4 电子商务风险控制 150 8.4.1 风险 151 8.4.2 风控 151 8.5 小结 153 第3篇 案例 9 淘宝网的架构演化案例分析 156 9.1 淘宝网的业务发展历程 157 9.2 淘宝网技术架构演化 158 9.3 小结 162 10 维基百科的高性能架构设计分析 163 10.1 Wikipedia网站整体架构 163 10.2 Wikipedia性能优化策略 165 10.2.1 Wikipedia前端性能优化 165 10.2.2 Wikipedia服务端性能优化 166 10.2.3 Wikipedia后端性能优化 167 11 海量分布式存储系统Doris的高可用架构设计分析 169 11.1 分布式存储系统的高可用架构 170 11.2 不同故障情况下的高可用解决方案 171 11.2.1 分布式存储系统的故障分类 172 11.2.2 正常情况下系统访问结构 172 11.2.3 瞬时故障的高可用解决方案 173 11.2.4 临时故障的高可用解决方案 174 11.2.5 永久故障的高可用解决方案 175 12 网购秒杀系统架构设计案例分析 176 12.1 秒杀活动的技术挑战 177 12.2 秒杀系统的应对策略 177 12.3 秒杀系统架构设计 178 12.4 小结 182 13 大型网站典型故障案例分析 183 13.1 写日志也会引发故障 184 13.2 高并发访问数据库引发的故障 184 13.3 高并发情况下锁引发的故障 185 13.4 缓存引发的故障 185 13.5 应用启动不同步引发的故障 186 13.6 大文件读写独占磁盘引发的故障 186 13.7 滥用生产环境引发的故障 187 13.8 不规范的流程引发的故障 187 13.9 不好的编程习惯引发的故障 188 13.10 小结 188 第4篇 架构师 14 架构师领导艺术 190 14.1 关注人而不是产品 191 14.2 发掘人的优秀 191 14.3 共享美好蓝图 192 14.4 共同参与架构 193 14.5 学会妥协 194 14.6 成就他人 194 15 网站架构师职场攻略 196 15.1 发现问题,寻找突破 197 15.2 提出问题,寻求支持 199 15.3 解决问题,达成绩效 201 16 漫话网站架构师 203 16.1 按作用划分架构师 203 16.2 按效果划分架构师 204 16.3 按职责角色划分架构师 205 16.4 按关注层次划分架构师 205 16.5 按口碑划分架构师 206 16.6 非主流方式划分架构师 207

2018-02-05

大型网站系统与JAVA中间件实践---高清完整有目录

第1章 分布式系统介绍  1.1 初识分布式系统   1.1.1 分布式系统的定义   1.1.2 分布式系统的意义  1.2 分布式系统的基础知识   1.2.1 组成计算机的5要素   1.2.2 线程与进程的执行模式   1.2.3 网络通信基础知识   1.2.4 如何把应用从单机扩展到分布式   1.2.5 分布式系统的难点 第2章 大型网站及其架构演进过程  2.1 什么是大型网站  2.2 大型网站的架构演进   2.2.1 用JAVA技术和单机来构建的网站   2.2.2 从一个单机的交易网站说起   2.2.3 单机负载告警,数据库与应用分离   2.2.4 应用服务器负载告警,如何让应用服务器走向集群   2.2.5 数据读压力变大,读写分离吧   2.2.6 弥补关系型数据库的不足,引入分布式存储系统   2.2.7 读写分离后,数据库又遇到瓶颈   2.2.8 数据库问题解决后,应用面对的新挑战   2.2.9 初识消息中间件   2.2.10 总结 第3章 构建JAVA中间件  3.1 JAVA中间件的定义  3.2 构建JAVA中间件的基础知识   3.2.1 跨平台的JAVA运行环境——JVM   3.2.2 垃圾回收与内存堆布局   3.2.3 JAVA并发编程的类、接口和方法   3.2.4 动态代理   3.2.5 反射   3.2.6 网络通信实现选择  3.3 分布式系统中的JAVA中间件 第4章 服务框架  4.1 网站功能持续丰富后的困境与应对  4.2 服务框架的设计与实现   4.2.1 应用从集中式走向分布式所遇到的问题   4.2.2 透过示例看服务框架原型   4.2.3 服务调用端的设计与实现   4.2.4 服务提供端的设计与实现   4.2.5 服务升级  4.3 实战中的优化  4.4 为服务化护航的服务治理  4.5 服务框架与ESB的对比  4.6 总结 第5章 数据访问层  5.1 数据库从单机到分布式的挑战和应对   5.1.1 从应用使用单机数据库开始   5.1.2 数据库垂直/水平拆分的困难   5.1.3 单机变为多机后,事务如何处理   5.1.4 多机的SEQUENCE问题与处理   5.1.5 应对多机的数据查询  5.2 数据访问层的设计与实现   5.2.1 如何对外提供数据访问层的功能   5.2.2 按照数据层流程的顺序看数据层设计   5.2.3 独立部署的数据访问层实现方式   5.2.4 读写分离的挑战和应对  5.3 总结 第6章 消息中间件  6.1 消息中间件的价值   6.1.1 消息中间件的定义   6.1.2 透过示例看消息中间件对应用的解耦  6.2 互联网时代的消息中间件   6.2.1 如何解决消息发送一致性   6.2.2 如何解决消息中间件与使用者的强依赖问题   6.2.3 消息模型对消息接收的影响   6.2.4 消息订阅者订阅消息的方式   6.2.5 保证消息可靠性的做法   6.2.6 订阅者视角的消息重复的产生和应对   6.2.7 消息投递的其他属性支持   6.2.8 保证顺序的消息队列的设计   6.2.9 PUSH和PULL方式的对比 第7章 软负载中心与集中配置管理  7.1 初识软负载中心  7.2 软负载中心的结构  7.3 内容聚合功能的设计  7.4 解决服务上下线的感知  7.5 软负载中心的数据分发的特点和设计   7.5.1 数据分发与消息订阅的区别   7.5.2 提升数据分发性能需要注意的问题  7.6 针对服务化的特性支持   7.6.1 软负载数据分组   7.6.2 提供自动感知以外的上下线开关   7.6.3 维护管理路由规则  7.7 从单机到集群   7.7.1 数据统一管理方案   7.7.2 数据对等管理方案  7.8 集中配置管理中心   7.8.1 客户端实现和容灾策略   7.8.2 服务端实现和容灾策略   7.8.3 数据库策略 第8章 构建大型网站的其他要素  8.1 加速静态内容访问速度的CDN  8.2 大型网站的存储支持   8.2.1 分布式文件系统   8.2.2 NOSQL   8.2.3 缓存系统  8.3 搜索系统   8.3.1 爬虫问题   8.3.2 倒排索引   8.3.3 查询预处理   8.3.4 相关度计算  8.4 数据计算支撑  8.5 发布系统  8.6 应用监控系统  8.7 依赖管理系统  8.8 多机房问题分析  8.9 系统容量规划  8.10 内部私有云

2018-02-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除