一次批小学语文卷,要求用"有……有……还有……"造句。一学生是这样写的:昨天去奶奶家,奶奶给我拿个鸡腿,我都吃完了问奶奶还有吗,奶奶答:“有,有,还有!”
淘宝:https://s.taobao.com/search?q=%E5%88%86%E5%B8%83%E5%BC%8F%E5%BE%AE%E6%9C%8D%E5%8A%A1%EF%BC%9A%E5%8E%9F%E7%90%86%E4%B8%8E%E5%AE%9E%E6%88%98&imgfile=&js=1&stats_click=search_radio_all%3A1&initiative_id=staobaoz_20191031&ie=utf8
资料目录: 第1章 从架构演进启程 1 1.1 水平分层架构 1 1.1.1 概述 1 1.1.2 MVC架构/水平分层架构 2 1.2 SOA服务化架构 4 1.2.1 SOA概述 5 1.2.2 SOA的特征 5 1.2.3 SOA面临的问题 5 1.3 分布式微服务架构 5 1.3.1 微服务概述 5 1.3.2 SOA与微服务 6 1.3.3 微服务架构的特点 6 1.3.4 微服务架构的缺点 7 1.3.5 微服务架构全景图 7 1.3.6 微服务类型 9 1.3.7 微服务拆分原则与步骤 9 第2章 微服务开发框架 11 2.1 环境准备 11 2.1.1 安装JDK 11 2.1.2 安装 Intellij IDEA 14 2.1.3 安装 Apache Maven 14 2.2 一分钟快速搭建Spring Boot项目 15 2.2.1 使用Spring Initializr新建项目 15 2.2.2 测试 18 2.3 Spring Boot简单介绍 18 2.3.1 Spring Boot核心功能及特性 19 2.3.2 Spring Boot的缺点 20 2.4 Spring Boot目录介绍 20 2.4.1 Spring Boot工程目录 20 2.4.2 Spring Boot入口类 21 2.4.3 Spring Boot测试类 22 2.4.4 pom文件 23 2.5 Spring Boot生产级特性 24 2.5.1 应用监控 24 2.5.2 健康检查 28 2.5.3 跨域访问 29 2.5.4 外部配置 30 第3章 分布式RPC框架 31 3.1 RPC框架概述 31 3.1.1 定义 31 3.1.2 RPC核心组件 31 3.1.3 RPC调用过程 32 3.1.4 RPC框架调用分类 33 3.1.5 RPC框架性能 35 3.1.6 RPC框架与分布式服务框架 35 3.2 RPC框架 36 3.2.1 RMI远程方法调用 36 3.2.2 Thrift 37 3.2.3 Hessian 38 3.2.4 Avro-RPC 38 3.2.5 gRPC 38 3.2.6 其他RPC框架 39 第4章 序列化与反序列化 40 4.1 序列化与反序列化 40 4.1.1 序列化/反序列化概念 40 4.1.2 序列化/反序列化特性 41 4.2 常用序列化框架 41 4.2.1 Java默认序列化 41 4.2.2 XML序列化框架 46 4.2.3 JSON序列化框架 48 4.2.4 ProtoBuf序列化框架 50 第5章 微服务底层通信与协议 54 5.1 Java网络通信 54 5.1.1 传统BIO编程 54 5.1.2 伪异步I/O编程 60 5.1.3 NIO编程 62 5.2 Netty框架 78 5.2.1 Netty概述 78 5.2.2 第一个Netty应用程序 78 5.2.3 Netty架构设计 84 5.3 分布式服务框架协议 89 5.3.1 主流公有协议 89 5.3.2 私有协议设计 90 第6章 服务路由与负载均衡 94 6.1 服务路由概述 94 6.1.1 定义 94 6.1.2 服务信息存放方式 94 6.2 服务路由概述 95 6.2.1 定义 95 6.2.2 负载均衡的实现 95 6.2.3 负载均衡算法 98 第7章 微服务注册中心 103 7.1 微服务注册中心 103 7.1.1 注册中心几个概念 103 7.1.2 注册中心 104 7.2 ZooKeeper实现服务注册中心 104 7.2.1 ZooKeeper概述 104 7.2.2 ZooKeeper的原理 105 7.2.3 ZooKeeper的安装 106 7.2.4 ZooKeeper搭建集群环境 109 7.2.5 ZooKeeper集群总体架构 110 7.2.6 命令行客户端zkCli.sh 112 7.2.7 ZkClient连接ZooKeeper 116 7.2.8 ZooKeeper实现服务注册与发现 120 第8章 微服务框架服务调用与容错 122 8.1 服务调用概述 122 8.2 服务调用方式 123 8.2.1 同步服务调用 123 8.2.2 异步服务调用 125 8.2.3 并行服务调用 130 8.2.4 泛化调用 132
第9章 分布式微服务封装与部署 133 9.1 微服务封装技术 133 9.1.1 Docker概述 133 9.1.2 Docker的基本概念 135 9.1.3 Docker架构 135 9.1.4 Docker的安装 137 9.1.5 Docker的常用命令 138 9.1.6 制作镜像 142 9.1.7 使用Dockerfile构建镜像 144 9.1.8 Spring Boot集成Docker 147 9.2 微服务部署概述 150 9.2.1 蓝绿部署 150 9.2.2 滚动发布 152 9.2.3 灰度发布/金丝雀部署 154 第10章 分布式服务限流 155 10.1 服务限流概述 155 10.1.1 限流定义 155 10.1.2 限流算法 155 10.2 限流设计 157 10.2.1 限流设计 157 10.2.2 分级限流 158 第11章 服务降级、熔断、调度 159 11.1 服务降级概述 159 11.2 服务降级方式 159 11.2.1 服务降级开关 159 11.2.2 自动降级 160 11.2.3 读服务降级 161 11.2.4 写服务降级 161 11.3 服务容错策略 161 11.3.1 失败转移(Failover) 162 11.3.2 失败自动恢复(Failback) 162 11.3.3 快速失败(Failfast) 162 11.3.4 失败缓存(FailCache) 162 11.4 Hystrix降级、熔断 162 11.4.1 Hystrix简介 162 11.4.2 Hystrix实现降级/熔断 164 11.5 服务优先级设计 165 11.5.1 服务实例数量调整 165 11.5.2 加权优先级队列 166 11.5.3 线程调度器 167 第12章 服务版本与服务发布 168 12.1 概述 168 12.2 服务版本概述 168 12.2.1 概述 168 12.2.2 Snapshot和Release 169 12.3 服务发布 169 12.3.1 概述 169 12.3.2 服务发布方式 170 第13章 分布式微服务日志中心 173 13.1 分布式日志概述 173 13.1.1 结构化日志/非结构化日志 173 13.1.2 日志类型 175 13.2 日志框架 175 13.2.1 JDK Logger 175 13.2.2 Apache Commons Logging 177 13.2.3 Log4j/Log4j 2 177 13.2.4 Spring Boot集成Log4j 179 13.2.5 Docker日志框架 181 13.2.6 Linux系统Syslog 183 13.3 搭建日志中心 183 13.3.1 ELK概述 183 13.3.2 Elasticsearch日志存储 184 13.3.3 Logstash日志收集 189 13.3.4 Fluentd日志收集 191 13.3.5 Kibana日志查询 193 13.3.6 ELK架构与Docker整合 194 13.3.7 ELK架构原理 195 第14章 分布式微服务监控 197 14.1 分布式服务架构监控 197 14.1.1 监控的价值 197 14.1.2 监控的完整体系 197 14.1.3 微服务监控类型 198 14.1.4 Spring Boot应用监控 198 14.1.5 Spring Boot Admin监控系统 201 14.2 搭建系统监控中心 206 14.2.1 概述 206 14.2.2 时序数据收集系统:cAdvisor 206 14.2.3 时序数据存储系统:InfluxDB 209 14.2.4 时序数据分析系统:Grafana 212 14.2.5 集成InfluxDB + cAdvisor + Grafana 214 第15章 分布式微服务配置中心 218 15.1 配置中心概述 218 15.1.1 概述 218 15.1.2 配置中心解决问题 218 15.1.3 全局配置 219 15.1.4 配置中心 221 15.2 Spring Cloud Config 223 15.2.1 概述 223 15.2.2 Spring Cloud Config快速入门 224 第16章 分布式微服务存储与解耦 232 16.1 分布式数据库架构 232 16.1.1 分库 232 16.1.2 分表 233 16.1.3 水平切分的方式 233 16.1.4 垂直切分的方式 235 16.1.5 分组 235 16.1.6 Mycat分库分表实战 236 16.1.7 Spring+MyBatis+Mycat快速体验 240 16.2 分布式事务 249 16.2.1 数据库事务 249 16.2.2 分布式事务 249 16.2.3 CAP定理 250 16.2.4 BASE理论 251 16.2.5 两阶段提交(2PC) 252 16.2.6 补偿事务(TCC) 252 16.2.7 后置提交 254 16.2.8 本地消息表(异步确保) 255 16.3 分布式缓存架构 256 16.3.1 Memcache与Redis 256 16.3.2 进程内缓存 257 16.3.3 Redis单节点安装 259 16.3.4 Redis持久化策略 260 16.3.5 Redis主从复制模式 263 16.3.6 Redis哨兵模式 266 16.3.7 Redis哨兵模式安装部署 271 16.3.8 Redis集群模式 277 16.3.9 Redis集群环境搭建 280 16.3.10 Redis缓存穿透和雪崩 288 16.4 微服务解耦 294 16.4.1 服务解耦概述 294 16.4.2 Kafka介绍 295 16.4.3 Kafka安装 299 16.4.4 Kafka搭建集群环境 300 16.4.5 Kafka Manager的安装 301 16.4.6 Kafka常用命令 301 16.4.7 Spring Boot集成Kafka 311 16.5 分布式服务Session 315 16.5.1 Session与Cookie 315 16.5.2 Session一致性问题 315 16.5.3 Session同步 316 第17章 分布式微服务测试 318 17.1 分布式微服务测试 318 17.1.1 概述 318 17.1.2 微服务测试 319 17.2 Spring Boot单元测试 321 17.3 Mockito/PowerMockito测试框架 323 17.3.1 Mockito概述 323 17.3.2 Mockito简单实例 324 17.3.3 PowerMock概述 327 17.3.4 PowerMockito简单实例 327 17.4 H2内存型数据库 330 17.4.1 H2概述 330 17.4.2 Spring Boot集成H2 330 17.5 REST API测试 333 17.5.1 Postman概述 333 17.5.2 Postman简单使用 333 17.6 性能测试 336 17.6.1 ab概述 336 17.6.2 ab测试 336 17.6.3 其他性能测试工具 338 第18章 分布式微服务架构经典案例 341 18.1 微服务架构案例 341 18.1.1 概述 341 18.1.2 微服务架构平台选择 342 18.1.3 微服务接口类型 342 18.1.4 微服务类型 343 18.2 分布式服务框架Dubbo 344 18.2.1 Dubbo概述 344 18.2.2 Dubbo原理 344 18.3 Spring Boot + Spring Cloud解决方案 345 18.3.1 Spring Boot概述 345 18.3.2 Spring Cloud概述 345 18.3.3 微服务、Spring Boot、Spring Cloud的关系 347 18.3.4 Spring Cloud与Dubbo的优劣 348 18.4 Spring Boot + Kubernetes + Docker解决方案 348 18.4.1 Docker概述 348 18.4.2 Kubernetes概述 349 18.4.3 Kubernetes的基本概念 349 18.4.4 Kubernetes的使用 352 18.4.5 Kubernetes的架构 356 18.4.6 Kubernetes集群监控 360 18.4.7 Kubernetes集群日志管理 360 18.4.8 Kubernetes解决方案 360 参考文献 362
来着 纳西姆·尼古拉斯·塔勒布《反脆弱》
唤醒天才的是困难。反脆弱的策略就是记住:意外总会发生。让人上瘾的东西里,害处最大的三种是海洛因、碳水化合物和月薪。人们了解的很多东西其实都不值得去了解。如果有人跟你说“我很忙”,那他要么是在宣称自己的无能(以及对自己的生活的缺乏控制),要么是在试图摆脱你。不管在哪个领域,业余爱好者往往都是最优秀的。这个世界上真正的贵人从来不是别人,而是我们自己。人只要记住一个原则,不管是做什么事,不管是在什么环境中,尽可能做到利人利己,你会发现事情一定会越来越好,你的贵人也会越来越多。与一个无知的人保持距离相当于与一个聪明人为伍。赵国有一户人家被老鼠害苦了,就到中山国去借猫,中山人给了他一只。 这只猫很会捉老鼠,但是也喜欢捉鸡吃。 一个月之后,他家的老鼠被捉干净了,而鸡也被吃光了。 他的儿子认为这只猫是个祸害,对父亲说:“为什么不把它除掉呢?” 父亲说:“我们的祸患在于家里有老鼠,不在于没有鸡。老鼠偷吃粮食,咬烂衣物,钻穿墙壁,啃坏家具,这样下去我们就要挨饿受冻,这比没有鸡更糟!没有鸡,我们只不过不吃鸡肉罢了,离挨饿受冻还远呢!为什么要把猫除掉呢?” 点评:【古人云:“两害相权取其轻,两利相权取其重。”意思是两种利益同时放面前,当然是选择利益较大的那种;两种损害放面前,当然是选择伤害较轻的那种。简单地说,就是权衡利弊,首选利重害轻。】
无
如果有带给你一丝丝小快乐,就让快乐继续传递下去,欢迎鼓励,点赞、顶、欢迎留下宝贵的意见、多谢支持!