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

简介: 微服务是一种架构风格: 一系列微小的服务共同组成 跑在自己的进程 每个服务为独立的业务开发 独立部署 分布式的管理

微服务架构发展历程

响应式微服务

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

框架最出名的就是 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


目录
相关文章
|
2月前
|
算法 Java 微服务
【SpringCloud(1)】初识微服务架构:创建一个简单的微服务;java与Spring与微服务;初入RestTemplate
微服务架构是What?? 微服务架构是一种架构模式,它提出将单一应用程序划分为一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。 每个服务允许在其独立的进程中,服务于服务间采用轻量级的通信机制互相协作(通常是Http协议的RESTful API或RPC协议)。 每个服务都围绕着具体业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。另外应当尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据上下文,选择合适的语言、工具对其进行构建
501 126
|
2月前
|
负载均衡 算法 Java
【SpringCloud(2)】微服务注册中心:Eureka、Zookeeper;CAP分析;服务注册与服务发现;单机/集群部署Eureka;连接注册中心
1. 什么是服务治理? SpringCloud封装了Netfix开发的Eureka模块来实现服务治理 在传统pc的远程调用框架中,管理每个服务与服务之间依赖关系比较复杂,管理比较复杂,所以需要使用服务治理,管理服务于服务之间依赖关系,可以实现服务调用、负载均衡、容错等,实现服务发现与注册
303 0
|
2月前
|
Cloud Native Serverless API
微服务架构实战指南:从单体应用到云原生的蜕变之路
🌟蒋星熠Jaxonic,代码为舟的星际旅人。深耕微服务架构,擅以DDD拆分服务、构建高可用通信与治理体系。分享从单体到云原生的实战经验,探索技术演进的无限可能。
微服务架构实战指南:从单体应用到云原生的蜕变之路
|
2月前
|
监控 Cloud Native Java
Spring Boot 3.x 微服务架构实战指南
🌟蒋星熠Jaxonic,技术宇宙中的星际旅人。深耕Spring Boot 3.x与微服务架构,探索云原生、性能优化与高可用系统设计。以代码为笔,在二进制星河中谱写极客诗篇。关注我,共赴技术星辰大海!(238字)
Spring Boot 3.x 微服务架构实战指南
|
2月前
|
负载均衡 Java API
《深入理解Spring》Spring Cloud 构建分布式系统的微服务全家桶
Spring Cloud为微服务架构提供一站式解决方案,涵盖服务注册、配置管理、负载均衡、熔断限流等核心功能,助力开发者构建高可用、易扩展的分布式系统,并持续向云原生演进。
|
3月前
|
监控 安全 Java
Spring Cloud 微服务治理技术详解与实践指南
本文档全面介绍 Spring Cloud 微服务治理框架的核心组件、架构设计和实践应用。作为 Spring 生态系统中构建分布式系统的标准工具箱,Spring Cloud 提供了一套完整的微服务解决方案,涵盖服务发现、配置管理、负载均衡、熔断器等关键功能。本文将深入探讨其核心组件的工作原理、集成方式以及在实际项目中的最佳实践,帮助开发者构建高可用、可扩展的分布式系统。
237 1
|
3月前
|
jenkins Java 持续交付
使用 Jenkins 和 Spring Cloud 自动化微服务部署
随着单体应用逐渐被微服务架构取代,企业对快速发布、可扩展性和高可用性的需求日益增长。Jenkins 作为领先的持续集成与部署工具,结合 Spring Cloud 提供的云原生解决方案,能够有效简化微服务的开发、测试与部署流程。本文介绍了如何通过 Jenkins 实现微服务的自动化构建与部署,并结合 Spring Cloud 的配置管理、服务发现等功能,打造高效、稳定的微服务交付流程。
496 0
使用 Jenkins 和 Spring Cloud 自动化微服务部署
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
690 6
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
331 1
|
安全 应用服务中间件 API
微服务分布式系统架构之zookeeper与dubbo-2
微服务分布式系统架构之zookeeper与dubbo-2

热门文章

最新文章