SpringCloud 微服务(单体架构到微服务架构再到分布式架构)

SpringCloud 微服务(单体架构到微服务架构再到分布式架构)目录 什么是单体架构 什么是微服务架构 什么是分布式架构 简介 SpringCloud 体系 springClond 模块介绍 Alibaba 最新组件 组件使用 EureKa 使用举例 zuul 组件 创建 Zuul 过滤器 什么是单体架构 传统架构 集所有功能于一身构建一个项目 不可分开部署

大家好,我是讯享网,很高兴认识大家。

目录

什么是单体架构

什么是微服务架构

什么是分布式架构

简介

SpringCloud体系

springClond模块介绍

Alibaba 最新组件

组件使用

EureKa使用举例 

zuul组件

创建Zuul过滤器


什么是单体架构

    传统架构。集所有功能于一身构建一个项目,不可分开部署

什么是微服务架构

         微服务架构就是将单个应用程序分成多个应用程序,这多个应用程序就成为了微服务。每个微服务运行在自己的进程中,并使用轻量级的机制通讯,这些服务围绕业务能力来划分,并且自动化部署机制来独立部署,这些服务可以使用不同的编程语言,不同数据库,以保证最低限度的集中式管理。

什么是分布式架构

     分布式的核心就一个字:拆。只要是将一个项目拆分成了多个模块,并将这些模块分开部署,那就算是分布式。

如何拆呢?有两种方式:水平拆分,或垂直拆分(也称为“横向拆分”和“垂直拆分”)

水平拆分:根据“分层”的思想进行拆分。例如,可以将一个项目根据“三层架构”拆分成 表示层(jsp+servlet)、业务逻辑层(service)和数据访问层(dao),然后再分开部署:把表示层部署在服务器A上,把service和dao层部署在服务器B上,然后服务器A和服务器B之间通过dubbo等RPC进行进行整合


讯享网
 

垂直拆分:根据业务进行拆分。例如:可以根据业务逻辑,将“电商项目”拆分成“订单项目”、“用户项目”和“秒杀项目”。显然这三个拆分后的项目,仍然可以作为独立的项目使用。像这种拆分的方法,就成为垂直拆分。

总结:

        分布式:拆了就行。

        微服务:细粒度的垂直拆分。

简介

        SpringCloud为开发人员提供工具,以快速构建分布式服务系统中某些常见模式。(例如:配置管理、服务注册发现、智能路由、控制总线、全局锁、分布式会话、集群状态等)

SpringCloud体系

        spring--------->--------------------->springboot---------------->springCloud

spring以bean对象为中心,提供了IOC、AOP 等功能。

springBoot以Application应用为中心,提供了自动配置、监控等功能。

springCloud以Server服务为空心,提供服务的注册与发现、服务的调用与负载均衡等功能。

springClond模块介绍

EureKa         服务注册与发现

Ribbon         客户端的负载均衡组件。

Hystrix         熔断器,能够防止服务的雪崩效应。

Feign           web服务客户端,能够简化Http接口调用。

Zull              网关,提供路由转发、请求过滤等功能。

Config         分布式配置管理。

Sleuth         服务跟踪。

Stram          构建消息驱动的微服务应用程序框架。

Bus             消息代理集群消息总线。

Alibaba 最新组件

Sentinel  把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。

Nacos 动态服务发现、配置管理

Seata  阿里巴巴开源产品,一个易于使用的高性能微服务分布式事务解决方案。

Alibaba Cloud SchedulerX: 阿里中间件团队开发的一款分布式任务调度产品,提供秒级、精准、高可靠、高可用的定时(基于 Cron 表达式)任务调度服务

Dubbo Apache Dubbo™ 是一款高性能 Java RPC 框架。

SkyWalking  分布式链路追踪与监控系统

一步步搭建参考:Spring Cloud Alibaba 实战(一)准备篇 - 掘金

组件使用

EureKa使用举例 

常用服务注册发现组件还有Zookeeper、Consul、Nacos

​

Eureka包含2个组件:Eureka Server和Eureka Client

服务启动后会向Eureka Server发送心跳,默认每隔30s进行续约自己的信息;

Eureka Server在一定时间内没有收到心跳,默认为90s,则Eureka Server会注销掉自己该服务节点; 

1.以maven工程为例,先在pom.xml引用jar

<dependency>       <groupId>org.springframework.cloud</groupId>       <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> <version>2.5.0</version> </dependency>

讯享网
小讯
上一篇 2025-03-09 18:01
下一篇 2025-02-09 17:00

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/75132.html