SpringCloud-Alibaba
springcloud-alibaba整套架构体系
小颂雅
坚持,坚持,再坚持!
展开
-
第11章 Dubbo--rpc通信(扩展)
第11章 Dubbo–rpc通信(扩展)11.1 介绍Dubbo是阿里巴巴开源的基于 Java 的高性能 RPC分布式服务框架,致力于提供高性能和透明化的 RPC远程服务调用方案,以及SOA服务治理方案。Spring-cloud-alibaba-dubbo 是基于SpringCloudAlibaba技术栈对dubbo技术的一种封装,目的在 于实现基于RPC的服务调用。11.2 实现11.2.1 提供统一业务apipublic interface ProductService { Produ原创 2020-11-06 17:58:23 · 170 阅读 · 0 评论 -
第10章 Seata--分布式事务
第10章 Seata–分布式事务10.1 分布式事务基础10.1.1 事务事务指的就是一个操作单元,在这个操作单元中的所有操作最终要保持一致的行为,要么所有操作 都成功,要么所有的操作都被撤销。简单地说,事务提供一种“要么什么都不做,要么做全套”机制。10.1.2 本地事物本地事物其实可以认为是数据库提供的事务机制。说到数据库事务就不得不说,数据库事务中的四大特性:A:原子性(Atomicity),一个事务中的所有操作,要么全部完成,要么全部不完成C: 一致性(Consistency),在一原创 2020-11-06 17:52:29 · 377 阅读 · 2 评论 -
第9章 Nacos Config--服务配置
第9章 Nacos Config–服务配置9.1 服务配置中心介绍首先我们来看一下,微服务架构下关于配置文件的一些问题:配置文件相对分散。在一个微服务架构下,配置文件会随着微服务的增多变的越来越多,而且分散 在各个微服务中,不好统一配置和管理。配置文件无法区分环境。微服务项目可能会有多个环境,例如:测试环境、预发布环境、生产环 境。每一个环境所使用的配置理论上都是不同的,一旦需要修改,就需要我们去各个微服务下手动 维护,这比较困难。配置文件无法实时更新。我们修改了配置文件之后,必须重新启动微服务原创 2020-11-06 16:48:24 · 367 阅读 · 0 评论 -
第8章 SMS--短信服务
第8章 SMS–短信服务8.1 短信服务介绍短信服务(Short Message Service)是阿里云为用户提供的一种通信服务的能力。产品优势:覆盖全面、高并发处理、消息堆积处理、开发管理简单、智能监控调度产品功能:短信通知、短信验证码、推广短信、异步通知、数据统计应用场景:短信验证码、系统信息推送、推广短信等8.2 短信服务使用接下来,我们使用短信验证码功能来演示短信服务的使用。流程如下:8.2.1 准备工作8.2.1.1 实名认证https://help.aliyun.c原创 2020-11-06 16:15:39 · 981 阅读 · 0 评论 -
第7章 Rocketmq--消息驱动
第7章 Rocketmq–消息驱动7.1 MQ简介7.1.1 什么是MQMQ(Message Queue)是一种跨进程的通信机制,用于传递消息。通俗点说,就是一个先进先出的数 据结构。7.1.2 MQ的应用场景7.1.2.1 异步解耦最常见的一个场景是用户注册后,需要发送注册邮件和短信通知,以告知用户注册成功。传统的做法如 下:此架构下注册、邮件、短信三个任务全部完成后,才返回注册结果到客户端,用户才能使用账号登录。 但是对于用户来说,注册功能实际只需要注册系统存储用户的账户信息后,该用户原创 2020-11-06 15:41:09 · 296 阅读 · 2 评论 -
第6章 Sleuth--链路追踪
第6章 Sleuth–链路追踪6.1 链路追踪介绍在大型系统的微服务化构建中,一个系统被拆分成了许多模块。这些模块负责不同的功能,组合成 系统,最终可以提供丰富的功能。在这种架构中,一次请求往往需要涉及到多个服务。互联网应用构建 在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实 现、有可能布在了几千台服务器,横跨多个不同的数据中心,也就意味着这种架构形式也会存在一些问题:如何快速发现问题?如何判断故障影响范围?如何梳理服务依赖以及依赖的合理性?如何分析链原创 2020-11-06 12:11:10 · 369 阅读 · 0 评论 -
第5章 Gateway--服务网关
第5章 Gateway–服务网关5.1 网关简介大家都都知道在微服务架构中,一个系统会被拆分为很多个微服务。那么作为客户端要如何去调用 这么多的微服务呢?如果没有网关的存在,我们只能在客户端记录每个微服务的地址,然后分别去调 用。这样的架构,会存在着诸多的问题:客户端多次请求不同的微服务,增加客户端代码或配置编写的复杂性认证复杂,每个服务都需要独立认证。存在跨域请求,在一定场景下处理相对复杂。上面的这些问题可以借助API网关来解决。所谓的API网关,就是指系统的统一入口,它封装了应用程原创 2020-10-29 11:27:12 · 561 阅读 · 3 评论 -
第4章 Sentinel--服务容错
第4章 Sentinel–服务容错4.1 高并发带来的问题在微服务架构中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用,但是由于网络 原因或者自身的原因,服务并不能保证服务的100%可用,如果单个服务出现问题,调用这个服务就会 出现网络延迟,此时若有大量的网络涌入,会形成任务堆积,最终导致服务瘫痪。接下来,我们来模拟一个高并发的场景1 编写java代码@RestController @Slf4j public class OrderController2 { @Autowired pr原创 2020-10-28 17:55:31 · 1118 阅读 · 0 评论 -
第3章 Nacos Discovery--服务治理
第3章 Nacos Discovery–服务治理3.1 服务治理介绍先来思考一个问题 通过上一章的操作,我们已经可以实现微服务之间的调用。但是我们把服务提供者的网络地址 (ip,端口)等硬编码到了代码中,这种做法存在许多问题:一旦服务提供者地址变化,就需要手工修改代码一旦是多个服务提供者,无法实现负载均衡功能一旦服务变得越来越多,人工维护调用关系困难那么应该怎么解决呢, 这时候就需要通过注册中心动态的实现服务治理。什么是服务治理 服务治理是微服务架构中最核心最基本的模块。用于实现各原创 2020-10-28 12:19:33 · 459 阅读 · 0 评论 -
第2章 微服务环境搭建
第2章 微服务环境搭建我们本次是使用的电商项目中的商品、订单、用户为案例进行讲解。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】s原创 2020-10-27 17:43:18 · 247 阅读 · 0 评论 -
第1章 微服务介绍
第1章 微服务介绍1.1 系统架构演变随着互联网的发展,网站应用的规模也在不断的扩大,进而导致系统架构也在不断的进行变化。 从互联网早起到现在,系统架构大体经历了下面几个过程: 单体应用架构—>垂直应用架构—>分布 式架构—>SOA架构—>微服务架构,当然还有悄然兴起的Service Mesh(服务网格化)。 接下来我们就来了解一下每种系统架构是什么样子的, 以及各有什么优缺点。1.1.1 单体应用架构互联网早期,一般的网站应用流量较小,只需一个应用,将所有功能代码都部署在一原创 2020-10-27 17:06:59 · 702 阅读 · 0 评论