热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

springcloud:微服务涉及哪些技术、有哪些核心组件(二)

0.引言上一期我们介绍了什么是微服务,微服务的基础概念,那么本期我们来介绍一下微服务涉及的技术点以及所需要的组件1.微服务涉及哪些技术1.1、基础

0. 引言

上一期我们介绍了什么是微服务,微服务的基础概念,那么本期我们来介绍一下微服务涉及的技术点以及所需要的组件


1. 微服务涉及哪些技术


1.1、基础技术

首先每个微服务都可以看作是单机架构,所以最基础的就要要求你掌握单机架构的知识,单机架构最少量要求掌握的知识包括:


  • java
  • mysql
  • springboot
  • mybatis,mybatis-plus
  • linux

如果你对于以上知识还没有掌握,那么可以参考我之前的学习路线文章:
初级java学习路线


1.2、部分中间件


  • redis
  • MQ(RocketMQ、RabbitMQ、kafka、ActiveMQ任意一个即可,推荐RocketMQ)

1.3、微服务涉及技术点

(仅列举个人认为常用的,根据架构层级排序)


  • 区域内容分发:CDN
  • 网络负载均衡:lvs
  • 网关负载均衡、反向代理:nginx+lua
  • 服务网关:zuul,kong,springcloud gateway
  • 熔断、降级、限流:Hystrix,Sentinel
  • 服务注册与发现:eureka,nacos,consul,zookeeper
  • 服务配置:nacos,springcloud config,consul
  • 服务负载均衡:ribbon
  • 组件通信:feign,RestTemplate
  • 链路追踪:zipkin
  • 服务部署:docker,kubernetes,jenkins
  • 服务监控:Metrics+ELK,SpringCloud Admin
  • 分布式日志:ELK
  • 分布式存储:fastDFS、OSS
  • 分布式事务:seata
  • 分布式任务调度:SchedulerX,xxl-job
  • 短信服务:SMS
  • 邮件服务:mail

我们通过下面这张图来总览整个架构布局
在这里插入图片描述
看到这里是不是觉得头大了,学习一个微服务需要掌握这么多技术吗?答案自然不是,这些只是要搭建一个高可用高并发低响应的微服务架构需要掌握的技术栈。

真正开发中也不需要你掌握全部技术的应用,通常是分工合作,各有所长,但是想要成长为一方大佬,更需要持续不断的学习。

那么针对初学者,我们也整理出微服务开发的核心组件,让大家能够快速的掌握微服务框架。并且也会在后续一一介绍上述列举的这些技术点,让大家能够不断的丰富自己的技能。


2. 微服务核心组件

目前的微服务组件分成了两个体系:一是springcloud官方的体系,二是阿里巴巴公司推出的springcloud alibaba体系

一个微服务框架至少需要的组件有:网关、注册中心、微服务,如果想要通过服务来统一管理我们的配置文件,那么就还需要一个配置中心

如果是springcloud体系,就涉及如下组件(同类组件仅推荐一个组件来方便大家快速学习,部分组件已经停止维护的就不再进行列举):


  • 网关:gateway
  • 注册中心:consul
  • 配置中心:consul

如果springcloud alibaba体系,就涉及如下组件:


  • 网关:gateway(alibaba没有单独开发网关组件,更多是结合spring cloud gateway使用)
  • 注册中心:nacos
  • 配置中心:nacos

本身alibaba体系更加符合中国的业务场景,在国内的开发公司中也更常使用ailibaba体系,因此我们先以alibaba体系作为切入点,让大家对微服务框架快速掌握起来


3. 下期预告

1、spring cloud gateway详解
2、spring cloud alibaba nacos详解
3、基于gateway,nacos搭建微服务框架


关注公众号,了解更多新鲜内容

在这里插入图片描述


推荐阅读
  • 一面问题:MySQLRedisKafka线程算法mysql知道哪些存储引擎,它们的区别mysql索引在什么情况下会失效mysql在项目中的优化场景&# ... [详细]
  • 利用GitHub热门资源,成功斩获阿里、京东、腾讯三巨头Offer
    Spring框架作为Java生态系统中的重要组成部分,因其强大的功能和灵活的扩展性,被广泛应用于各种规模的企业级应用开发中。本文将通过一份在GitHub上获得极高评价的Spring全家桶文档,探讨如何掌握Spring框架及其相关技术,助力职业发展。 ... [详细]
  • 获得头条Offer后,我感激的七个技术公众号
    是否感觉订阅的公众号过多,浏览时缺乏目标性,未能获取实质性的知识?本文将介绍如何精简公众号列表,提升信息吸收效率,并推荐几个高质量的技术公众号。 ... [详细]
  • 历经两个月,他成功斩获阿里巴巴Offer
    经过两个月的努力,一位普通的双非本科毕业生最终成功获得了阿里巴巴的录用通知。 ... [详细]
  • 本文深入探讨了MySQL中常见的面试问题,包括事务隔离级别、存储引擎选择、索引结构及优化等关键知识点。通过详细解析,帮助读者在面对BAT等大厂面试时更加从容。 ... [详细]
  • 本文探讨了Web开发与游戏开发之间的主要区别,旨在帮助开发者更好地理解两种开发领域的特性和需求。文章基于作者的实际经验和网络资料整理而成。 ... [详细]
  • Spring Cloud因其强大的功能和灵活性,被誉为开发分布式系统的‘一站式’解决方案。它不仅简化了分布式系统中的常见模式实现,还被广泛应用于企业级生产环境中。本书内容详实,覆盖了从微服务基础到Spring Cloud的高级应用,适合各层次的开发者。 ... [详细]
  • SpringCloud电商平台开发指南:实战案例解析
    本文详细介绍了基于SpringCloud构建的电商平台项目,涵盖了从技术选型到项目部署的全流程,旨在帮助开发者快速掌握电商平台的开发技巧。 ... [详细]
  • 微服务架构详解及其入门指南
    本文详细介绍了微服务的基本概念、发展历程、与传统架构的区别及优势,并探讨了适合采用微服务架构的场景。此外,文章还深入分析了几个主流的微服务开发框架,特别是Spring Cloud的组成和特点。 ... [详细]
  • 从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ... [详细]
  • 本文总结了近年来在实际项目中使用消息中间件的经验和常见问题,旨在为Java初学者和中级开发者提供实用的参考。文章详细介绍了消息中间件在分布式系统中的作用,以及如何通过消息中间件实现高可用性和可扩展性。 ... [详细]
  • 本文详细介绍了如何在云服务器上配置Nginx、Tomcat、JDK和MySQL。涵盖从下载、安装到配置的完整步骤,帮助读者快速搭建Java Web开发环境。 ... [详细]
  • 本文详细介绍了如何解压并安装MySQL集群压缩包,创建用户和组,初始化数据库,配置环境变量,并启动相关服务。此外,还提供了详细的命令行操作步骤和常见问题的解决方案。 ... [详细]
  • 本文介绍了如何在三台CentOS 7.5虚拟机上通过Docker部署RabbitMQ集群,包括环境准备、容器创建、集群配置及故障处理等内容。 ... [详细]
  • RabbitMQ消息分发策略与确认机制
    本文详细介绍了RabbitMQ的消息分发轮询机制以及消息确认(Message Acknowledgment)功能,通过实例演示了如何确保消息可靠传递。 ... [详细]
author-avatar
佩弦_秦子轩_188
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有