微服务架构风格

简介: 特点通过将一个应用程序设计构建为一组松散耦合的协作服务。每个服务都实现了一部分的相关功能。对应于Scale Cube(参考分布式系统三维可缩放模型)的Y轴。服务使用HTTP / REST等同步协议或AMQP等异步协议进行通信。

特点

通过将一个应用程序设计构建为一组松散耦合的协作服务。每个服务都实现了一部分的相关功能。对应于Scale Cube(参考分布式系统三维可缩放模型)的Y轴。
服务使用HTTP / REST等同步协议或AMQP等异步协议进行通信。可以彼此独立地开发和部署服务。每个服务都有自己的数据库。

img_de747fe0e8245e7f904922f9ab4e100e.png

优点

支持大型复杂应用程序的持续交付和部署

  • 更好的可测试性 - 测试服务更小,速度更快;
  • 更好的可部署性 - 可以独立部署服务;
  • 能够围绕多个自动团队组织开发工作。

每个微服务的代码规模更小

  • 使开发人员更容易理解和开发;
  • 开发人员的在使用IDE时更加高效;
  • 应用程序启动速度更快,加快了部署速度。

改善了整个应用体系的故障隔离能力

消除对技术堆栈的长期绑定

缺点

分布式系统的额外复杂性

  • 开发工具没有针对分布式系统的特定支持;
  • 集成测试更加困难;
  • 必须实现分布式的通信机制;
  • 处理分布式事务的复杂度;
  • 要处理多个开发团队之间的协调工作。

部署的复杂性

  • 容器化部署的复杂性;
  • 容器编排和服务治理的复杂性;
  • 需要更多公共服务的支持,例如服务发现,服务指标监控等。

额外的内存消耗

首先要解决的问题

如何将一个大型复杂的应用程序分解为微服务?

云平台实践中的微服务设计原则
按业务领域分解模式划分微服务

微服务架构的模式集合

微服务架构是一组架构模式和特性的集合,这个集合很大程度上定义了什么是微服务,也说明了如何应用微服务架构来构建大型/复杂应用程序。

img_61a71d821654c9292f2d75207fe1e92c.jpe

部署模式

每台主机有多个服务实例
每个主机的服务实例
每个容器的服务实例

公共特性

微服务通用框架
中心化配置

通信模式

远程过程调用
消息

外部访问模式

API网关模式

服务发现模式

客户端发现
服务器端发现

可靠特性

断路器模式

数据管理模式

每个服务一个数据库

安全特性

JWT访问令牌
UAA安全认证

测试特性

服务测试
集成测试

可监控特性

日志聚合
应用指标
审计日志
分布式跟踪
异常跟踪
健康检查API
记录部署并更改

UI模式

服务器端UI
客户端UI

相关文章

JHipster生成微服务架构的应用栈
单体架构风格




你现在的气质里,藏着你走过的路,读过的书,爱过的人。


目录
相关文章
|
3月前
|
Cloud Native Serverless API
微服务架构实战指南:从单体应用到云原生的蜕变之路
🌟蒋星熠Jaxonic,代码为舟的星际旅人。深耕微服务架构,擅以DDD拆分服务、构建高可用通信与治理体系。分享从单体到云原生的实战经验,探索技术演进的无限可能。
微服务架构实战指南:从单体应用到云原生的蜕变之路
|
弹性计算 API 持续交付
后端服务架构的微服务化转型
本文旨在探讨后端服务从单体架构向微服务架构转型的过程,分析微服务架构的优势和面临的挑战。文章首先介绍单体架构的局限性,然后详细阐述微服务架构的核心概念及其在现代软件开发中的应用。通过对比两种架构,指出微服务化转型的必要性和实施策略。最后,讨论了微服务架构实施过程中可能遇到的问题及解决方案。
|
6月前
|
缓存 Cloud Native Java
Java 面试微服务架构与云原生技术实操内容及核心考点梳理 Java 面试
本内容涵盖Java面试核心技术实操,包括微服务架构(Spring Cloud Alibaba)、响应式编程(WebFlux)、容器化(Docker+K8s)、函数式编程、多级缓存、分库分表、链路追踪(Skywalking)等大厂高频考点,助你系统提升面试能力。
322 0
|
Cloud Native Devops 云计算
云计算的未来:云原生架构与微服务的革命####
【10月更文挑战第21天】 随着企业数字化转型的加速,云原生技术正迅速成为IT行业的新宠。本文深入探讨了云原生架构的核心理念、关键技术如容器化和微服务的优势,以及如何通过这些技术实现高效、灵活且可扩展的现代应用开发。我们将揭示云原生如何重塑软件开发流程,提升业务敏捷性,并探索其对企业IT架构的深远影响。 ####
370 3
|
Java 开发者 微服务
从单体到微服务:如何借助 Spring Cloud 实现架构转型
**Spring Cloud** 是一套基于 Spring 框架的**微服务架构解决方案**,它提供了一系列的工具和组件,帮助开发者快速构建分布式系统,尤其是微服务架构。
1188 69
从单体到微服务:如何借助 Spring Cloud 实现架构转型
|
9月前
|
Cloud Native Serverless 流计算
云原生时代的应用架构演进:从微服务到 Serverless 的阿里云实践
云原生技术正重塑企业数字化转型路径。阿里云作为亚太领先云服务商,提供完整云原生产品矩阵:容器服务ACK优化启动速度与镜像分发效率;MSE微服务引擎保障高可用性;ASM服务网格降低资源消耗;函数计算FC突破冷启动瓶颈;SAE重新定义PaaS边界;PolarDB数据库实现存储计算分离;DataWorks简化数据湖构建;Flink实时计算助力风控系统。这些技术已在多行业落地,推动效率提升与商业模式创新,助力企业在数字化浪潮中占据先机。
492 12
|
运维 监控 持续交付
微服务架构解析:跨越传统架构的技术革命
微服务架构(Microservices Architecture)是一种软件架构风格,它将一个大型的单体应用拆分为多个小而独立的服务,每个服务都可以独立开发、部署和扩展。
3381 36
微服务架构解析:跨越传统架构的技术革命
|
11月前
|
传感器 监控 安全
智慧工地云平台的技术架构解析:微服务+Spring Cloud如何支撑海量数据?
慧工地解决方案依托AI、物联网和BIM技术,实现对施工现场的全方位、立体化管理。通过规范施工、减少安全隐患、节省人力、降低运营成本,提升工地管理的安全性、效率和精益度。该方案适用于大型建筑、基础设施、房地产开发等场景,具备微服务架构、大数据与AI分析、物联网设备联网、多端协同等创新点,推动建筑行业向数字化、智能化转型。未来将融合5G、区块链等技术,助力智慧城市建设。
550 1
|
12月前
|
人工智能 安全 Java
微服务引擎 MSE:打造通用的企业级微服务架构
微服务引擎MSE致力于打造通用的企业级微服务架构,涵盖四大核心内容:微服务技术趋势与挑战、MSE应对方案、拥抱开源及最佳实践。MSE通过流量入口、内部流量管理、服务治理等模块,提供高可用、跨语言支持和性能优化。此外,MSE坚持开放,推动云原生与AI融合,助力企业实现无缝迁移和高效运维。
546 1