![](https://img-blog.csdnimg.cn/20200807185602256.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Spring Cloud Alibaba技术栈
Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服 务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。
RuiAce
你若盛开,蝴蝶自来......
展开
-
Spring Cloud Alibaba简书(十一)------Dubbo(RPC)通信
Dubbo–rpc通信 11.1 介绍 Dubbo是阿里巴巴开源的基于 Java 的高性能 RPC分布式服务框架,致力于提供高性能和透明化的 RPC远程服务调用方案,以及SOA服务治理方案。 Spring-cloud-alibaba-dubbo 是基于SpringCloudAlibaba技术栈对dubbo技术的一种封装,目的在 于实现基于RPC的服务调用。 11.2 实现 11.2.1 提供统一业务api public interface ProductService { Product find原创 2020-12-08 17:43:01 · 797 阅读 · 0 评论 -
Spring Cloud Alibaba简书(十)------Seata分布式事务
Seata–分布式事务 10.1 分布式事务基础 10.1.1 事务 事务指的就是一个操作单元,在这个操作单元中的所有操作最终要保持一致的行为,要么所有操作 都成功,要么所有的操作都被撤销。简单地说,事务提供一种“要么什么都不做,要么做全套”机制。 10.1.2 本地事物 本地事物其实可以认为是数据库提供的事务机制。说到数据库事务就不得不说,数据库事务中的四 大特性: A:原子性(Atomicity),一个事务中的所有操作,要么全部完成,要么全部不完成 C:一致性(Consistency),在一个事务执行之原创 2020-12-08 17:41:39 · 283 阅读 · 0 评论 -
Spring Cloud Alibaba简书(九)------Nacos Config服务配置
Nacos Config–服务配置 9.1 服务配置中心介绍 首先我们来看一下,微服务架构下关于配置文件的一些问题: 配置文件相对分散。在一个微服务架构下,配置文件会随着微服务的增多变的越来越多,而且分散 在各个微服务中,不好统一配置和管理。 配置文件无法区分环境。微服务项目可能会有多个环境,例如:测试环境、预发布环境、生产环 境。每一个环境所使用的配置理论上都是不同的,一旦需要修改,就需要我们去各个微服务下手动 维护,这比较困难。 配置文件无法实时更新。我们修改了配置文件之后,必须重新启动微服务才能使配原创 2020-12-08 17:40:51 · 380 阅读 · 0 评论 -
Spring Cloud Alibaba简书(八)--------SMS短信服务
SMS–短信服务 8.1 短信服务介绍 短信服务(Short Message Service)是阿里云为用户提供的一种通信服务的能力。 产品优势:覆盖全面、高并发处理、消息堆积处理、开发管理简单、智能监控调度 产品功能:短信通知、短信验证码、推广短信、异步通知、数据统计 应用场景:短信验证码、系统信息推送、推广短信等 8.2 短信服务使用 接下来,我们使用短信验证码功能来演示短信服务的使用。流程如下: 8.2.1 准备工作 8.2.1.1 实名认证 https://help.aliyun.com/doc原创 2020-12-08 17:39:53 · 2310 阅读 · 0 评论 -
Spring Cloud Alibaba简书(七)------Rocketmq消息驱动
Rocketmq–消息驱动 7.1 MQ简介 7.1.1 什么是MQ MQ(Message Queue)是一种跨进程的通信机制,用于传递消息。通俗点说,就是一个先进先出的数 据结构。 7.1.2 MQ的应用场景 7.1.2.1 异步解耦 最常见的一个场景是用户注册后,需要发送注册邮件和短信通知,以告知用户注册成功。传统的做法如下: 此架构下注册、邮件、短信三个任务全部完成后,才返回注册结果到客户端,用户才能使用账号登录。 但是对于用户来说,注册功能实际只需要注册系统存储用户的账户信息后,该用户便可以登录原创 2020-12-08 17:38:47 · 381 阅读 · 0 评论 -
Spring Cloud Alibaba简书(六)------Sleuth链路追踪
Sleuth–链路追踪 6.1 链路追踪介绍 在大型系统的微服务化构建中,一个系统被拆分成了许多模块。这些模块负责不同的功能,组合成系统,最终可以提供丰富的功能。在这种架构中,一次请求往往需要涉及到多个服务。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台服务器,横跨多个不同的数据中心,也就意味着这种架构形式也会存在一些问 题: 如何快速发现问题? 如何判断故障影响范围? 如何梳理服务依赖以及依赖的合理性? 如何分析链路性能问题以及原创 2020-12-08 17:36:34 · 262 阅读 · 0 评论 -
Spring Cloud Alibaba简书(五)------Gateway服务网关
Gateway–服务网关 5.1 网关简介 大家都都知道在微服务架构中,一个系统会被拆分为很多个微服务。那么作为客户端要如何去调用这么多的微服务呢?如果没有网关的存在,我们只能在客户端记录每个微服务的地址,然后分别去调 用。 这样的架构,会存在着诸多的问题: (1)客户端多次请求不同的微服务,增加客户端代码或配置编写的复杂性 (2)认证复杂,每个服务都需要独立认证。 (3)存在跨域请求,在一定场景下处理相对复杂。 上面的这些问题可以借助API网关来解决。 所谓的API网关,就是指系统的统一入口,它封装了应原创 2020-12-08 17:35:51 · 449 阅读 · 0 评论 -
Spring Cloud Alibaba简书(四)------Sentinel服务容错
Sentinel–服务容错 4.1 高并发带来的问题 在微服务架构中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用,但是由于网络 原因或者自身的原因,服务并不能保证服务的100%可用,如果单个服务出现问题,调用这个服务就会 出现网络延迟,此时若有大量的网络涌入,会形成任务堆积,最终导致服务瘫痪。 接下来,我们来模拟一个高并发的场景 1 编写java代码 @RestController @Slf4j public class OrderController2 { @Autowired原创 2020-12-08 17:34:07 · 1590 阅读 · 0 评论 -
Spring Cloud Alibaba简书(三)------Nacos Discovery服务治理
Nacos Discovery–服务治理 3.1 服务治理介绍 先来思考一个问题 通过上一章的操作,我们已经可以实现微服务之间的调用。但是我们把服务提供者的网络地址 (ip,端口)等硬编码到了代码中,这种做法存在许多问题: 一旦服务提供者地址变化,就需要手工修改代码 一旦是多个服务提供者,无法实现负载均衡功能 一旦服务变得越来越多,人工维护调用关系困难 那么应该怎么解决呢, 这时候就需要通过注册中心动态的实现服务治理。 什么是服务治理 服务治理是微服务架构中最核心最基本的模块。用于实现各个微服务的自动化注册原创 2020-12-08 17:24:56 · 699 阅读 · 0 评论 -
Spring Cloud Alibaba简书(二)------微服务环境搭建
微服务环境搭建 我们本次是使用的电商项目中的商品、订单、用户为案例进行讲解。 2.1 案例准备 2.1.1 技术选型 maven:3.3.9 数据库:MySQL 5.7 持久层: SpingData Jpa 其他: SpringCloud Alibaba 技术栈 2.1.2 模块设计 springcloud-alibaba 父工程 shop-common 公共模块【实体类】 shop-user 用户微服务 【端口: 807x】 shop-product 商品微服务 【端口: 808x】 shop-order原创 2020-08-30 16:44:29 · 1228 阅读 · 0 评论 -
Spring Cloud Alibaba简书(一)------微服务介绍
微服务介绍 1.1 系统架构演变 随着互联网的发展,网站应用的规模也在不断的扩大,进而导致系统架构也在不断的进行变化。 从互联网早起到现在,系统架构大体经历了下面几个过程: 单体应用架构—>垂直应用架构—>分布式架构—>SOA架构—>微服务架构,当然还有悄然兴起的Service Mesh(服务网格化)。 接下来我们就来了解一下每种系统架构是什么样子的, 以及各有什么优缺点。 1.1.1 单体应用架构 互联网早期,一般的网站应用流量较小,只需一个应用,将所有功能代码都部署在一起就可以,原创 2020-08-30 16:25:24 · 2605 阅读 · 0 评论