搜索
您的当前位置:首页正文

我的微服务探索之路

2024-12-21 来源:二三四教育网

microservices

我的微服务架构探索之路,接下来所有内容围绕 Spring Cloud Dalston.SR2 总结 ,工作繁忙我会每天更新一点点~ 你的Start 是对我最大的鼓励,谢谢。

  • github地址:

什么是微服务?

与单体系统的区别

在以往传统的企业系统架构中,我们针对一个复杂的业务需求通常使用对象或业务类 型来构建一个单体项目。在项目中我们通常将葙求分为三个主要部分:数据库、服务端处理、前端展现。在业务发展初期,由于所有的业务逻辑在一个应用中,开发、测试、部署 都还比较容結且方便。但是,随着企业的发展,系统为了应对不同的业务需求会不断为该 单体项目增加不间的业务模块:问时随着移动端设备的进步,前端展现揆块己经不仅仅局限于Web的形式,这对于系统后端向前端的支持需要更多的接口模块。单体应用由于面对的业务需求更为宽泛,不断扩大的需求会使得单体应用变得越来越臃肿。单体应用的问题就逐渐凸显出来,由于单体系统部署在一个进程内,往往我们修改了一个很小的功能,为 /部署上线会影响其他功能的运行•并且,单体应用中的这些功能模块的使用场景、并发量、消耗的资源类型都各有不同,对于资源的利用又互相影响,这样使得我们对各个业务 模块的系统容量很难给出较为准确的评估.所以,单体系统在初期虽然可以非常方便地进行开发和使用,但是随着系统的发展,维护成本会变得越来越大,且难以控制.为了解决单体系统变得庞人臃肿之后产生的难以维护的问题.微服务架构诞生了并被 大家所关注。我们将系统中的不同功能模块拆分成多个不同的服务,这些服务都能够独立 部署和扩展,由于每个服务都运行在自己的进程内,在部署上有稳固的边界,这样毎个服务的更新都不会影响其他服务的运行,同时,由于是独立部署的,我们可以更准确地为每 个服务评估性能容量,通过配合服务间的协作流程也可以更容易地发现系统的瓶颈位置,以及给出较为准确的系统级性能容最评估。

微服务架构

优点

  • 1、各服务独立部署,对开发更为敏捷
  • 2、跨平台且统一用resful风格接口规范
  • 3、服务可拨插,易于扩展
  • 4、易于测试
  • 5、分散式管理,彼此松耦合
  • 6、高可用、负载均衡

缺点

  • 1、微服务的粗细粒度没统一标准
  • 2、架构与设计需要学习一些新的技术
  • 3、分布式架构下必须满足CAP定律.
  • 4、运维难度提高

Spring Cloud 简介

Spring Cloud是一个基于Spring boot实现的微服务架构开发工具。Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)。分布式系统的协调导致了样板模式, 使用Spring Cloud开发人员可以快速地支持实现这些模式的服务和应用程序。他们将在任何分布式环境中运行良好,包括开发人员自己的笔记本电脑,裸机数据中心,以及Cloud Foundry等托管平台。

  • 官网 :
  • 我用的版本: Dalston SR2
  • 官方帮助手册:

Spring Cloud 特性

Spring Cloud专注于提供良好的开箱即用经验的典型用例和可扩展性机制覆盖。

  • 分布式/版本化配置
  • 服务注册和发现
  • 路由
  • service - to - service调用
  • 负载均衡
  • 断路器
  • 分布式消息传递

微服务组件

组件简述

组件 简述 备注
Eureka 微服务注册中心
Ribbon 微服务负载均衡
Hystrix 微服务容错保护
Feign 微服务声明式服务调用
Zuul 微服务API网关
Config 微服务分布式配置中心
Bus 微服务消息总线
Stream 微服务消息驱动
Sleuth 微服务分布式跟踪

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

热门图文

Top