【微服务】国内微服务生态标准-SpringCloud Alibaba

news2024/11/17 0:00:30

现在已经是21世纪的二十年代,在未来的很长时间,以互联网、IOT物联网为代表的分布式应用必将越来越多,大量的软件企业对掌握微服务与高可用、高性能、高并发的架构人才也必定趋之若鹜。我们可以看看现阶段针对软件架构师的招聘需求和薪资:


出来工作谈钱并不庸俗,我们学习的本身就是为了未来能有更好的发展、更可观的收入。如何让自己能越来越值钱?如何让自己持续值钱?才是我们要追求的目标。

1、那我们为什么要学习微服务架构呢?

架构圈有句名言“任何脱离场景的架构设计都是耍流氓”。在分布式架构演进的几十年中,已经出现了几十种架构模式,但任何的架构演进,都是为了解决上一代架构遗留的各种问题。如解决数据一致性、分布式事务、高可用等问题。微服务架构也如此,随着互联网、物联网架构的广泛应用,高并发的应用程序在数量与体量上都在以指数级提高,那么传统的单体应用、SOA等架构已经不满足新环境对应用性能与可靠性要求。

比如早期的应用系统开发,有使用基于ESB(企业服务总线)的SOA架构推进应用开发。ESB作为分布式架构的核心枢纽解决了异构系统间消息传递的问题。但是随着业务体量的不断提升很快就让ESB不堪重负。再加上ESB本身就属于重量级解决方案,扩展与维护都要依托第三方厂商进行。这也让架构的升级改造变得愈发艰难。

但微服务架构就真的可以一举解决所有问题吗?他就没有什么缺陷吗?其实在学习微服务前,我们也会遇到很多困惑,比如:

  • 微服务拆分粒度如何界定?
  • 数据一致性如何保障?
  • 各链路如何跟踪?如何实施服务监控?

好在经过技术的不断迭代,其中的大部分问题已经有了成熟的答案。

2、为什么是SpringCloud Alibaba?

大家可能会有疑问,在微服务架构技术上,springcloud官方生态已经很完善了,为什么还要去了解SpringCloud Alibaba呢?

其实微服务表面上看起来是将整体应用打散为小服务,再通过网络通信进行数据联通,最终将处理结果展示给用户这种很简单的处理,实际上处理起来确很复杂。比如使用微服务架构后,我们需要考虑数据一致性问题、网络通信故障、限流与熔断机制、调用链路跟踪、集群监控、甚至用户登录和权限管理(SSO)都是全新的挑战。如果这些问题全部都要软件公司自己解决那显然是行不通的。好在各个环节的厂商比较给力,以SpringCloud为基础的微服务技术生态日渐成熟,前面这些列出来的大部分问题都得到了有效的解决。

SpringCloud架构体系

但是好景不长,在这几年以Netfilix Eureka为代表的SpringCloud核心中间件纷纷停止更新,再加上许多组件设计老旧,在性能上已无法满足互联网大厂的要求,国内市场急需一套符合中国特色的微服务架构解决方案。

SpringCloud Alibaba就是在这种背景下诞生的,SpringCloud Alibaba是国产的微服务开发一站式解决方案,与原有的SpringCloud兼容的同时对微服务生态进行拓展,通过添加少量的配置注解,便可实现更符合国情的微服务架构。


相比SpringCloud官方标准,SpringCloud Alibaba提供了更完整的功能、更好用的API,同时在中文的加持下让复杂的微服务架构变得不再高不可攀,目前SpringCloud Alibaba已经是事实上的国内微服务标准。这也是我们为什么了解SpringCloud Alibaba的主要原因。

3、学习思路

微服务架构本质上也是一种架构的实现方案,它在原有基础上对分布式架构作出进一步拓展与标准化。本专栏我们也计划从以下几个方面进行介绍:

  • 微服务架构设计:什么是微服务?微服务架构设计时一些常见问题。

  • Nacos服务治理:Nacos注册中心是整个微服务架构的核心,内容包括Nacos的安装、使用与集群搭建过程、Nacos服务发现的底层原理。

  • 微服务通信:在SpringCloud Alibaba中支持RPC与RESTful两种方案,对应的产品为Dubbo与OpenFeign。

  • 系统保护:Sentinel是SpringCloud Alibaba提供的服务保护中间件,利用Sentinel可以有效预防分布式架构的系统性崩溃。

  • 其他特性:了解SpringCloud Alibaba提供的众多特性。比如:配置中心、链路跟踪、性能监控、分布式事务、消息队列等。

通过以上内容的了解,相信大家一定能对SpringCloud Alibaba有个全面的认识,同时可以将部分内容融合到实际的工作和项目中。

更多内容欢迎关注公众号:服务端技术精选

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1467459.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

12 个顶级音频转换器软件(免费)

当涉及不受支持的音乐文件时,音频文件转换器软件总是会派上用场。当您希望缩小大量大型音乐文件的大小以节省设备存储空间时,它也很有帮助。您在寻找传输音频的软件吗?好吧,请仔细选择音频转换器,因为最好的音乐转换器…

【Android安全】Windows 环境下载 Android 源码

准备环境 安装 git 安装 Python 硬盘剩余容量最好大于 100G 打开 Git Bash,用 git 克隆源代码仓库 git clone https://android.googlesource.com/platform/manifest.git //没有梯子使用清华源 git clone https://aosp.tuna.tsinghua.edu.cn/platform/manifest.git…

重大更新:GPT-4 API 现全面向公众开放!

重大更新:GPT-4 API 现全面向公众开放! 在 AIGC(人工智能生成内容)领域内,我们一直致力于跟踪和分析如 OpenAI、百度文心一言等大型语言模型(LLM)的进展及其在实际应用中的落地情况。我们还专注…

基于springboot+vue的大学生竞赛管理系统(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

布隆过滤器笔记

课程地址 布隆过滤器由一个很长的二进制向量和一系列哈希函数组成 特性:布隆过滤器可以告诉我们 “某样东西一定不存在或者可能存在”,也就是说布隆过滤器说这个数不存在则一定不存在,布隆过滤器说这个数存在可能不存在。这个特性能很好地被…

ClickHouse 指南(三)最佳实践 -- 稀疏主索引

在ClickHouse主索引的实用介绍 ClickHouse release 24.1, 2024-01-30 1、简介 在本指南中,我们将深入研究ClickHouse索引。我们将详细说明和讨论: ClickHouse中的索引与传统的关系数据库管理系统有何不同ClickHouse是如何构建和使用表的稀疏主索引的什么是在Clic…

Linux-基础命令(黑马学习笔记)

Linux的目录结构 Linux的目录结构 Linux的目录结构是一个树形结构 Windows系统可以拥有多个盘符,如C盘、D盘、E盘 Linux没有盘符这个概念,只有一个根目录 /,所有文件都在它下面 Linux路径的描述方式 ● 在Linux系统中,路径之…

选择适合你的编程语言

引言 在当今瞬息万变的技术领域中,选择一门合适的编程语言对于个人职业发展和技术成长至关重要。每种语言都拥有独特的设计哲学、应用场景和市场需求,因此,在决定投入时间和精力去学习哪种编程语言时,我们需要综合分析多个因素&a…

数据结构——链表OJ题

目录 1.给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 2.给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点…

OpenAI划时代大模型——文本生成视频模型Sora作品欣赏(七)

Sora介绍 Sora是一个能以文本描述生成视频的人工智能模型,由美国人工智能研究机构OpenAI开发。 Sora这一名称源于日文“空”(そら sora),即天空之意,以示其无限的创造潜力。其背后的技术是在OpenAI的文本到图像生成模…

Nginx基本操作

目录 引言 一、Nginx配置文件详解 (一)配置文件 (二)模块 二、全局配置文件 (一)关闭版本或修改版本 1.关闭版本号 2.修改版本信息 (二)修改启动的进程数 (三&…

【Ubuntu】Anaconda的安装和使用

目录 1 安装 2 使用 1 安装 (1)下载安装包 官网地址:Unleash AI Innovation and Value | Anaconda 点击Free Download 按键。 然后 点击下图中的Download开始下载安装包。 (2)安装 在安装包路径下打开终端&#…

【前端素材】推荐优质后台管理系统Dashmin平台模板(附源码)

一、需求分析 后台管理系统在多个层次上提供了丰富的功能和细致的管理手段,帮助管理员轻松管理和控制系统的各个方面。其灵活性和可扩展性使得后台管理系统成为各种网站、应用程序和系统不可或缺的管理工具。 后台管理系统是一种具有多层次结构的软件系统&#xf…

图片Base64编码解码的优缺点及应用场景分析

title: 图片Base64编码解码的优缺点及应用场景分析 date: 2024/2/24 14:24:37 updated: 2024/2/24 14:24:37 tags: 图片Base64编码解码HTTP请求优化网页性能加载速度安全性缓存机制 随着互联网的迅猛发展,图片在网页和移动应用中的使用越来越广泛。而图片的传输和加…

安科瑞企业微电网智慧能源管理系统生态交流会顺利举行

2024年1月12日,安科瑞企业微电网智慧能源管理系统生态交流会顺利举行,本次会议旨在围绕双碳目标,共同探讨如何抓住新机遇、新市场,充分利用安科瑞企业微电网智慧能源的一站式服务,为企业节能、减碳、降本赋能&#xff…

学习使用在mysql中查询指定字段字符串包含多个字符串的方法

学习使用在mysql中查询指定字段字符串包含多个字符串的方法 使用LIKE关键字使用REGEXP关键字使用FIND_IN_SET函数使用INSTR函数和AND关键字 使用LIKE关键字 SELECT * FROM table_name WHERE column_name LIKE %string1% AND column_name LIKE %string2%;使用LIKE关键字&#x…

MySQL学习Day19——索引的数据结构

一、为什么使用索引: 索引是存储引擎用于快速找到数据记录的一种数据结构,就好比一本教课书的目录部分,通过目录中找到对应文章的页码,便可快速定位到需要的文章。MySQL中也是一样的道理,进行数据査找时,首先查看查询…

MyBatis-获取参数

1. 创建MyBatis配置文件模板 编辑完Mybatis核心配置文件和properties文件后,打开IDEA的设置界面,找到Editor中的File and Code Templates,点击加号新增模板。接着将编辑好的核心配置文件中的内容复制粘贴到空白框中,设置好模板名…

Android进阶之旅(第5天)

充实的一天又过去了,今天真的好冷啊,我们这里雪很大,早上最傻逼的决定就是穿了一个短的棉袜出来,漏脚踝,冷成傻子 接下来老规矩,看下昨天计划的完成情况: 今日计划: 1.过bug 2.看…

python 提取PDF文字

使用pdfplumber,不能提取扫描的pdf和插入的图片。 import pdfplumberfile_path rD:\UserData\admindesktop\官方文档\1903_Mesh-Models-Overview_FINAL.pdf with pdfplumber.open(file_path) as pdf:page pdf.pages[0]print(page.extract_text()) # 所以文字prin…