SpringCloud微服务实战(1)-简介(下)

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 微服务是一种架构风格: 一系列微小的服务共同组成 跑在自己的进程 每个服务为独立的业务开发 独立部署 分布式的管理

微服务架构发展历程

响应式微服务

  • 即时响应性
    服务任何时间都要有响应,哪怕挂了
  • 可恢复性
    也称回弹性,压力大过后压力降下来后状态能够恢复。比如熔断、降级等机制
  • 弹性
    即伸缩性,无状态服务可以任意扩展

框架最出名的就是 Vert.x Springwebflux RxJava

服务网格与云原生

image.png

将服务间的网络通信层及其控制策略下沉到基础设施,就形成了所谓的“服务网格”技术。 通过微服务、容器化、持续交付、Devops等技术,组成了所谓的“元原生”体系。

数据库网格

单元化架构

CellArchitecture

• 以单元为组织架构,以单元化部署为调度单位

• 每个单元都是全能的,部署了所有应用,但不是全量的,只有他负责的单元部分的数据

• 通过业务入口设置流量调度器进行流控

微服务架构应用场景

单体与微服务

• 微服务引用在复杂度低的情况下,生产力反而比单体架构低

• 在复杂度高的地方,情况恰恰相反

• 随着复杂度的升高,单体架构的生产力快速下降,而微服务相对平稳

大规模复杂业务系统的架构升级与中台建设

如何实施

微服务架构最佳实践

系统改造

• 功能剥离,数据解耦

• 自然演进,逐步拆分

• 小步快跑,快速迭代

• 灰度发布,谨慎试错

• 提质量线,还技术债

拆分原则

• 高内聚低耦合

• 不同阶段拆分要点不同

扩展立方体

• 特性开关

• 容错设计

自动化

• 自动化测试

• 自动化部署

• 自动化运维

分布式事务

• 幂等/去重/补偿

• 慎用分布式事务

监控体系

• 系统指标

• 业务指标

• 容量规划

• 报警预警

• 运维流程 SOP(StandardOperatingProcedure标准作业程序)

• 故障处理 COE(CorrectionOfError 错误处理 )

SpringCloud

微服务相关框架与工具

APM

应用性能监控

• ApacheSkywalking

• Pinpoint

• Zipkin

监控

• ELK

• prometheus + Grafana

• MQ + 时序数据库(InfluxDB/ openTSDB)

可观测性

• Tracing

• ApacheSkywalking

• 听云

• Logging

• ELK

• Metrics

• Prometheus + Grafana

权限控制

核心3A

• Authentication 认证Authc

• Authorization 授权Authz

• Audit 审计

相关框架

• CAS + SSO(CentralAuthenticationService)

• TGC TicketGrantingCookie

• ST ServiceTicket

• JWT/Token

• OAuth2.0

• SpringSecurity

• ApacheShiro

数据处理

• 分库分表Sharding

• 分布式事务DTX

• 数据迁移Migration

• 数据库集群扩容Scaling

• 数据操作审计Audit

网关和通信

• 流量网关与WAF

• Nginx

• OpenRestry

• Kong

• 业务网关

• Zuul2

• SCG

• Soul

• 通信协议

• Http

• WebSocket

• Mq


目录
相关文章
|
8天前
|
负载均衡 Java 开发者
细解微服务架构实践:如何使用Spring Cloud进行Java微服务治理
【4月更文挑战第17天】Spring Cloud是Java微服务治理的首选框架,整合了Eureka(服务发现)、Ribbon(客户端负载均衡)、Hystrix(熔断器)、Zuul(API网关)和Config Server(配置中心)。通过Eureka实现服务注册与发现,Ribbon提供负载均衡,Hystrix实现熔断保护,Zuul作为API网关,Config Server集中管理配置。理解并运用Spring Cloud进行微服务治理是现代Java开发者的关键技能。
|
17天前
|
SpringCloudAlibaba 监控 Java
SpringCloud Alibaba微服务-- Sentinel的使用(保姆级)
SpringCloud Alibaba微服务-- Sentinel的使用(保姆级)
|
17天前
|
SpringCloudAlibaba Java API
SpringCloud Alibaba微服务工程搭建(保姆级)
SpringCloud Alibaba微服务工程搭建(保姆级)
|
17天前
|
SpringCloudAlibaba Java Nacos
SpringCloud Alibaba微服务 -- Nacos使用以及注册中心和配置中心的应用(保姆级)
SpringCloud Alibaba微服务 -- Nacos使用以及注册中心和配置中心的应用(保姆级)
|
23天前
|
负载均衡 网络协议 Java
构建高效可扩展的微服务架构:利用Spring Cloud实现服务发现与负载均衡
本文将探讨如何利用Spring Cloud技术实现微服务架构中的服务发现与负载均衡,通过注册中心来管理服务的注册与发现,并通过负载均衡策略实现请求的分发,从而构建高效可扩展的微服务系统。
|
5天前
|
敏捷开发 监控 数据管理
构建高效微服务架构的五大关键策略
【4月更文挑战第20天】在当今软件开发领域,微服务架构已经成为一种流行的设计模式,它允许开发团队以灵活、可扩展的方式构建应用程序。本文将探讨构建高效微服务架构的五大关键策略,包括服务划分、通信机制、数据管理、安全性考虑以及监控与日志。这些策略对于确保系统的可靠性、可维护性和性能至关重要。
|
17天前
|
API 数据库 开发者
构建高效可靠的微服务架构:后端开发的新范式
【4月更文挑战第8天】 随着现代软件开发的复杂性日益增加,传统的单体应用架构面临着可扩展性、维护性和敏捷性的挑战。为了解决这些问题,微服务架构应运而生,并迅速成为后端开发领域的一股清流。本文将深入探讨微服务架构的设计原则、实施策略及其带来的优势与挑战,为后端开发者提供一种全新视角,以实现更加灵活、高效和稳定的系统构建。
23 0
|
5天前
|
消息中间件 监控 持续交付
构建高效微服务架构:后端开发的进阶之路
【4月更文挑战第20天】 随着现代软件开发的复杂性日益增加,传统的单体应用已难以满足快速迭代和灵活部署的需求。微服务架构作为一种新兴的分布式系统设计方式,以其独立部署、易于扩展和维护的特点,成为解决这一问题的关键。本文将深入探讨微服务的核心概念、设计原则以及在后端开发实践中如何构建一个高效的微服务架构。我们将从服务划分、通信机制、数据一致性、服务发现与注册等方面入手,提供一系列实用的策略和建议,帮助开发者优化后端系统的性能和可维护性。
|
15天前
|
Kubernetes 安全 Java
构建高效微服务架构:从理论到实践
【4月更文挑战第9天】 在当今快速迭代与竞争激烈的软件市场中,微服务架构以其灵活性、可扩展性及容错性,成为众多企业转型的首选。本文将深入探讨如何从零开始构建一个高效的微服务系统,覆盖从概念理解、设计原则、技术选型到部署维护的各个阶段。通过实际案例分析与最佳实践分享,旨在为后端工程师提供一套全面的微服务构建指南,帮助读者在面对复杂系统设计时能够做出明智的决策,并提升系统的可靠性与维护效率。
|
2天前
|
监控 API 持续交付
构建高效微服务架构:后端开发的新趋势
【4月更文挑战第23天】 随着现代软件开发实践的不断演进,微服务架构已经成为企业追求敏捷、可扩展和弹性解决方案的首选。本文深入探讨了如何构建一个高效的微服务架构,涵盖了关键的设计原则、技术选型以及实践建议。通过分析微服务的独立性、分布式特性和容错机制,我们将揭示如何利用容器化、服务网格和API网关等技术手段,来优化后端系统的可维护性和性能。文章旨在为后端开发人员提供一套全面的指南,以应对不断变化的业务需求和技术挑战。