网易首页 > 网易号 > 正文 申请入驻

为什么要用SpringCloud alibaba作为微服务开发框架?

0
分享至

  作者 | 飘渺Jam 责编 | 欧阳姝黎

  什么是微服务

  提到微服务不得不提Martin Fowler在2014年3月25日发表的文章 Microservices,里面给出了微服务的定义。后续国内所有关于微服务的介绍都是基于这篇文章的翻译,或加上自己的理解而成。其中最重要的一段如下:

In short, the microservice architectural style [1] is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies.

  翻译过来就是:微服务这种架构风格就是把一组小服务演化成为一个单一的应用的一种方法。每个应用都运行在自己的进程中,并通过轻量级的机制保持通信,就像HTTP这样的API。这些服务要基于业务场景,并使用自动化部署工具进行独立的发布。可以有一个非常轻量级的集中式管理来协调这些服务,可以使用不同的语言来编写服务,也可以使用不同的数据存储。

  
如何实现微服务

  相对于单体式架构的简单粗暴,微服务架构将应用打散,形成多个微服务进行独立开发、测试、部署与运维。虽然从管理与逻辑上更符合业务需要,但微服务架构也带来了诸多急需解决的核心问题:


  1.   如何发现新服务节点以及检查新服务节点的状态?


  2.   如何发现服务及负载均衡如何实现?


  3.   服务间如何进行消息通信?


  4.   如何对使用者暴露服务 API?


  5.   如何集中管理众多服务节点的配置文件?


  6.   如何收集服务节点的日志并统一管理?


  7.   如何实现服务间调用链路追踪?


  8.   如何对系统进行链路保护,避免微服务雪崩?

  可以发现,上述这些问题并不是针对某种语言或某种技术的,任何软件厂商要构建微服务架构就必须面对这些问题,要么独立开发要么将已有多种技术整合形成整体解决方案。好在经过多年沉淀,业内已经有了标准答案,下图清晰的说明微服务架构需要的标准组件。

  API网关:封装了系统内部架构,为每个客户端提供一个定制的 API。在微服务架构中,服务网关的核心要点是,所有的客户端和消费端都通过统一的网关接入微服务,在网关层处理所有的非业务功能。

  注册中心:微服务架构体系中最核心的技术组件,它起到新服务节点的注册与状态维护的作用。诸如 Dubbo、Spring Cloud 等主流的微服务框架都基于 Zookeeper、Eureka 等分布式系统协调工具构建了服务注册中心。

  服务路由: 通过注册中心构建了一个多服务的集群化环境中,当客户端请求到达集群,如何确定由哪一台服务器进行请求响应呢?这就是服务路由问题。

  服务通信:在微服务定义中阐述服务间通信采用轻量级协议,通常是 HTTP RESTful 风格。但因 RESTful 风格过于灵活,必须加以约束,通常在应用时对其进行上层封装,例如在 Spring Cloud 中就提供了 Feign 和 RestTemplate 两种技术屏蔽底层实现 RESTful 通信细节。

  服务保护:对于分布式环境中的服务而言,服务在自身失败引发生错误的同时,还会因为依赖其他服务而导致失败。除了比较容易想到和实现的超时、重试和异步解耦等手段之外,我们还需要考虑针对各种场景的容错机制。

  链路跟踪:一个复杂的业务流程可能需要连续调用多个微服务,我们需要记录一个完整业务逻辑涉及的每一个微服务的运行状态,再通过可视化链路图展现,帮助软件工程师在系统出错时分析解决问题,常见的解决方案有Zipkin,SkyWalking。

  统一日志管理:微服务架构默认将应用日志分散保存在每一个微服务节点上,当系统进行用户行为分析、数据统计时必须收集所有节点日志数据,非常不方便。这时候我们需要一个独立的日志平台,收集所有节点的日志数据并可方便对其进行汇总分析,常见的解决方案有ELK,EFK。

  配置中心:在微服务架构中,考虑到服务数量和配置信息的分散性,一般都需要引入配置中心的设计思想和相关工具。通过部署配置中心服务器,将原本分散的配置文件从应用中剥离,集中转存到配置中心。一般配置中心会提供 UI 界面,可以方便快捷的实现大规模集群的配置调整。

  
为什么选择SpringCloud

  首先,Spring Cloud 具备一个天生的优势,因为它是 Spring 家庭的一员,而 Spring 在 Java EE 开发领域的强大地位,给 Spring Cloud 起到很好的推动作用。同时,Spring Cloud 所基于的 Spring Boot,已经成为 Java EE 领域中最流行的开发框架,用来简化 Spring 应用程序的框架搭建和开发过程。

  其次,技术组件的完备性是我们选择 Spring Cloud 的主要原因。Spring Cloud 中包含了开发一个完整的微服务系统所需的几乎所有技术组件,包括服务注册和发现、API 网关、配置中心、消息处理、负载均衡、熔断器、数据监控等常见技术组件都可以基于 Spring Boot 快速集成到业务系统中。

  以下为SpringCloud 中常用的技术组件

  
为什么选择SpringCloud alibaba

  首先, SpringCloud中的技术组件是集众家之长,如注册中心 Eureka,Zuul等都是依赖于Netflix的,这也导致它受制于第三方厂商。如Zuul宣布停止维护,Spring机构便不得不寻找替代品或自研;Eureka2.x 闭源不允许使用;

  其次,Springcloud作为国外产品引入到国内后出现了水土不服,如SpringCloud Config默认将文件存在Github上,且没有维护界面,国内软件公司很少会同意这么做。比如我们部门就是使用了Apollo配置中心替代了原生的SpringCloud Config。

  Spring Cloud Alibaba是国产的微服务开发一站式解决方案,与原有 Spring Cloud 兼容的同时对微服务生态进行扩展,通过添加少量的配置注解,便可实现更符合国情的微服务架构,当前Spring Cloud Alibaba已经是直接隶属于 Spring Cloud 的子项目。官网是:https://spring.io/projects/spring-cloud-alibaba#overview

  Spring Cloud Alibaba 对服务注册、配置中心与负载均衡功能都整合进 Nacos,有图形化界面,简化了微服务架构的复杂度,出问题的概率也会降低。原有的服务保护组件也调整为 Sentinel,相较Hystrix功能更强大,使用也更加友好。同时还支持了对Dubbo的调用,而且还有Seata用于支持分布式事务。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
我提着80斤腊肠送老板,他老婆嫌脏直接扔垃圾桶,我默默捡了回来,当晚老板打来电话,声音都在抖:兄弟,我马上到你家门口

我提着80斤腊肠送老板,他老婆嫌脏直接扔垃圾桶,我默默捡了回来,当晚老板打来电话,声音都在抖:兄弟,我马上到你家门口

墨染尘香
2026-08-22 15:05:42
升学宴5死再升级!亲历者终于说出实情,墙塌另有原因,本可避免

升学宴5死再升级!亲历者终于说出实情,墙塌另有原因,本可避免

番外行
2026-08-22 13:56:47
森林北大方公开:已生娃,没分手...

森林北大方公开:已生娃,没分手...

阿废冷眼观察所
2026-08-22 14:57:09
郭德纲结局早已注定!不是输在对错,而是时代需要他“背锅”,人性最丑陋的一面,在这场风波里暴露无遗

郭德纲结局早已注定!不是输在对错,而是时代需要他“背锅”,人性最丑陋的一面,在这场风波里暴露无遗

老郭说v
2026-08-24 01:27:30
CCTV5直播!中国女排迎最强对手,吴梦洁是期待,赵勇应抓紧练兵

CCTV5直播!中国女排迎最强对手,吴梦洁是期待,赵勇应抓紧练兵

跑者排球视角
2026-08-24 07:28:59
《功夫女足》香港排片跌到12%,周星驰直接撤了,他这不是跑路,是早把账算清了。

《功夫女足》香港排片跌到12%,周星驰直接撤了,他这不是跑路,是早把账算清了。

老吴教育课堂
2026-08-23 05:30:22
刘思齐改嫁后生下四个儿子,长子取名以永远纪念毛岸英,但毛岸英的抚恤金却拖了整整40年才发放

刘思齐改嫁后生下四个儿子,长子取名以永远纪念毛岸英,但毛岸英的抚恤金却拖了整整40年才发放

人生录
2026-08-20 00:05:09
因译电员译错,9架美机误炸六寨,上万中国百姓被炸3名将军丧生

因译电员译错,9架美机误炸六寨,上万中国百姓被炸3名将军丧生

大运河时空
2026-08-23 11:40:05
请北京大学管好满嘴跑火车的林毅夫、张丹丹

请北京大学管好满嘴跑火车的林毅夫、张丹丹

不主流讲话
2026-08-21 21:35:39
救人遭讹1.9万的店家获有关部门全额补偿:屎上雕花式补救措施!

救人遭讹1.9万的店家获有关部门全额补偿:屎上雕花式补救措施!

兵叔评说
2026-08-24 12:43:13
医院里的男科检查,到底有多刺激?4个真相别害羞了解

医院里的男科检查,到底有多刺激?4个真相别害羞了解

奇妙的本草
2026-08-14 12:30:29
深圳中学办公室现状:18个女老师15个单身,7个男老师全员有主,这事儿到底怪谁?

深圳中学办公室现状:18个女老师15个单身,7个男老师全员有主,这事儿到底怪谁?

金哥说新能源车
2026-08-24 08:28:00
“旅客买票占座放零食”,国铁集团企法部合规管理处处长,不能只讲其一

“旅客买票占座放零食”,国铁集团企法部合规管理处处长,不能只讲其一

青锋看点
2026-08-24 08:30:13
连续三个交易日,宇树科技跌去超900亿元

连续三个交易日,宇树科技跌去超900亿元

极目新闻
2026-08-24 11:26:11
告别房地产:中国下一座“超大货币蓄水池”正浮出水面

告别房地产:中国下一座“超大货币蓄水池”正浮出水面

靓仔情感
2026-08-24 06:59:28
中国造!非洲最大水电站之一在坦桑尼亚启用,电费直接打七折!

中国造!非洲最大水电站之一在坦桑尼亚启用,电费直接打七折!

娱乐圈的笔娱君
2026-08-24 08:04:55
当年为什么查办褚时健?

当年为什么查办褚时健?

百晓生谈历史
2025-08-20 21:55:53
彻底乱了!普京动真格了!俄军舰携核导弹逼近德国,美国发出情报警告,莫斯科或数周内就攻击北约!波兰危险了

彻底乱了!普京动真格了!俄军舰携核导弹逼近德国,美国发出情报警告,莫斯科或数周内就攻击北约!波兰危险了

爱吃醋的猫咪
2026-08-23 17:10:03
几百平方米住宅被扩建成数千平方米民宿、酒店,云南腾冲一“别墅”小镇被曝光

几百平方米住宅被扩建成数千平方米民宿、酒店,云南腾冲一“别墅”小镇被曝光

上观新闻
2026-08-24 07:09:58
无座票和二等座同价上热搜! 12306回应:二者等级一样 暂无法降价

无座票和二等座同价上热搜! 12306回应:二者等级一样 暂无法降价

闪电新闻
2026-08-24 13:19:38
2026-08-24 13:56:49
CSDN incentive-icons
CSDN
成就一亿技术人
26878文章数 242320关注度
往期回顾 全部

科技要闻

“捂脸跑”机器人火出圈,它自己想出来的

头条要闻

牛弹琴:日理万机的特朗普久久不能入睡 凌晨1点发飙

头条要闻

牛弹琴:日理万机的特朗普久久不能入睡 凌晨1点发飙

体育要闻

42张照片 珍藏世界杯的热辣滚烫

娱乐要闻

张韶涵演唱会突发不适,本人发文道歉

财经要闻

泡泡玛特,最大的问题才刚显现

汽车要闻

智能超混 国民家轿 上汽大众ID. ERA 5S上市 限时8.99万元起

态度原创

房产
亲子
游戏
家居
公开课

房产要闻

两大热盘即将入市!三亚又一批安居房狠货要炸场了!

亲子要闻

每天10分钟,把家和孩子都养顺,懒人爸妈必存

《GTA6》又泄露!夜景飞行美到窒息 等上PC不敢想

家居要闻

2026建博会(广州) 公装联探展交流活动

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版