
spring cloud alibaba
wmburst
经历过完全从零开始公司开发一套完整系统,从产品设计、UI设计、WEB搭建开发、后台搭建开发、安卓IOS搭建开发、数据收集分析系统搭建开发、服务器购买、高并发处理和服务器优化等服务从零开始到项目上线遇到问题、同时公司小程序、插件等、共享盘等东西的开发部署均有开发或者参与开发
展开
-
Seata--分布式事务
事务事务指的就是一个操作单元,在这个操作单元中的所有操作最终要保持一致的行为,要么所有操作都成功,要么所有的操作都被撤销。简单地说,事务提供一种“要么什么都不做,要么做全套”机制。本地事物本地事物其实可以认为是数据库提供的事务机制。说到数据库事务就不得不说,数据库事务中的四大特性:A:原子性(Atomicity),一个事务中的所有操作,要么全部完成,要么全部不完成C:一致性(Consistency),在一个事务执行之前和执行之后数据库都必须处于一致性状态I:隔离性(Isolation),在并发环原创 2020-08-27 15:57:16 · 438 阅读 · 0 评论 -
Nacos Config--服务配置
服务配置中心介绍首先我们来看一下,微服务架构下关于配置文件的一些问题:1、配置文件相对分散。在一个微服务架构下,配置文件会随着微服务的增多变的越来越多,而且分散在各个微服务中,不好统一配置和管理。2、配置文件无法区分环境。微服务项目可能会有多个环境,例如:测试环境、预发布环境、生产环境。每一个环境所使用的配置理论上都是不同的,一旦需要修改,就需要我们去各个微服务下手动维护,这比较困难。3、配置文件无法实时更新。我们修改了配置文件之后,必须重新启动微服务才能使配置生效,这对一个正在运行的项目来说是非常原创 2020-08-19 15:40:21 · 13750 阅读 · 1 评论 -
Rocketmq--消息驱动
什么是MQMQ(Message Queue)是一种跨进程的通信机制,用于传递消息。通俗点说,就是一个先进先出的数据结构。MQ的应用场景最常见的一个场景是用户注册后,需要发送注册邮件和短信通知,以告知用户注册成功。此架构下注册、邮件、短信三个任务全部完成后,才返回注册结果到客户端,用户才能使用账号登录。但是对于用户来说,注册功能实际只需要注册系统存储用户的账户信息后,该用户便可以登录,而后续的注册短信和邮件不是即时需要关注的步骤。所以实际当数据写入注册系统后,注册系统就可以把其他的操作放入对应的原创 2020-08-18 17:22:45 · 383 阅读 · 0 评论 -
sleuth--链路追踪
ZipKin数据持久化Zipkin Server默认会将追踪数据信息保存到内存,但这种方式不适合生产环境。Zipkin支持将追踪数据持久化到mysql数据库或elasticsearch中。使用mysql实现数据持久化创建mysql数据环境CREATE TABLE IF NOT EXISTS zipkin_spans ( `trace_id_high` BIGINT NOT NULL DEFAULT 0 COMMENT 'If non zero, this means the trace uses原创 2020-08-17 15:17:36 · 548 阅读 · 0 评论 -
Gateway--服务网
网关简介大家都都知道在微服务架构中,一个系统会被拆分为很多个微服务。那么作为客户端要如何去调用这么多的微服务呢?如果没有网关的存在,我们只能在客户端记录每个微服务的地址,然后分别去调用。这样的架构,会存在着诸多的问题:客户端多次请求不同的微服务,增加客户端代码或配置编写的复杂性认证复杂,每个服务都需要独立认证。存在跨域请求,在一定场景下处理相对复杂。上面的这些问题可以借助API网关来解决。所谓的API网关,就是指系统的统一入口,它封装了应用程序的内部结构,为客户端提供统一服务,一些与业务本身原创 2020-08-14 16:29:35 · 271 阅读 · 0 评论 -
Sentinel规则持久化 Feign整合Sentinel
Dashboard来为每个Sentinel客户端设置各种各样的规则,但是这里有一个问题,就是这些规则默认是存放在内存中,极不稳定,所以需要将其持久化。本地文件数据源会定时轮询文件的变更,读取规则。这样我们既可以在应用本地直接修改文件来更新规则,也可以通过 Sentinel 控制台推送规则。以本地文件数据源为例,推送过程如下图所示:首先 Sentinel 控制台通过 API 将规则推送至客户端并更新到内存中,接着注册的写数据源会将新的规则保存到本地的文件中。编写处理类package com.jx原创 2020-08-13 18:00:48 · 1132 阅读 · 0 评论 -
Sentinel 之限流 第三部分
Sentinel的概念和功能基本概念资源资源就是Sentinel要保护的东西资源是 Sentinel 的关键概念。它可以是 Java 应用程序中的任何内容,可以是一个服务,也可以是一个方法,甚至可以是一段代码。规则规则就是用来定义如何进行保护资源的作用在资源之上, 定义以什么样的方式保护资源,主要包括流量控制规则、熔断降级规则以及系统保护规则。重要功能Sentinel的主要功能就是容错,主要体现为下面这三个:流量控制流量控制在网络传输中是一个常用的概念,它用于调整网络包的数据。任意原创 2020-08-13 16:22:07 · 609 阅读 · 0 评论 -
spring cloud alibaba Sentinel之限流第二部分
创建项目空白 maven修改项目的pom.xml为下面<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 ht原创 2020-08-12 17:06:12 · 166 阅读 · 0 评论 -
Sentinel--服务容错第一部分
高并发带来的问题在微服务架构中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用,但是由于网络原因或者自身的原因,服务并不能保证服务的100%可用,如果单个服务出现问题,调用这个服务就会出现网络延迟,此时若有大量的网络涌入,会形成任务堆积,最终导致服务瘫痪。接下来,我们来模拟一个高并发的场景编写java代码package com.jx.user.controller;import com.jx.user.service.UserService;import lombok.exter原创 2020-08-12 17:05:36 · 496 阅读 · 0 评论 -
spring cloud alibaba 服务治理
服务治理介绍先来思考一个问题通过上一章的操作,我们已经可以实现微服务之间的调用。但是我们把服务提供者的网络地址(ip,端口)等硬编码到了代码中,这种做法存在许多问题:一旦服务提供者地址变化,就需要手工修改代码一旦是多个服务提供者,无法实现负载均衡功能一旦服务变得越来越多,人工维护调用关系困难那么应该怎么解决呢, 这时候就需要通过注册中心动态的实现服务治理。什么是服务治理服务治理是微服务架构中最核心最基本的模块。用于实现各个微服务的自动化注册与发现服务注册: 在服务治理框架中,都会构建一个原创 2020-08-12 11:53:48 · 946 阅读 · 0 评论 -
环境搭建 第二部分
无注册中心时候在轮询时候会报错,暂时忽略写一个controllerpackage com.jx.user.controller;import org.springframework.web.bind.annotation.*;@RestController@RequestMapping("/demo")public class JxDemoController { @GetMapping("a") public Object a() throws Exception{原创 2020-08-11 15:58:15 · 145 阅读 · 0 评论 -
spring cloud alibaba 环境搭建
技术选型maven:3.3.9数据库:MySQL 5.7持久层:mybatis调用逻辑在微服务架构中,最常见的场景就是微服务之间的相互调用。我们以电商系统中常见的用户下单为例来演示微服务的调用:客户向订单微服务发起一个下单的请求,在进行保存订单之前需要调用商品微服务查询商品的信息。我们一般把服务的主动调用方称为服务消费者,把服务的被调用方称为服务提供者。在这种场景下,订单微服务就是一个服务消费者, 商品微服务就是一个服务提供者。创建模块创建一个maven工程<!--父工程--&原创 2020-08-10 17:42:32 · 1818 阅读 · 1 评论 -
spring cloud alibaba 介绍、说明、组件
系统架构演变随着互联网的发展,网站应用的规模也在不断的扩大,进而导致系统架构也在不断的进行变化。从互联网早起到现在,系统架构大体经历了下面几个过程: 单体应用架构—>垂直应用架构—>分布式架构—>SOA架构—>微服务架构,当然还有悄然兴起的Service Mesh(服务网格化)。接下来我们就来了解一下每种系统架构是什么样子的, 以及各有什么优缺点。单体应用架构互联网早期,一般的网站应用流量较小,只需一个应用,将所有功能代码都部署在一起就可以,这样可以减少开发、部署和维护原创 2020-08-10 15:50:43 · 3971 阅读 · 0 评论 -
spring cloud alibaba Sentinel之限流
创建项目空白 maven修改项目的pom.xml为下面<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 ht原创 2020-08-05 16:05:18 · 175 阅读 · 0 评论