当前位置:首页 > 科技  > 软件

微服务架构落地及其演进

来源: 责编: 时间:2024-06-05 17:36:07 238观看
导读微服务架构的定义:图片如何筛选微服务:图片三种场景可以考虑使用微服务(Are you tall enough?)规模大(团队超过10人)业务复杂度高(系统超过5个子模块)需要长期演进(项目周期超过半年)其他因素筛选微服务软件功能变化频繁,快速迭

微服务架构的定义:kPV28资讯网——每日最新资讯28at.com

图片图片kPV28资讯网——每日最新资讯28at.com

如何筛选微服务:kPV28资讯网——每日最新资讯28at.com

图片图片kPV28资讯网——每日最新资讯28at.com

三种场景可以考虑使用微服务

(Are you tall enough?)kPV28资讯网——每日最新资讯28at.com

  • 规模大(团队超过10人)
  • 业务复杂度高(系统超过5个子模块)
  • 需要长期演进(项目周期超过半年)

其他因素筛选微服务

  • 软件功能变化频繁,快速迭代,缩短交付周期为核心的业务。
  • 模块有独立的生命周期,服务复用,降本增效,减少重复造轮子
  • 有独立的隔离性需求和扩展性需求(容错)
  • 简化的外部依赖(Facade模式场景)

kPV28资讯网——每日最新资讯28at.com

如何拆分微服务:kPV28资讯网——每日最新资讯28at.com

图片图片kPV28资讯网——每日最新资讯28at.com

拆分

  1. Domain-Driven Design (DDD)
  • Domain(领域): 领域是指与某个特定问题相关的知识领域和行为。在设计微服务时,首先要识别和定义业务领域。
  • Bounded Context(界限上下文): 界限上下文定义了领域的边界。在拆分微服务时,要确保每个服务有明确的边界,独立承担特定的业务功能。
  1. 业务功能模块化
  • 将系统按照业务功能拆分成多个模块,每个模块对应一个或多个微服务。例如:订单服务、用户服务、支付服务等。kPV28资讯网——每日最新资讯28at.com

  1. 垂直拆分kPV28资讯网——每日最新资讯28at.com

  • 图片左侧展示了不同层次的架构设计,从实体层到接口适配层再到控制层,可以根据这些层次进行垂直拆分,使每个微服务独立处理特定的功能。kPV28资讯网——每日最新资讯28at.com

构建

kPV28资讯网——每日最新资讯28at.com

12-Factor App 方法论

  • I. 基准代码: 一份基准代码,多份部署。每个微服务应该有自己的代码库。
  • II. 依赖: 显式声明和隔离依赖关系。确保微服务之间的依赖关系清晰明确。
  • III. 配置: 在环境中存储配置。将配置和代码分离,以便在不同环境中轻松部署。
  • IV. 后端服务: 把后端服务当作附加资源。微服务应能够独立调用其他后端服务。
  • V. 构建、发布、运行: 严格分离构建和运行阶段。确保每个微服务的构建和运行环境一致。
  • VI. 进程: 以一个或多个无状态进程运行应用。微服务应该无状态,方便扩展。
  • VII. 端口绑定: 通过端口绑定提供服务。每个微服务独立运行并监听自己的端口。
  • VIII. 并发: 通过进程模型进行扩展。根据需要动态扩展微服务实例。
  • IX. 易处理: 快速启动和优雅终止,确保最大化健壮性。微服务应快速启动并能平滑关闭。
  • X. 环境等价: 尽可能的保持开发、预发布、线上环境相同。确保不同环境的一致性。
  • XI. 日志: 把日志当作事件流。集中管理和分析日志。
  • XII. 管理进程: 后台管理任务作为一次性进程运行。后台任务应独立运行。

DevOps 实践

  • 自动化部署:使用CI/CD管道实现代码的自动构建、测试和部署。kPV28资讯网——每日最新资讯28at.com

  • 持续监控:对微服务的运行状态进行持续监控,确保服务的高可用性。kPV28资讯网——每日最新资讯28at.com

    kPV28资讯网——每日最新资讯28at.com

技术选型

  • 选择合适的技术栈和工具来支持微服务的开发和运维。例如:Spring Boot、Docker、Kubernetes等。kPV28资讯网——每日最新资讯28at.com

kPV28资讯网——每日最新资讯28at.com

微服务架构的两种建设思路:kPV28资讯网——每日最新资讯28at.com

图片图片kPV28资讯网——每日最新资讯28at.com

SpringCloud的技术生态:kPV28资讯网——每日最新资讯28at.com

图片图片kPV28资讯网——每日最新资讯28at.com

Spring Cloud提供了一整套微服务架构的解决方案,通过服务注册与发现、配置管理、消息队列、分布式跟踪、服务熔断等组件,帮助开发者构建高可用、高扩展性的微服务系统。这张生态图展示了各个组件之间的关系和作用,是理解Spring Cloud生态系统的一个很好的参考。kPV28资讯网——每日最新资讯28at.com

Service(服务)

  • 服务注册:使用Eureka或Consul进行服务注册。
  • 服务调用:通过Feign进行服务调用,依赖Ribbon实现负载均衡。
  • 服务跟踪:使用Sleuth进行分布式服务跟踪。
  • 服务熔断:使用Hystrix实现服务熔断,Turbine用于集群监控。
  • 依赖管理:使用CLI服务调用脚本,任务调度和数据流(Data Flow)管理。
  • 大数据:通过JPA封装JDBC连接大数据。
  • 配置管理:通过Config Server管理配置,支持本地和远程Git仓库。

Consumer(消费者)

  • 消息消费:通过Spring Cloud Stream与RabbitMQ或Kafka集成,实现消息队列的消费。
  • 服务发现:通过Eureka或Consul发现服务。
  • 服务安全:通过Security实现服务的安全管理。
  • 网关:使用Zuul实现网关功能,处理外部请求。
  • 服务配置:在服务启动时通过Config Server获取配置信息。

Spring Boot Bus

  • 广播消息:用于整个服务集群统一广播消息,例如刷新配置。

其他组件

  • Cluster管理:使用Redis和其他集群管理工具(如Cluster)管理集群。
  • 容器化部署:使用Docker和Linux进行容器化部署,支持命令行(CLI)调用服务。

消息队列

  • 消息发布与订阅:使用Spring Cloud Stream集成RabbitMQ和Kafka,实现消息的发布与订阅。

配置管理

  • Config Server:管理配置文件,支持从本地或远程Git仓库获取配置,Spring Boot应用在启动时会从Config Server获取配置。

安全与网关

  • Security:提供服务的安全认证与授权。
  • Zuul:作为网关,处理外部请求并路由到相应的服务。

分布式跟踪

  • Sleuth:提供分布式系统的请求跟踪。
  • Turbine:用于监控Hystrix的集群服务。

负载均衡

  • Ribbon:在Feign调用时,Ribbon提供负载均衡功能。

任务调度与数据流

  • Task:用于任务调度。
  • Data Flow:管理数据流。

微服务和SpringCloud的架构复杂性:kPV28资讯网——每日最新资讯28at.com

图片 图片 kPV28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-92099-0.html微服务架构落地及其演进

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: Genai技术栈架构指南—十个工具,你知道哪个?

下一篇: 一文搞懂 Spring 循环依赖

标签:
  • 热门焦点
  • 5月安卓手机好评榜:魅族20 Pro夺冠

    性能榜和性价比榜之后,我们来看最后的安卓手机好评榜,数据来源安兔兔评测,收集时间2023年5月1日至5月31日,仅限国内市场。第一名:魅族20 Pro好评率:97.50%不得不感慨魅族老品牌还
  • 三言两语说透设计模式的艺术-简单工厂模式

    一、写在前面工厂模式是最常见的一种创建型设计模式,通常说的工厂模式指的是工厂方法模式,是使用频率最高的工厂模式。简单工厂模式又称为静态工厂方法模式,不属于GoF 23种设计
  • 一个注解实现接口幂等,这样才优雅!

    场景码猿慢病云管理系统中其实高并发的场景不是很多,没有必要每个接口都去考虑并发高的场景,比如添加住院患者的这个接口,具体的业务代码就不贴了,业务伪代码如下:图片上述代码有
  • 每天一道面试题-CPU伪共享

    前言:了不起:又到了每天一到面试题的时候了!学弟,最近学习的怎么样啊 了不起学弟:最近学习的还不错,每天都在学习,每天都在进步! 了不起:那你最近学习的什么呢? 了不起学弟:最近在学习C
  • Temu起诉SHEIN,跨境电商战事升级

    来源 | 伯虎财经(bohuFN)作者 | 陈平安日前据外媒报道,拼多多旗下跨境电商平台Temu正对竞争对手SHEIN提起新诉讼,诉状称Shein“利用市场支配力量强迫服装厂商与之签订独家
  • 国行版三星Galaxy Z Fold5/Z Flip5发布 售价7499元起

    2023年8月3日,三星电子举行Galaxy新品中国发布会,正式在国内推出了新一代折叠屏智能手机三星Galaxy Z Fold5与Galaxy Z Flip5,以及三星Galaxy Tab S9
  • 联想小新Pad Pro 12.6将要推出,搭载高通骁龙 870 处理器

    联想小新Pad Pro 12.6将于秋季新品会上推出,官方按照惯例直接在发布会前给出了机型的所有参数。联想小新 Pad Pro 12.6 将搭载高通骁龙 870 处理器,重量为 5
  • 电博会上海尔智家模拟500平大平层,还原生活空间沉浸式体验

    电博会为了更好地让参展观众真正感受到智能家居的绝妙之处,海尔智家的程传岭先生同样介绍了展会上海尔智家的模拟500平大平层,还原生活空间沉浸式体验。程传
  • “买真退假” 这种“羊毛”不能薅

    □ 法治日报 记者 王春   □ 本报通讯员 胡佳丽  2020年初,还在上大学的小东加入了一个大学生兼职QQ群。群主“七王”在群里介绍一些刷单赚
Top