【02】如何学习微服务

一、学习微服务技术面临哪些问题?

也许你早就打算学习微服务技术,可是自己的公司业务规模小,接触不到先进的微服务架构技术;又或者面对五花八门的微服务开源框架,和各个大厂自研的黑科技技术,一时间不知道如何下手。

乱花渐欲迷人眼:微服务技术选型太多了,我该选择什么技术和组件来学习呢?网上很多文章都在介绍微服务框架,但大多不是业界的最佳实践,而且知识非常零散,学完了并不能对自己的实战能力和认知带来太多提升。

纸上得来终觉浅:微服务充斥着各种晦涩的理论,很多教学文章都只是Hello World式的随堂小Demo,缺乏项目练手导致学完并不能学以致用,我该如何将理论应用到接地气的项目实战里呢?

路漫漫其修远兮:微服务体系庞大,框架组件就更多了,如果没有章法地去学习,无异于攀登一座很陡峭的山峰,学习效率低下不说,可能还会让你知难而退。我该从何下手,沿着什么途径学习才最有效率呢?

那怎么才能快速掌握好微服务技术呢? 直接来看这张图就好了,简单来说,就是“三大功能,两大特性”。

三大功能是指微服务核心组件的功能维度,由浅入深层次递进;而两大特性是构建在每个服务组件之上的高可用性和高可扩展性。

别看微服务框架组件多,其实你完全可以按照这三大功能模块,给它们有简入难对号入座,就像图中展示的那样:

  • 服务间通信,包括服务治理、负载均衡、服务间调用;
  • 服务容错和异常排查,包括流量整形、降级熔断、调用链追踪;
  • 分布式能力建设,包括微服务网关、分布式事务、消息驱动、分布式配置中心。

从微服务组件的功能维度来讲,服务间通信是最基础的功能特性,这个功能模块是最适合作为初学者学习微服务技术的切入点。当我们构建起基础的通信能力之后,接下来就要考虑如何构建服务容错能力,提高服务调用的稳定性了。在这之后,我们就可以从全局的角度构建一些分布式支持特性。这样,就有了一条难度平缓上升的学习曲线,也不会从入门到放弃了。

除了功能特性以外,在学习每个微服务组件的时候,我们还会从高可用性和可扩展性两个维度来做扩展。

二、学习阶段

Spring Cloud基础篇

Spring Cloud如何实现服务治理、负载均衡和服务间调用,带你构建起跨服务之间的通信:

  • 服务治理:掌握如何基于Nacos搭建注册中心集群,并实现微服务的服务注册、服务发现、服务下线、环境隔离等,深入了解Nacos自动装配机制是如何工作的;
  • 负载均衡:学会如何使用Loadbalancer实现负载均衡,并通过自定义负载均衡策略实现金丝雀测试;
  • 服务间调用:掌握如何使用openfeign组件在不同微服务间发起服务调用。

Spring Cloud进阶篇

微服务如何实现异常处理、调用链路追踪和远程配置管理,构建分布式环境下的配置管理和容错机制:

  • 服务容错:了解微服务常见的服务容错手段,使用Spring Cloud Sentinel实现服务降级熔断和流量整形;
  • 链路追踪:了解链路追踪的使用场景和实现原理,使用Sleuth完成链路打标,并集成Zipkin和ELK实现链路追踪和日志查询;
  • 分布式配置中心:了解配置中心的使用场景,使用Nacos实现配置项管理、动态刷新参数和环境隔离。

Spring Cloud高级篇

深入了解微服务网关、消息事件驱动和分布式事务的使用场景和原理,将微服务集群接入网关组件和消息组件,并实现分布式数据一致性方案:

  • 服务网关:了解微服务网关的用途,使用Spring Cloud Gateway搭建微服务网关;
  • 事件驱动:了解事件驱动在微服务中的应用场景,使用Stream集成消息组件,并实现异常容错、死信队列和延迟消息等场景;
  • 分布式事务:了解分布式事务的主流方案,使用Spring Cloud Seata的AT模式和TCC模式实现分布式事务,并深入了解Seata的底层原理。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值