【Spring Cloud】一、什么是微服务?

微服务是一种将大型应用程序拆分为一组小型、独立的服务的架构模式,每个服务都能独立部署和运行。其优点包括模块化、技术栈多样化和易于集成,但同时也带来了分布式系统的复杂性、服务间通信的挑战和运维压力。SpringCloud因其成熟度、社区支持和易用性成为微服务落地的热门选择。常见的微服务技术栈涉及服务开发、注册发现、调用、熔断、监控等多个方面。不同公司如阿里、京东等有各自的微服务实现,如Dubbo和JFS。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、什么是微服务?

  • 就目前而言,对于微服务,业界没有一个统一的标准的定义
  • 微服务市一中架构模式,它是一种架构风格,提倡将单一的应用程序划分成一组小服务。每个服务独立运行在自己的进程内(模块化

1.1 微服务的优缺点

优点

  • 单一职责原则
  • 每个服务足够内聚,足够小,代码容易理解
  • 开发简单,开发效率高,一个服务可能只专一干一件事
  • 可以使用不同的开发语言
  • 易于和第三方集成,微服务允许容易且灵活的方式集成部署
  • 微服务允许利用最新技术
  • 微服务只是业务逻辑代码,不会和 HTML、CSS 或其他界面
    混合
  • 每个微服务都有自己的储存能力,可以有自己的数据库,也可以有统一的数据库

缺点

  • 开发人员要处理分布式系统的复杂性
  • 服务间通信成本变高
  • 随着服务的增加,运维的压力也相对变大
  • 系统部署依赖
  • 数据一致性
  • 系统集成测试
  • 性能监控

1.2 微服务技术栈

微服务条目落地技术
服务开发Spring、Spring Boot、Spring MVC
服务配置与管理Netfix 公司的 Archaius、阿里的 Diamond 等
服务注册与发现Eureka、Consu、Zookeeper 等
服务调用Rest、RPC、gRPC
服务熔断器Hystrix、Envoy 等
服务接口调用Feign 等
消息队列Kafka、RabbitMQ、ActiveMQ 等
服务配置中心管理SpringCloudConfig、Chef 等
服务路由(API网关)Zuul 等
服务监控Zabbix、Nagios、Metrics、Specatator 等
全链路追踪Zipkin、Brave、Dapper 等
服务部署Docker、OpenStack、Kubernetes 等
数组流操作开发包SpringCloud Stream(封装与Redis、Rabbit、Kafka等发送接收消息)
时间消息总线SpringCloud Bus

1.3 为什么选择 SpringCloud 作为微服务架构

  1. 选型依据
    - 整体解决方案和框架的成熟度
    - 社区热度
    - 可维护性
    - 学习曲线
  2. 当前各大 IT 公司用的微服务架构有哪些?
    - 阿里:dubbo + HFS
    - 京东:JFS
    - 新浪:Motan
    - 当当网:DubboX
  3. 各微服务框架对比
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值