热门标签 | 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搭建微服务框架


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

在这里插入图片描述


推荐阅读
  • 解决github访问慢的问题的方法集锦
    本文总结了国内用户在访问github网站时可能遇到的加载慢的问题,并提供了解决方法,其中包括修改hosts文件来加速访问。 ... [详细]
  • 一次上线事故,30岁+的程序员踩坑经验之谈
    本文主要介绍了一位30岁+的程序员在一次上线事故中踩坑的经验之谈。文章提到了在双十一活动期间,作为一个在线医疗项目,他们进行了优惠折扣活动的升级改造。然而,在上线前的最后一天,由于大量数据请求,导致部分接口出现问题。作者通过部署两台opentsdb来解决问题,但读数据的opentsdb仍然经常假死。作者只能查询最近24小时的数据。这次事故给他带来了很多教训和经验。 ... [详细]
  • 本文介绍了在无法联网的情况下,通过下载rpm包离线安装zip和unzip的方法。详细介绍了如何搜索并下载合适的rpm包,以及如何使用rpm命令进行安装。 ... [详细]
  • LVS-DR直接路由实现负载均衡示例
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 我们知道CDN护航了双11十年,却不知道背后有那么多故事
    2019独角兽企业重金招聘Python工程师标准摘要:一路走来,文景也曾疑惑过:为什么我们不能把活动的时间跨度拉长到3天࿰ ... [详细]
  • luarestyqlesswebUI界面运行
    lua-resty-qless-web是lua-resty-qless的web管理界面以及lua-resty-template模版引擎开发的,里面实现了一个简单的路由功能备注:de ... [详细]
  • php还能用多少年(php还行吗)
    导读:很多朋友问到关于php还能用多少年的相关问题,本文编程笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!本文目录一览: ... [详细]
  • nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 爬虫框架Scrapy(三)
    正文共:2957字6图预计阅读时间:8分钟每日分享Bethetypeofpersonyouwanttomeet.努力变成理想的模样。小闫笔记࿱ ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了架构文摘:消息队列设计精要相关的知识,希望对你有一定的参考价值。消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具 ... [详细]
  • svnWebUI:一款现代化的svn服务端管理软件
    svnWebUI是一款图形化管理服务端Subversion的配置工具,适用于非程序员使用。它解决了svn用户和权限配置繁琐且不便的问题,提供了现代化的web界面,让svn服务端管理变得轻松。演示地址:http://svn.nginxwebui.cn:6060。 ... [详细]
  • 深入解析Linux下的I/O多路转接epoll技术
    本文深入解析了Linux下的I/O多路转接epoll技术,介绍了select和poll函数的问题,以及epoll函数的设计和优点。同时讲解了epoll函数的使用方法,包括epoll_create和epoll_ctl两个系统调用。 ... [详细]
  • 2021最新总结网易/腾讯/CVTE/字节面经分享(附答案解析)
    本文分享作者在2021年面试网易、腾讯、CVTE和字节等大型互联网企业的经历和问题,包括稳定性设计、数据库优化、分布式锁的设计等内容。同时提供了大厂最新面试真题笔记,并附带答案解析。 ... [详细]
  • 大家好,这是一个为了梦想而保持学习的博客。这个专题会记录我对于KAFKA的学习和实战经验,希望对大家有所帮助,目录形式依旧为问答的方式,相当于是模拟面试。一、概述在对kafka有了 ... [详细]
  • 参考文档:https:www.tecmint.cominstall-chrony-in-centos-ubuntu-linuxhttps:www.redhat.com ... [详细]
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社区 版权所有