SpringCloud极简入门:微服务组件最全集锦,第一讲必须了解你是谁
ccwgpt 2024-10-30 01:38 38 浏览 0 评论
前言:
刚梳理完SpringBoot专栏基础入门课程,还没来及休息,马上就开启SpringCloud系列,科技发展如此迅速,你怎可停止脚步,奋斗吧,我的小伙伴。
没有接触SpringBoot基础的可以可参考相关文章:
今日头条:https://www.toutiao.com/i6641535440484565508/
或者百度搜索:“LP框架”找到SpringBoot相关实战文章(视频和文章正在整理中...)
目标在2019年春节前完成SpringBoot极简入门系列文章梳理工作
本讲内容
虽然都是概念性“词条”,不过我们还是有必要总体过一下的,粗略了解下需要掌握哪些技能
圈重点:消费者、生产者、注册中心、微服务、配置中心、熔断器组件、负载均衡组件、远程调度组件、路由网关..
应该不陌生吧,好像第一次接触,自己连什么是消费者、生产者都不知道,所以刚接触的小伙伴不要气馁,以后的章节我们会细化每个组件,从简单玩到精通,甚至玩到极致....
本讲开始,不要困,文章开始首先列下概念点,都是冗余叙述只保留精简描述。
一、Spring Cloud是什么?
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。
说白了,你可以理解成是SpringCloud是京东商城,它提供了各种东西,类似一个大商场。
二、目前常用的组件
2.1 Spring Cloud Config
服务配置中心,将所有的服务的配置文件放到本地仓库或者远程仓库,配置中心负责读取仓库的配置文件,其他服务向配置中心读取配置。Spring Cloud Config使得服务的配置统一管理,并可以在不人为重启服务的情况下进行配置文件的刷新。就像数据库的配置、redis的配置等通用配置都可以用Spring cloud config管理,目前我们也正在用这个组件,能简化一些工作。
2.2 Spring Cloud Netflix
包装了Netflix公司的微服务组件实现的,也是Spring Cloud核心组件,包括Eureka,Hystrix,Zuul,Archaius。(目前SpringCloud好似正在弃用Netflix系列组件,不管怎样,大多数人群还是在使用的)
2.3 Eureka
服务注册和发现组件(我们使用中...)
2.4 Hystrix
熔断器组件。它通过控制服务的API接口的熔断来转移故障,防止微服务系统发生雪崩效应。另外Hystrix能够起到服务限流和服务降级的作用。使用Hystrix Dashboard组件监控单个服务的熔断状态,使用Hystrix Turbine组件可以监控多个服务的熔断器的状态。(使用中..)
2.5 Zuul
智能路由网关组件。能够起到智能路由和请求过滤的作用,内部服务API接口通过Zuul网关统一对外暴露,防止内部服务敏感信息对外暴露。也可以实现安全验证,权限控制。(我们使用中...不过springcloud gateway用了一段时间了,打算用之代替)
2.6 Feign
声明式远程调度组件。(使用中...)
2.7 Ribbon
负载均衡组件(使用中...)
2.8 Archaius
配置管理API组件,一个基于Java的配置管理库,主要用于多配置的动态获取。(貌似挺好玩,有时间研究下,知道的朋友可以给个意见,觉得对我们挺有用,先画个重点)
2.9 Spring Cloud Bus
消息总线组件,常和Spring Cloud Config配合使用,用于动态刷新服务的配置。(用过一段时间,客户不大,组件四不四少点好呢?果断去掉了)
2.10 Spring Cloud Sleuth
服务链路追踪组件,封装了Dapper,Zipkin,Kibina等组件,可以实时监控服务链路调用状况。(后期研究下)
2.11 Spring Cloud Data Flow
大数据操作组件,它是Spring XD的替代品,也是一个混合计算模型,可以通过命令行的方式操作数据流
2.12 Spring Cloud Consul
该组件是Spring Cloud对Consul的封装,和Eureka类似,它是一个服务注册和发现组件。(观摩中)
2.13 Spring Cloud Zookeeper
该组件是Spring Cloud对Zookeeper的封装,也是用于服务注册和发现(dubbo的时候用过)
2.14 Spring Cloud Stream
数据流操作组件,可以封装 Redis,RabbitMQ,Kafka等组件,实现消息的接受和发送。
2.15 Spring Cloud CLI
该组件是对Spring Boot CLI的封装,可以让用户以命令行方式快速搭建和运行容器。
2.16 Spring Cloud Task
该组件基于Spring Tsak,提供任务调度和任务管理的功能
...暂且这些,本篇会持续更新此篇(凌晨4点了),送张网上的调用图
三:什么是微服务(Microservice)
微服务英文名称Microservice,Microservice架构模式就是将整个Web应用组织为一系列小的Web服务。这些小的Web服务可以独立地编译及部署,并通过各自暴露的API接口相互通讯。它们彼此相互协作,作为一个整体为用户提供功能,却可以独立地进行扩。
微服务架构需要的功能或使用场景(黑色部分圈重点)
1:我们把整个系统根据业务拆分成几个子系统。
2:每个子系统可以部署多个应用,多个应用之间使用负载均衡(分布式)。
3:需要一个服务注册中心,所有的服务都在注册中心注册,负载均衡也是通过在注册中心注册的服务来使用一定策略来实现。
4:所有的客户端都通过同一个网关地址访问后台的服务,通过路由配置,网关来判断一个URL请求由哪个服务处理。请求转发到服务上的时候也使用负载均衡。
5:服务之间有时候也需要相互访问。例如有一个用户模块,其他服务在处理一些业务的时候,要获取用户服务的用户数据。
6:需要一个断路器,及时处理服务调用时的超时和错误,防止由于其中一个服务的问题而导致整体系统的瘫痪。
7:还需要一个监控功能,监控每个服务调用花费的时间等。
....
个人建议SpringCloud为主,其它主流的微服务框架:Dubbo、thrift、Hessian等了解下(个人是Dubbo转成的SpringCloud)
不过也是看公司技术的选型,不过如何自己提前了解SpringCloud绝对是件正确的决策
End
最后:SpringCloud系列文章正式开启了,准备好了吗,会及时共享一站式解决方案,希望小伙伴们及时参与
更多信息关注今日头条@架构师速成记
最近熬夜,病了2天,导致没更新,作为SpringCloud专栏的第一篇,在这提醒大家:工作重要,但是身体更重要..
下次见
?
相关推荐
- MFC、Qt、WPF?该用哪个?(mfc和wpf区别)
-
MFC、Qt和WPF都是流行的框架和工具,用于开发图形用户界面(GUI)应用程序。选择哪个框架取决于你的具体需求和偏好。MFC(MicrosoftFoundationClass)是微软提供的框架,...
- 一款WPF开发的通讯调试神器(支持Modbus RTU、MQTT调试)
-
我们致力于探索、分享和推荐最新的实用技术栈、开源项目、框架和实用工具。每天都有新鲜的开源资讯等待你的发现!项目介绍Wu.CommTool是一个基于C#、WPF、Prism、MaterialDesign...
- 关于面试资深C#、WPF开发工程师的面试流程和问题
-
一、开场(2-3分钟)1.欢迎应聘者,简单介绍公司和面试流程。2.询问应聘者是否对公司或岗位有初步的问题。二、项目经验与技术应用(10-20分钟)1.让应聘者详细介绍几个他参与过的C#、...
- C# WPF MVVM模式Prism框架下事件发布与订阅
-
01—前言处理同模块不同窗体之间的通信和不同模块之间不同窗体的通信,Prism提供了一种事件机制,可以在应用程序中低耦合的模块之间进行通信,该机制基于事件聚合器服务,允许发布者和订阅者之间通过事件进行...
- WPF 机械类组件动画制作流程简述(wps上怎么画机械结构简图)
-
WPF机械类组件动画制作流程简述独立观察员2025年3月4日一、创建组件创建组件用户控件,将组件的各部分“零件”(图片)拼装在一起,形成组件的默认状态:二、给运动部分加上Rend...
- C#上位机WinForm和WPF选哪个?工控老油条的"血泪史"
-
作为一个从互联网卷进工控坑的"跨界难民",在这会摸鱼的时间咱就扯一下上位机开发选框架这档子破事。当年我抱着WPF的酷炫动画一头扎进车间,结果被产线老师傅一句"你这花里胡哨的玩意...
- 【一文扫盲】WPF、Winform、Electron有什么区别?
-
近年来,随着软件开发的不断发展,开发人员面临着选择适合他们项目的各种框架和工具的挑战。在桌面应用程序开发领域,WPF、Winform和Electron是三个备受关注的技术。本文将介绍这三者的区别,帮助...
- 一个开源、免费、强大且美观的WPF控件库
-
我们致力于探索、分享和推荐最新的实用技术栈、开源项目、框架和实用工具。每天都有新鲜的开源资讯等待你的发现!项目介绍HandyControl是一套基于WPF(WindowsPresentationF...
- WPF 根据系统主题自动切换浅色与深色模式
-
WPF根据系统主题自动切换浅色与深色模式控件名:Resources作者:WPFDevelopersOrg-驚鏵原文链接[1]:https://github.com/WPFDevelopers...
- WPF与WinForm的本质区别(wpf与maui)
-
在Windows应用程序开发中,WinForm和WPF是两种主要的技术框架。它们各自有不同的设计理念、渲染机制和开发模式。本文将详细探讨WPF与WinForm的本质区别,并通过示例进行说明。渲染机制W...
- Win10/Win11效率神器再进化:微软发布PowerToys 0.90.0版本
-
IT之家4月1日消息,微软今天(4月1日)更新PowerToys,在最新发布的0.90.0版本中,修复多个BUG之外,引入多项功能更新,为Windows10、Windows...
- 一款非常漂亮的WPF管理系统(wpf架构及特性)
-
我们致力于探索、分享和推荐最新的实用技术栈、开源项目、框架和实用工具。每天都有新鲜的开源资讯等待你的发现!WPFManager项目介绍该项目是一款WPF开发的管理系统,数据库采用的MSSqlserv...
- WPF 实现描点导航(wpf按钮的点击事件)
-
WPF实现描点导航控件名:NavScrollPanel作者:WPFDevelopersOrg-驚鏵原文链接[1]:https://github.com/WPFDevelopersOrg/WPF...
- 微软更新基于Win11的Validation OS 2504:增强 .NET与WPF
-
IT之家5月1日消息,科技媒体NeoWin今天(5月1日)发布博文,报道称微软公司更新基于Windows11的ValidationOS,增强支持.NET和WPF,并优...
- WPF的技术架构与优势(wpf的前景)
-
WindowsPresentationFoundation(WPF)是一个现代化的用户界面框架,专为构建Windows应用程序而设计。它通过分层的技术架构和丰富的功能集,提供了全面的应用程...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- MVC框架 (46)
- spring框架 (46)
- 框架图 (58)
- bootstrap框架 (43)
- flask框架 (53)
- quartz框架 (51)
- abp框架 (47)
- jpa框架 (47)
- laravel框架 (46)
- express框架 (43)
- springmvc框架 (49)
- 分布式事务框架 (65)
- scrapy框架 (52)
- java框架spring (43)
- grpc框架 (55)
- orm框架有哪些 (43)
- ppt框架 (48)
- 内联框架 (52)
- winform框架 (46)
- gui框架 (44)
- cad怎么画框架 (58)
- ps怎么画框架 (47)
- ssm框架实现登录注册 (49)
- oracle字符串长度 (48)
- oracle提交事务 (47)