阿里巴巴最新分享Spring Cloud核心笔记,全程实例讲解,通俗易懂

1233 篇文章 11 订阅
141 篇文章 0 订阅

前言

众所周知Spring全家桶在Java世界的地位很重要,它不仅为Java开发者证明了基于注解开发、AOP(面向切面编程)开发以及面向接口开发能够给程序带来极大的灵活性,而且带来了依赖注人、声明式事务、统- -的异常处理、模块自动化加载、更简单的Maven 管理、更简单的单元测试等优秀的开发实践。前段时间,好不容易从一位阿里老哥那里要来一份《Spring Cloud核心笔记》,学了一段时间发现特别不错,就想着写篇文章来分享给大家,如果写的不好,还请多提提意见

这份《Spring Cloud核心笔记》全流程实例讲解Spring Cloud核心组件应用与微服务开发,语言简练,内容通俗易懂,实用性强,结构清晰,层层剥茧式分析。实战案例可以拿来就用,帮助初学者快速上手。读者不但可以系统地学习SpringCloud的相关知识,而且还可以全面掌握微服务架构应用的设计、开发、部署和运维等知识。

这份笔记共21章,首先从微服务基础框架Spring Boot讲起;其次重点讲述了Spring Cloud中的核心组件;最后介绍了微服务涉及的相关技术。

第1章

什么是微服务:从面向服务的架构(SOA)讲到微服务原则与优势,最后以Spring

Cloud与Dubbo对比的方式,阐明微服务Spring Cloud的优势。

第2章

微框架Spring Boot: Spring Boot是-一个Spring框架模块,它为Spring框架提供RAD (快速应用程序开发)功能,它高度依赖启动器模板功能,该功能非常强大且完美无缺。Spring Boot同样也是Spring Cloud的重要组成部分。

第3章

从服务注册与发现说起:在微服务中,消费者为了完成-一次服务请求,需要知道具体服务的详细地址( IP和端口)。传统应用都运行在物理服务器上,服务实例的网络位置都是相对固定的。怎样从一个经常变更的配置中读取网络位置显得尤为重要。

第4章

服务提供者与服务消费者的关系:什么是服务提供者和服务消费者?服务提供者是指服务的被调用方,即为其他服务提供服务的服务;服务消费者是指服务的调用方,即依赖其他服务的服务。

第5章

模板引擎:为了使用户页面和业务数据相互分离而产生,它将从后台返回的数据生成特定格式的文档。用于网站的模板引擎就是生成HTML文档。

第6章

服务的雪崩与熔断:典型的分布式系统由许多协作在一-起的服务组成, 这些服务容易出现故障或延迟响应。如果服务失败,可能会影响性能的其他服务,并可能使应用程序的其他部分无法访问,或者在最坏情况下会导致整个应用程序崩溃。

第7章

分布式配置中心:随着服务业务的越来越多,配置文件更是眼花缭乱,每次不知道因为部署/安装问题浪费多少时间,更不知道因为配置问题出过多少问题。如果采用分布式的开发模式,需要的配置文件将会随着服务增加而不断增多。某一个基础服务 信息变更,都会引起一系列的更新和重启,导致运维人员苦不堪言,并且也容易出错。配置中心便是解决此类问题的灵丹妙药。

第8章

API网 关:API网关是微服务架构中很重要的-一个部分,是发起每个请求的人口,也可以在网关上做协议转换、权限控制、请求统计和限流等其他工作。

第9章

Cloud Foundry: Cloud Foundry是一个 开源平台即服务(PaaS),提供云、开发人员框架和应用程序服务的选择。它是开源的,由Cloud Foundry Foundation管理。最初的Cloud Foundry由VMware开发,目前由GE、EMC和VMware的合资公司Pivotal管理。

第10章

消息驱动: Spring Cloud Stream是- -个用来为微服务应用构建消息驱动能力的架构,为一些供应商的消息中间件产品提供个性化的自动化配置实现,并且引人了发布一-订阅、消费组以及分区三个核心概念。

第11章

单点登录:单点登录(Single Sign On, SS0)就 是把多个系统的登录验证整合在一起,这样,无论用户登录任何-一个应用,都可以直接以登录过的身份访问其他应用,不必每次都访问其他系统再登录。

第12章

Activity工作流: Activity实现了工作流程的自动化,提高了企业运营的效率、改善了企业资源的利用、提高了企业运作的灵活性和适应性、提高了量化考核业务处理的效率、减少了浪费。流程图就像流水线-样,张三请完假,相应地李四就会收到张三的任务审批申请,若通过,则流程结束;若不通过,就会通知张三,张三可以再次发起申请。

第13章

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful Web接口。ElasticSearch是 用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。其设计用于云计算中,能够实现实时搜索,不仅稳定、可靠、快速,而且安装使用方便。

第14章

ELK Stack:通过使用微服务,我们已经能够解决许多遗留问题,并且它允许创建稳定的分布式应用程序,并对代码、团队规模、维护、发布周期、云计算等进行所需的控制。但它也引入了一些挑战,如分布式日志管理、查看在许多服务中分布的完整事务的日志与一般的分布式调试的能力。ElasticSearch、 Logstash和Kibana- -起称为ELK Stack,它们用于实时搜索、分析和可视化日志数据。

第15章

多线程:多线程是指从软件或者硬件上实现多线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同- -时间执行多于-一个线程,进而提升整体处理性能。线程可以获得更大的吞吐量,但是开销很大,如线程栈空间的大小开销、切换线程需要的时间开销,所以通过线程池进行重复利用,当线程使用完毕之后,就放回线程池,避免创建与销毁的开销。

第16章

Redis缓存技术: Redis基于内存,也可以基于磁盘持久化NoSQL数据库,使用C语言开发。Redis开创了一种新的数据存储思路,使用Redis, 不用在面对功能单调的数据库时把精力放在处理如何将大象放进冰箱这样的问题上,而是利用Redis灵活多变的数据结构和数据操作为不同的大象构建不同的冰箱。

第17章

微服务监控:由于在微服务体系下,各种服务众多,仅靠人力维护服务不现实,成本极高,因此微服务监控很有必要。

第18章

API文档:随着微服务架构的日益普及,服务与服务直接对接也变得日益密切起来,REST风格变得大势所趋。Swagger是为了描述一套标准的而且是和语言无关的REST API的规范。对于外部调用者来说,只通过Swagger文档即可清楚Server端提供的服务,而不需要阅读源码或接口文档说明。官网上有关于Swagger的丰富的资源,包括Swagger Editor、Swagger UI以及Swagger为各种开发语言提供的SDK。这些资源为RESTAPI的提供者以及调用者提供了极大的便利。

第19章

持续集成:介绍微服务为什么会谈到自动化部署?“互联网+” 的需要。在信息越来越繁杂的互联网时代,公司运行的项目越来越多,项目相关服务繁多,服务之间存在复杂的依赖关系,运维与管理任务越来越繁重,手工交付需要花费很多的人力与时间,且安全性和时效性均无法保证。随着企业对版本上线质量和速度的要求越来越高,敏捷开发、Devops的接受度越来越高。传统的交付方式因为项目之间缺少依赖、环境不- -致、版本不- -致、人为操作失误等情况,使得项目交付过程中问题不断,而互联网企业发展节奏快、版本发布频率高,上线出 故障影响面广、影响度高,因而企业对敏捷开发、持续集成、自动发布都有强烈的需求。

第20章

金丝雀部署:每次部署到生产环境时,我们都会担心更改将会影响用户体验。无论使用什么技术或策略进行部署,可能出错的事情都会出错,这是墨菲定律。

第21章

Spring Cloud实战:项目选用Spring Cloud微服务解决方案,框架的搭建基于SpringBoot,使用到的技术有Feign、Hystrix、 Ribbon、 Eureka、 Cloud-Config、 0Auth2.0、 ES。

由于内容实在是太多,关于阿里老哥分享的《Spring Cloud核心笔记》就分享到这

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值