前言
#种一棵树最好的时间是十年前,其次是现在
很多程序员一开始在学习上找不到方向,但我想在渡过了一段时间的新手期之后这类问题大多都会变得不再那么明显,工作的方向也会逐渐变得清晰起来。
但是没过多久,能了解到的资料就开始超过每天学习的能力,像是买了没看的书、收藏没读的贴、mark 了之后再也没有关注过的文章越积越多,更别提每天面对各种技术分享或者微博里的新鲜玩意了。
大多数人每天能留给自己学习的时间有限,这个阶段如何提升学习效率就成了要解决的重点。
说说自己提升学习效率的心得,其实非常简单:体系化的学习。
我曾经很喜欢看一些博客或者是一些 “看起来” 比较通俗易懂的文章,每天在微博微信里刷到什么技术文章就 mark 下来,基本上几分钟就能读完。可一段时间下来,虽然读了不少东西,但是还是有种在原地打转的状态,并没有感受到有什么实际的提高。
最后实在忍不住,抱着厚书硬啃了一遍,突然有种豁然开朗的感觉:读书时自己学到的是一张完整的知识网络,每个知识点和其它内容相互联系和区别。这种全方位的理解比起一篇篇独立的文章,不知要高到哪里去了。
在重复了几次痛苦的学习-梳理过程后,再去看一些独立的文章或者资料往往会事半功倍,因为能在体系内找到相对应的知识,甚至有时候一本书里一页只需要看一句话,点破那层窗户纸,就可以掌握新的知识。很多程序员一开始在学习上找不到方向,但我想在渡过了一段时间的新手期之后这类问题大多都会变得不再那么明显,工作的方向也会逐渐变得清晰起来。
但是没过多久,能了解到的资料就开始超过每天学习的能力,像是买了没看的书、收藏没读的贴、mark 了之后再也没有关注过的文章越积越多,更别提每天面对各种技术分享或者微博里的新鲜玩意了。
大多数人每天能留给自己学习的时间有限,这个阶段如何提升学习效率就成了要解决的重点。
说说自己提升学习效率的心得,其实非常简单:体系化的学习。
我曾经很喜欢看一些博客或者是一些 “看起来” 比较通俗易懂的文章,每天在微博微信里刷到什么技术文章就 mark 下来,基本上几分钟就能读完。可一段时间下来,虽然读了不少东西,但是还是有种在原地打转的状态,并没有感受到有什么实际的提高。
最后实在忍不住,抱着厚书硬啃了一遍,突然有种豁然开朗的感觉:读书时自己学到的是一张完整的知识网络,每个知识点和其它内容相互联系和区别。这种全方位的理解比起一篇篇独立的文章,不知要高到哪里去了。
在重复了几次痛苦的学习-梳理过程后,再去看一些独立的文章或者资料往往会事半功倍,因为能在体系内找到相对应的知识,甚至有时候一本书里一页只需要看一句话,点破那层窗户纸,就可以掌握新的知识。所以我建议你看文章博客,不能只看一篇,通透的、连续的学习,效果才是最佳的。
微服务,作目前最为流行的架构技术,相信作为开发人员多少都有些了解,因为采用微服务构建系统会带来更为清晰的业务划分和可扩展性。对于微服务,阿里肯定有话要说,现在阿里第二代微服务Spring Cloud Alibaba成为主流,但要完全掌握Alibaba微服务,Spring Cloud是前提,所以学习好Spring Cloud很有必要。
今天分享的,则是阿里首席官珍藏数年的SpringCloud精通日记,十余年的开发血汗全记录在里面了,希望能够帮助到你,带你掌握SpringCloud微服务!
开篇:微服务架构和Spring Cloud 项目基础知识
1.初识微服务
- 微服务的优点
- 使用Spring Framework构建微服务
- 云原生应用程序的开发方法
- 了解微服务架构
2.使用微服务的Spring
- 关于Spring Boot
- 使用 Spring Boot开发应用程序
- API文档
- Spring Boot执行器功能
- 开发者工具
- 将应用程序与数据库集成
- 运行应用程序
3.Spring Cloud概述
- 从基础开始
- 发现和分布式配置
- 使用Sleuth进行分布式跟踪
- 消息传递和集成
- 云平台支持
- 其他有用的库
- 项目概述
- 版本列车
主体:微服务架构常见元素和Spring Cloud 实现
1.服务发现
- 在服务器端运行Eureka
- 在客户端启用Eureka
- 高级配置设置
- 启用客户端和服务器之间的安全通信
- Eureka API
- 副本和高可用性
- 区域
2.使用Spring Cloud Config进行分布式布置
- HTTP API资源简介
- 构建服务器端应用程序
- 构建客户端应用程序
- 客户端引导方法
- 存储库后端类型
- 其他功能
- 自动重新加载配置
3.微服务之间的通信
- 不同类型的通信
- 使用Spring Cloud进行同步通信
- 使用Ribbon执行负载均衡
- 将RestTemplate与服务发现结合使用
- 使用Feign客户端
4.高级负载均衡和断路器
- 负载均衡规则
- 自定义Ribbon客户端
- 带Hystrix的断路器模式
- 监控延时和容错
- 鼓掌和带有Feign的断路器模式
5.使用API网关进行路由和过滤
- 使用Spring Cloud Netflix Zuul
- 使用Spring Cloud Gateway
6.分布式日志记录和跟踪
- 微服务的最佳日志记录实践
- 使用Spring Boot记录日志
- 使用ELK Stack集中日志
- Spring Cloud Sleuth
7.其他配置和发现功能
- 使用Spring Cloud Consul
- 使用Spring Cloud Zookeeper
8.消息驱动的微服务
- 了解Spring Cloud Stream
- 构建消息传递系统
- 发布/订阅模型
- 配置选项
- 高级编程模型
- 使用Apache Kafka
- 多个绑定器
9.保护API的安全
- 为Spring Boot启用HTTPS
- 保证发现服务器的安全
- 保证配置服务器的安全
- 使用OAuth2进行授权
10.测试Java微服务
- 测试策略
- 测试Spring Boot应用程序
- 单元测试
- 组件测试
- 集成测试
- 契约测试
- 性能测试
核心:Docker支持和Spring Cloud平台
1.Docker支持
- 认识Docker及安装Docker
- 常用的Docker命令
- 创建具有微服务的Docker镜像
- 持续交付
- 使用Kubernetes
2.云平台上的Spring微服务
- Pivotal Cloud Foundry
- Heroku平台
结尾
学习和实践微服务的过程,就好像一次打怪升级,一旦我们理解了微服务技术的核心逻辑,掌握了其思想要领,那么就可以帮助你站在系统的角度思考技术,更是让你成为一名优秀架构师的关键。
所以,此刻学习好微服务,刻不容缓。