Java essay Java essay
首页
  • Java基础
  • Java进阶
  • 设计模式
  • Java你不知道的小事
  • Spring初识
  • Spring进阶
  • SpringBoot基础
  • SpringBoot进阶
  • 什么是微服务
  • SpringCloud全家桶
  • Dubbo
  • SpringCloud Alibaba
  • Zookeeper
  • Nginx
  • RabbitMQ
  • RocketMQ
  • Docker入门到精通
  • 性能分析工具
  • 数据库性能优化
  • 性能优化
  • Java基础面试必问
  • JavaWeb面试必问
  • Java框架面试必问
  • 数据库面试必问
  • 中间件面试必问
  • 分布式微服务面试必问
  • Linux面试必问
  • 计算机网络面试必问
  • 开放性问题面试问必问
  • 简介
  • 联系我

Mr.Fire

后端程序员一枚
首页
  • Java基础
  • Java进阶
  • 设计模式
  • Java你不知道的小事
  • Spring初识
  • Spring进阶
  • SpringBoot基础
  • SpringBoot进阶
  • 什么是微服务
  • SpringCloud全家桶
  • Dubbo
  • SpringCloud Alibaba
  • Zookeeper
  • Nginx
  • RabbitMQ
  • RocketMQ
  • Docker入门到精通
  • 性能分析工具
  • 数据库性能优化
  • 性能优化
  • Java基础面试必问
  • JavaWeb面试必问
  • Java框架面试必问
  • 数据库面试必问
  • 中间件面试必问
  • 分布式微服务面试必问
  • Linux面试必问
  • 计算机网络面试必问
  • 开放性问题面试问必问
  • 简介
  • 联系我
  • 微服务概述

    • 微服务是什么?
      • 微服务是什么?
      • SpringCloud
      • SpringCloud与SpringBoot的关系
      • SpringCloud与Dubbo的区别
      • SpringCloudAlibaba
    • 分布式系统核心理论CAP和BASE理论
  • SpringCloud全家桶

  • SpringCloudAlibaba

  • 分布式锁

  • 分布式微服务
  • 微服务概述
Mr.Fire
2022-09-18
目录

微服务是什么?

# 微服务是什么?

微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户 提供最终价值。每个服务运行在其独立的进程中, 服务与服务间采用轻量级的通信机制互相沟通(通常是基于HTTP 的RESTful API)。每个服务都围绕着具体业务进行构建,并且能够被独立地部署到生产环境、类生产环境等。 另 外,应尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、 工具对其进行构建。

# SpringCloud

SpringCloud是微服务框架,是spring旗下的项目之一。其核心思想就是分布式应用,专门为高并发、高负载、高 可用(即所谓的三高系统)而生。 其思想同大数据技术的分布式计算概念相同,将真正的分布式技术引入web系统 中,达到可伸缩、可配置、持续集成、无缝整合的目的。是当下web开发领域中非常火热的开发技术。 其主要涉及 配置管理、服务发现、智能路由、负载均衡、熔断处理、控制总线、集群状态管理等等功能。核心组件包括 netflix、zuul、ribbon、feign和hystrix。 简而言之,SpringCloud是分布式微服务架构下的一站式解决方案,是各个微服务架构落地技术的集合体,俗称微 服务全家桶。

# SpringCloud与SpringBoot的关系

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

(2)SpringCloud是关注全局的微服务协调、整理、治理的框架,它将SpringBoot开发的单体整合并管理起来。

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

# SpringCloud与Dubbo的区别

  • SpringCloud:Spring公司开源的微服务框架,SpirngCloud 定位为微服务架构下的一站式解决方案。

  • Dubbo:阿里巴巴开源的RPC框架,Dubbo 是 SOA 时代的产物,它的关注点主要在于服务的调用,流量分发、流量监控和熔断等。

两者都是现在主流的微服务框架,但却存在不少差异:

初始定位不同

SpringCloud定位为微服务架构下的一站式解决方案;Dubbo 是 SOA 时代的产物,它的关注点主要在于服务的调用和治理

生态环境不同

SpringCloud依托于Spring平台,具备更加完善的生态体系;而Dubbo一开始只是做RPC远程调用,生态相对匮乏,现在逐渐丰富起来。

调用方式

SpringCloud是采用Http协议做远程调用,接口一般是Rest风格,比较灵活;Dubbo是采用Dubbo协议,接口一般是Java的Service接口,格式固定。但调用时采用Netty的NIO方式,性能较好。

组件差异比较多

例如SpringCloud注册中心一般用Eureka,而Dubbo用的是Zookeeper。

SpringCloud生态丰富,功能完善,更像是品牌机,Dubbo则相对灵活,可定制性强,更像是组装机。

# SpringCloudAlibaba

SpringCloudAlibaba是阿里开源的微服务解决方案,实际上对SpringCloud2.x和1.x实现拓展组件功能,在SpringCloud部组件停止更新之后,已成为主流的微服务解决方案。

SpringCloud和SpringCloudAlibaba对别:

SpringCloudAlibaba组件:

  • Sentinel:把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。

  • Nacos:一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

  • RocketMQ:一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。

  • Dubbo:Apache Dubbo是一款高性能 Java RPC 框架。

  • Seata:阿里巴巴开源产品,一个易于使用的高性能微服务分布式事务解决方案。

  • Alibaba Cloud OSS: 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。

  • Alibaba Cloud SchedulerX: 阿里中间件团队开发的一款分布式任务调度产品,提供秒级、精准、高可靠、高可用的定时(基于 Cron 表达式)任务调度服务。

  • Alibaba Cloud SMS: 覆盖全球的短信服务,友好、高效、智能的互联化通讯能力,帮助企业迅速搭建客户触达通道。

最后更新时间: 2022/09/30, 15:27:15
分布式系统核心理论CAP和BASE理论

分布式系统核心理论CAP和BASE理论→

最近更新
01
分布式系统核心理论CAP和BASE理论
03-05
02
分布式锁的几种实现方式
03-05
03
一文详解ThreadLocal是什么
03-01
更多文章>
Theme by Vdoing | Copyright © 2021-2023 Mr.Fire | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式