01微服务概述与SpringCloud

一、微服务架构

​ 微服务化的核心就是将传统的一站式应用,根据业务拆分成一个一个的服务,彻底地去耦合,每一个微服务提供单个业务功能的服务,一个服务做一件事,从技术角度看就是一种小而独立的处理过程,类似进程概念,能够自行单独启动或销毁,拥有自己独立的数据库。

二、微服务技术栈

微服务条目 落地技术
服务开发 SpringbootSpringSpringMVC
服务配置与管理 Netflix公司的Archaius、阿里的Diamond
服务注册与发现 EurekaConsulZookeeper
服务调用 RestRPCgRPC
服务熔断器 HystrixEnvoy
负载均衡 RibbonNginx
服务接口调用(客户端调用服务的简化工具) Feign
消息队列 KafkaRabbitMQActiveMQ
服务配置中心管理 SpringCloudConfigChef
服务路由(API网关) Zuul
服务监控 ZabbixNagiosMetricsSpectator
全链路追踪 ZipkinBraveDapper
服务部署 DockerOpenStackKubernetes
数据流操作开发包 SpringCloud Stream(封装与Redis,RabbitKafka等发送接收消息)
事件消息总线 Spring Cloud Bus

三、SpringCloud简介

SpringCloud,基于SpringBoot提供了一套微服务解决方案,包括服务注册与发现,配置中心,全链路监控,服务网关,负载均衡,熔断器等组件,除了基于NetFlix的开源组件做高度抽象封装之外,还有一些选型中立的开源组件。

SpringCloud利用SpringBoot的开发便利性巧妙地简化了分布式系统基础设施的开发,SpringCloud为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等,它们都可以用SpringBoot的开发风格做到一键启动和部署。

SpringCloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过SpringBoot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包

SpringCloud和SpringBoot的关系

SpringBoot专注于快速方便的开发单个个体微服务。

SpringCloud是关注全局的微服务协调整理治理框架,它将SpringBoot开发的一个个单体微服务整合并管理起来,
为各个微服务之间提供,配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等集成服务

SpringBoot可以离开SpringCloud独立使用开发项目,但是SpringCloud离不开SpringBoot,属于依赖的关系。

发布了81 篇原创文章 · 获赞 124 · 访问量 38万+

猜你喜欢

转载自blog.csdn.net/qq_38697437/article/details/103162405