写点什么

竟拿到阿里 45K 高薪 offer!只因他刷了这份阿里微服务天花板手册

作者:Geek_0c76c3
  • 2022 年 9 月 25 日
    湖南
  • 本文字数:1946 字

    阅读完需:约 6 分钟

竟拿到阿里45K高薪offer!只因他刷了这份阿里微服务天花板手册

微服务起源

微服务的流行,Martin 功不可没,这老头也是个奇人,特别擅长抽象归纳和制造概念,我觉的这就是最牛逼的 markting 啊,感觉这也是目前国人欠缺的能力。

Martin Fowler 是国际著名的 OO 专家,敏捷开发方法的创始人之一,现为 ThoughtWorks 公司的首席科学家.福勒(Martin Fowler),在面向对象分析设计、UML、模式、软件开发方法学、XP、重构等方面,都是世界顶级的专家,现为 Thought Works 公司的首席科学家。Thought Works 是一家从事企业应用开发和集成的公司。早在 20 世纪 80 年代,Fowler 就是使用对象技术构建多层企业应用的倡导者,他著有几本经典书籍: 《企业应用架构模式》、《UML 精粹》和《重构》等。—— 百度百科

微服务的进化历程

随着互联网的发展,网站应用的规模也在不断的扩大,进而导致系统架构也在不断的进行变化。从互联网早起到现在,系统架构大体经历了下面几个过程: 单体应用架构--->垂直应用架构--->分布式架构--->SOA 架构--->微服务架构,当然还有悄然兴起的 Service Mesh(服务网格化)。接下来我们就来了解一下每种系统架构是什么样子的, 以及各自有什么优缺点。——【传送门免费货区】——




第一章 微服务介绍

随着互联网的发展,网站应用的规模也在不断的扩大,进而导致系统架构也在不断的进行变化。




第二章 微服务环境搭建



第三章 Nacos Discovery--服务治理

什么是服务治理

  • 服务治理是微服务架构中最核心最基本的模块。用于实现各个微服务的自动化注册与发现

  • 服务注册:在服务治理框架中,都会构建一个注册中心,每个服务单元向注册中心登记自己提供服务的详细信息。并在注册中心形成一张服务的清单,服务注册中心需要以心跳的方式去监测清单中的服务是否可用,如果不可用,需要在服务清单中剔除不可用的服务。

  • 服务发现:服务调用方向服务注册中心咨询服务,并获取所有服务的实例清单,实现对具体服务的实现例的访问




第五章 Gateway--服务网关

大家都都知道在微服务架构中,一个系统会被拆分为很多个微服务。那么作为客户端要如何去调用这么多的微服务呢?如果没有网关的存在,我们只能在客户端记录每个微服务的地址,然后分别去调用。



这样的架构,会存在着诸多的问题:

  • 客户端多次请求不同的微服务,增加客户端代码或配置编写的复杂性

  • 认证复杂,每个服务都需要独立认证。

  • 存在跨域请求,在一定场景下处理相对复杂。



第六章 Sleuth--链路追踪

在大型系统的微服务化构建中,一个系统被拆分成了许多模块。这些模块负责不同的功能,组合成系统,最终可以提供丰富的功能。在这种架构中,一次请求往往需要涉及到多个服务。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台服务器,横跨多个不同的数据中心,也就意味着这种架构形式也会存在一些问题:

  • 如何快速发现问题?

  • 如何判断故障影响范围?

  • 如何梳理服务依赖以及依赖的合理性?

  • 如何分析链路性能问题以及实时容量规划?



第七章 Rocketmq--消息驱动

MQ(Message Queue)是一种跨进程的通信机制,用于传递消息。通俗点说,就是一个先进先出的数据结构。




第八章 SMS--短信服务

短信服务(Short Message Service)是阿里云为用户提供的一种通信服务的能力。

  • 产品优势:覆盖全面、高并发处理、消息堆积处理、开发管理简单、智能监控调度

  • 产品功能:短信通知、短信验证码、推广短信、异步通知、数据统计

  • 应用场景:短信验证码、系统信息推送、推广短信等




第九章 Nacos Confifig--服务配置

首先我们来看一下,微服务架构下关于配置文件的一些问题:

1. 配置文件相对分散。在一个微服务架构下,配置文件会随着微服务的增多变得越来越多,而且分散在各个微服务中,不好统一配置和管理。

2. 配置文件无法区分环境。微服务项目可能会有多个环境,例如:测试环境、预发布环境、生产环境。每一个环境所使用的配置理论上都是不同的,一旦需要修改,就需要我们去各个微服务下手动维护,这比较困难。

3. 配置文件无法实时更新。我们修改了配置文件之后,必须重新启动微服务才能使配置生效,这对一个正在运行的项目来说是非常不友好的。基于上面这些问题,我们就需要配置中心的加入来解决这些问题。

配置中心的思路是:

首先把项目中各种配置全部都放到一个集中的地方进行统一管理,并提供一套标准的接口。

当各个服务需要获取配置的时候,就来配置中心的接口拉取自己的配置。

当配置中心中的各种参数有更新的时候,也能通知到各个服务实时的过来同步最新的信息,使之动态更新。

当加入了服务配置中心之后,我们的系统架构图会变成下面这样




第十章 Seata--分布式事务

事务指的就是一个操作单元,在这个操作单元中的所有操作最终要保持一致的行为,要么所有操作都成功,要么所有的操作都被撤销。简单地说,事务提供一种“要么什么都不做,要么做全套”机制。



——【传送门免费货区】——

用户头像

Geek_0c76c3

关注

还未添加个人签名 2022.09.16 加入

还未添加个人简介

评论

发布
暂无评论
竟拿到阿里45K高薪offer!只因他刷了这份阿里微服务天花板手册_Java_Geek_0c76c3_InfoQ写作社区