本人18年毕业于长沙某大专,实习期间进入一家和学校合作的互联网公司,一直在公司干着千篇一律的CRUD,生活看不到希望,感觉一直在这里CRUD没有希望,所以在春节回来后就离职了,一直在家中学习。和一些大佬在VX群里交流学习的过程中,无意中从一位腾讯云大佬手中拿到了这份由腾讯云大佬亲码的“Java微服务”学习笔记!

 

作为这个时代码代码的秃头人员,对微服务肯定是不陌生的,如果连微服务都没用过,还真不好意思出去面试,指不定被面试官吊打多少次。

毕竟现在互联网公司和一些创业公司都要用到微服务,像亚马逊、谷歌、阿里、腾讯都要使用,可见精通微服务使用真的很有必要。

所以,今天则分享出腾讯云大神亲自码出的“Java微服务”学习笔记,笔记内容没有讲一句废话,全篇看下来都是精华!

这份笔记帮助你构建供企业使用的微服务架构实现。从核心概念和框架开始介绍,然后着重讲述大型软件项目的高层次设计,逐渐进入开发环境的设置和前期配置,对微服务架构进行持续集成的部署。然后使用Spring Security实现微服务的安全性,利用REST Java客户端和其他工具有效地执行测试。最后,展示了微服务设计的最佳做法和一般原则,以及如何检测和调试开发过程出现的问题。

受众群体:熟悉微服务架构的Java开发人员,并对微服务的核心要素和应用程序有合理的知识水平和理解,现在想要深入了解如何有效地实施企业级微服务。

由于整个笔记比较全面,内容相当的多 ,这里仅展示资料的一些截图,如有需要获取文中提到的 “Java微服务” 学习笔记的朋友 文末 有直达获取地址。

微服务知识导图

第一部分:一种解决方法

在这一部分中,你将学习微服务的永存性及其演化过程。它强调了本地部署和基于云的产品面临的重大问题及微服务如何处理这些问题。同时还解释了在SaaS、企业级或大型应用程序的开发过程中遇到的常见问题及其解决方案。

在这一部分,我们将学习一下主题:

  • 微服务和背景简介
  • 整体式架构
  • 整体式架构的限制
  • 微服务提供的灵活性与效益
  • 在诸如 Docker 的容器中部署微服务

第二部分:设置开发环境

这一部分着重介绍开发环境的设置和配置。

在这里你将学到这些内容:

  • Spring Boot 配置
  • 示例 REST 程序
  • 生成安装程序
  • 使用 Postman Chrome 扩展执行 REST API 测试
  • NetBeans——安装和设置

第三部分:领域驱动设计

这一部分通过引用一个示例项目为其余的部分定基调。从这里开始,将用这个示例项目来解释不同的微服务概念。这一部分使用此示例项目驱动不同的功能组合和领域服务或应用程序来解释领域驱动设计( domain driven design, DDD )。它将帮助你了解DDD及其实际用法的基础知识。你还将使用REST服务来学习设计领域模型的概念。

这一部分包含以下内容:

  • DDD 的基本要素
  • 如何使用 DDD 设计应用程序
  • 领域模型
  • 一个基于 DDD 的领域模型设计示例

第四部分:实现微服务

这一部分引导你从我们的示例项目——在线餐馆订位系统( OTRS )的设计阶段进入实现阶段。在这里,你将使用上一部分所述的相同设计,并增强它,以建立微服务。在这一部分的结尾,你不仅将学会实现此设计,还将学到微服务的不同方面一构建、 测试和包装。虽然重点是建立和实现Restaurant微服务,你可以使用同样的方法来建立和实现OTRS中用到的其他微服务。

这一部分主要包含一下内容:

  • OTRS 概述
  • 开发和实现微服务
  • 测试

第五部分:部署和测试

这一部分将会解释如何用不同的形式,包括独立部署和使用诸如 Docker 的容器来部署微服务,还将演示如何用 Docker 把我们的示例项目部署到云服务如 AWS 上。在实现 Docker 之前,我们将首先探索微服务的其他相关因素,如负载均衡和边缘服务器,你也将了解使用不同的 REST 客户端,如 RestTemplate、Netflix Feign 等来测试微服务。

在这一部分,主要包含一下内容:

  • 使用 Netflix OSS 的微服务架构概述
  • 微服务的负载均衡
  • 边缘服务器
  • 断路器和监控
  • 使用容器部署微服务
  • 使用 Docker 容器对微服务进行集成测试

第六部分:实现微服务的安全性

正如你所知,微服务是我们部署在处所内或云基础设施中的组件,微服务可以提供API或web应用程序。我们的示例应用程序OTRS提供的是API。这一部分将侧重如何使用Spring Security和Spring OAuth2来实现这些API的安全性,还会重点介绍OAuth 2.0基础知识,我们会使用OAuth 2.0来保护OTRS的API。

这一部分主要包含一下内容:

  • 启用安全套接字层(SSL)
  • 身份验证和授权
  • OAuth 2.0

第七部分:利用为服务Web 应用程序来使用服务

在这一部分,我们将探索如何开发这些独立的UI应用程序。我们将开发和实现没有登录和授权流程的OTRS示例应用程序。我们会部署一个功能非常有限地实现并涵盖高层次的 AngularJS 概念。

在这一部分,主要包含一下内容:

  • AngularJS 框架概述
  • 开发 OTRS 的功能
  • 建立一个 web 应用程序(UI)

第八部分:最佳做法和一般原则

在为获得微服务示例项目开发经验付出这么多辛苦的工作后,你一定会想如何避免常见的错误,并改进基于微服务的产品和服务的开发全过程。我们可以按照这些原则或准则,来简化微服务的开发过程,并避免或减少潜在的局限性。我们将在这部分着重介绍这些关键概念。

这一部分主要包含一下内容:

  • 概述和心态
  • 最佳做法和原则
  • 微服务框架和工具

第九部分:故障排除指南

到目前为止,我们已经学了这么多东西,我敢肯定你享受这个具有挑战性的快乐学习旅程的每时每刻。学完这一部分后,我不愿意说这份资料结束了,而宁愿说你正在完成第一个里程碑。跨过这个里程碑,我们就可以继续学习基于微服务的新设计范式并在云环境中实现它。我想重申,集成测试是测试微服务和API之间交互的重要途径。在你完成在线餐馆订座系统( OTRS )示例应用程序的过程中,我确信你面临许多挑战,尤其是在调试应用程序时。在这里,我们将介绍几种做法和工具,帮助你解决部署应用程序、Docker 容器和宿主机的故障。

这一部分主要包含一下内容:

  • 日志记录和 ELK 环境
  • 使用相关 ID 来进行服务调用
  • 依赖项和版本

写在最后

最后,我想说的是,学习并非难事,而贵在坚持,尤其是在我们参与工作之后,要继续坚持学习就更不容易了。但对于程序员来说,学习是立业之根本,如若放弃学习,被市场淘汰是迟早的事情。所以,学习更多新的知识对于自己来说才是一种更大的投资。

希望大家能够时刻保持一颗积极向上的心,我始终相信一件事:机会永远是留给有准备的人。

获取方式:需要这份 《java微服务》学习笔记点赞关注后找小助理免费获取