自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(84)
  • 资源 (1)
  • 收藏
  • 关注

原创 JAVA入门

工作空间就是一个文件夹,用来保存我们所有的开发文件和代码等等.工作空间也是可以切换的,但是切换了工作空间,我们对于的设置就重置了.后续我们自己写的代码可以去这个位置找到.可以如下图,选择工作空间的存放目录。

2023-05-14 16:56:02 585 1

原创 Eclipse的介绍与安装

Eclipse 是一个开放源代码的,基于 Java 的可扩展开发平台。Eclipse官方版是一个集成开发环境(IDE),可以通过安装不同的插件实现对其它计算机语言编辑开发,如C++、Php、Python等等。

2023-05-14 16:42:04 669

原创 JAVA JDK下载安装手册

JDK是 Java 语言的软件开发工具包,主要用于移动设备、设备上的java应用程序。编写 Java 程序必须使用 JDK,它提供了编译和运行 Java 程序的环境。是整个java开发的核心。

2023-05-14 16:36:01 535

原创 分布式事务(六)Seata TCC模式-TCC模式介绍

项目源码:王海涛/seata-samplesTCC 基本原理TCC 与SeataAT 事务一样都是两阶段事务,它与 AT 事务的主要区别为:TCC 对业务代码侵入严重 每个阶段的数据操作都要自己进行编码来实现,事务框架无法自动处理。 TCC 效率更高 不必对数据加全局锁,允许多个事务同时操作数据。第一阶段 Try以账户服务为例,当下订单时要扣减用户账户金额:假如用户购买 100 元商品,要扣减 100 元。TCC 事务首先对这100元的扣减金...

2022-03-01 23:32:41 365

原创 分布式事务(五)Seata AT模式-Spring Cloud微服务添加 AT 分布式事务

下载订单项目案例(无事务版)在上一节中我们完成了订单项目案例,但没有添加事务处理。下面在这个项目中我们添加 Seata AT 事务。无事务版案例代码可以在这里下载:王海涛/seata-samples - Gitee.comSeata Server - TC全局事务协调器在《分布式事务(三)Seata分布式事务框架-AT模式介绍》中介绍了 Seata AT 事务原理,介绍了 AT 事务的三个角色:TC(事务协调器)、TM(事务管理器)和RM(资源管理器),其中 TM 和 RM 是嵌入在.

2022-03-01 23:26:18 311

原创 四阶段(Spring Cloud 阿里巴巴)学习汇总

目录Spring Cloud 阿里巴巴 架构Docker运维技术最佳实践Redis 技术Spring Cloud 阿里巴巴 架构https://blog.csdn.net/weixin_44591613/category_11548698.htmlDocker运维技术最佳实践https://blog.csdn.net/weixin_44591613/category_11574943.html?spm=1001.2014.3001.5482Redis ..

2022-02-28 19:22:36 604

原创 五阶段(Spring Cloud)学习汇总

SpringClude 知识手册https://blog.csdn.net/weixin_44591613/category_11622570.html?spm=1001.2014.3001.5482分布式事务控制https://blog.csdn.net/weixin_44591613/category_11648993.htmlRabbitMQ消息中间件https://blog.csdn.net/weixin_44591613/category_11642092.htm.

2022-02-28 18:41:39 1269

原创 分布式事务(四)Seata AT模式-Spring Cloud微服务案例

项目源码:王海涛/seata-samples订单业务案例创建 Empty Project:seata-at先新建文件夹seata-samples,后面测试的 Seata AT 和 Seata TCC 模式都放在该目录下。接着创建seata-at项目:选择Empty Project:填写项目名seata-at和存放目录,存放在你新建的seata-samples目录下:数据库初始化工具订单案例涉及四个数据库:为了后续测试方便我...

2022-02-23 17:20:33 177

原创 分布式事务(三)Seata分布式事务框架-AT模式介绍

Seata介绍Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。2019 年 1 月,阿里巴巴中间件团队发起了开源项目 Fescar(Fast & EaSy Commit And Rollback),和社区一起共建开源分布式事务解决方案。Fescar 的愿景是让分布式事务的使用像本地事务的使用一样,简单和高效,并逐步解决开发者们遇到的分布式事务方面的

2022-02-23 16:01:10 447

原创 分布式事务(二)分布式事务方案

什么是分布式事务首先这是普通事务:下面是分布式事务:在微服务系统中,每个微服务应用都可能会有自己的数据库,它们首先需要控制自己的本地事务。一项业务操作可能会调用执行多个微服务。如何保证多个服务执行的多个数据库的操作整体成功或整体失败?这就是分布式事务要解决的问题。理论部分CAP 和 BASE 是对大规模互联网系统分布式实践的理论总结,如果没有实践为基础理论则难以理解。这里建议先对分布式事务进行实践,之后再来阅读理论来互相印证。CAP请参考百度百科 - C..

2022-02-23 15:52:30 77

原创 分布式事务(一)Mysql本地事务和事务隔离级别

数据库事务数据库事务由一组sql语句组成。所有sql语句执行成功则事务整体成功;任一条sql语句失败则事务整体失败,数据恢复到事务之前的状态。下面以转账为例进一步说明。A 账户向 B 账户转账,需要更新两个账户的记录:- A 账户减金额update user set money=money-100 where id='A'- B 账户加金额update user set money=money+100 where id='B'两条sql语句都成功则转账成功。 任意一

2022-02-23 15:47:55 233

原创 RabbitMQ - Spring boot 整合

新建项目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 https://maven.apache.org/xsd/m

2022-02-20 13:28:16 186

原创 RabbitMQ

RabbitMQ使用场景服务解耦假设有这样一个场景, 服务A产生数据, 而服务B,C,D需要这些数据, 那么我们可以在A服务中直接调用B,C,D服务,把数据传递到下游服务即可但是,随着我们的应用规模不断扩大,会有更多的服务需要A的数据,如果有几十甚至几百个下游服务,而且会不断变更,再加上还要考虑下游服务出错的情况,那么A服务中调用代码的维护会极为困难这是由于服务之间耦合度过于紧密再来考虑用RabbitMQ解耦的情况A服务只需要向消息服务器发送消息,而不用考虑谁需要这些数据;...

2022-02-19 22:48:36 120

原创 Docker 搭建redis集群

目录Docker 搭建redis集群六个Redis实例的配置文件:redis.conf先启动6个redis实例执行命令配置集群查看集群信息存数据spring redis apiDocker 搭建redis集群六个Redis实例的配置文件:redis.confport 7000cluster-enabled yescluster-config-file nodes.confcluster-node-timeout 5000appendonly

2022-01-25 12:43:06 118

原创 Docker搭建redis主从+哨兵

redis 哨兵redis主从复制结构中,当主服务器宕机,哨兵可以监控到服务宕机,在从服务器中选举产生一个新的主服务器。搭建主从服务器 —— 一主两从清理容器(可选)docker rm -f $(docker ps -aq)启动主服务器# --net=host 容器直接使用宿主机的端口,不需要做端口映射docker run -d --name redis6379 --net=host --restart=always redis# 进入容器,运行redis客户端dock.

2022-01-25 12:38:58 146

原创 Docker案例

目录关闭防火墙启动或重启dockerredis加载镜像启动容器jedis 连接测试新建测试项目pom.xml编写测试类在容器中查看数据启动多个 redis 容器jedis 分片测试在容器中查看数据容器互联创建docker虚拟网络mysql加载 mariadb 镜像创建数据卷启动 mariadb 容器,并挂载数据卷进入容器,登录mysql测试连接数据库,导入数据tomcat启动 tomcat 容器访问测试关

2022-01-25 12:34:46 751

原创 Docker技术应用基础

目录Docker(一) - 离线安装一、下载Docker离线包二、离线安装工具三、安装四、镜像加速五、确认安装结果Docker(二)- 镜像一、镜像二、下载镜像三、镜像的名称四、导出和导入镜像Docker(三)- 从镜像运行启动容器一、从镜像运行启动容器二、容器启动后运行的命令三、ENTRYPOINT和CMD四、启动容器时覆盖ENTRYPOINT和CMD五、-d后台运行六、docker exec进入容器,运行指...

2022-01-25 12:27:09 174

原创 Spring Cloud入门操作手册(Hoxton)

spring cloud 是一系列框架的集合。它利用 spring boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 spring boot 的开发风格做到一键启动和部署。spring cloud 并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过 spring boot 风格进行再封装屏蔽掉了复杂.

2022-01-25 11:31:11 775

原创 08-Java中本地缓存实现

目录简介为什么要Cache你都了解哪些Cache?对本地缓存你会如何设计本地缓存的设计Cache接口设计Cache默认存储设计SynchronizedCache 设计及实现LoggingCache 设计及实现FifoCache设计及实现LruCache 设计及实现简介为什么要Cache降低数据库的访问压力. 提高查询的性能,改善用户体验.你都了解哪些Cache?浏览器缓存 数据持久层的Cache(MyBatis中的Cache设计) 逻辑

2022-01-17 10:01:54 188

原创 05-Redis 事务处理实践

Redis事务简介概述事务是一个业务,也可以看成是一个逻辑工作单元,是为了保证业务的完整,数据的正确而推出的一种控制机制,原则上来讲,事务必须要满足ACID四个特性(原子性,一致性,隔离性,持久性),在多个事务在并发执行,为更好保证事务的四个特性的实现,通常会对事务加锁,Redis为了性能,采用了乐观锁方式进行事务控制,它使用watch命令监视给定的key,当exec(提交事务)的时候,如果监视的key从调用watch后发生过变化,则整个事务会失败。也可以调用watch多次监视多个key。注意wa

2022-01-17 09:56:39 75

原创 Redis知识点总结

Redis技术入门核心知识点Redis技术简介(是什么,诞生背景,版本,基本架构) Redis服务的基本操作(登录redis,基础指令,退出redis) Redis中常用数据类型(string,hash,list,set)常见问题分析1.Redis是什么?(分布式Key/Value结构的缓存数据库,非关系型数据,NoSql数据库)2.Redis数据库诞生的背景?(关系型数据库的访问压力比较大,本地内存不支持多服务实例共享)3.Redis数据库的基本架构?(C/S,redis-cli,r

2022-01-12 09:15:13 77

原创 04-Redis 数据持久化实践

简介背景Redis是一种内存数据库,在断电时数据可能会丢失。比如你redis整个挂了,然后redis不可用了,如果没有持久化的话,redis就会丢失所有的数据,如果通过持久化将数据搞一份儿到磁盘上去,然后再定期同步到一些云存储服务上去,那么就可以保证一些数据不丢失,保证数据的可靠性。持久化方式Redis中为了保证在系统宕机(类似进程被杀死)情况下,能更快的进行故障恢复,设计了两种数据持久化方案,分别为rdb和aof方式。配置准备工作第一步:从redis.io官方下载对应版本的redi

2022-01-10 21:29:13 81

原创 03-Java中操作redis实践

Redis 客户端概述Redis 是一种C/S 架构的分布式缓存数据库,它有自带的命令行客户端,也有对应的Java或其它语言客户端,可以在这些客户端中通过一些API对redis进行读写操作。准备工作第一步:创建工程。创建maven父工程,例如03-redis,并在此工程下创建两个子工程,一个为sca-jedis,一个为sca-tempate,例如:第二步:添加父工程依赖修改父工程pom.xml文件,添加编译配置<build> <plugin

2022-01-10 21:18:01 111

原创 02-Redis常用数据类型

简介概述Redis作为一种key/value结构的数据存储系统,为了便于对数据进行进行管理,提供了多种数据类型。然后,基于指定类型存储我们项目中产生的数据,例如用户的登陆信息,购物车信息,商品详情信息等等。常用数据类型Reids中基础数据结构包含字符串、散列,列表,集合,有序集合。工作中具体使用哪种类型要结合具体场景。String类型操作实践字符串类型是redis中最简单的数据类型,它存储的值可以是字符串,其最大字符串长度支持到512M。基于此类型,可以实现博客的字数统计,将日志不断

2022-01-10 20:53:18 79

原创 01-Redis缓存入门

简介背景我们现在的项目架构中,基本上是Web服务器(Tomcat)和数据库独立部署,独占服务器资源,随着用户数的增长,并发读写数据库,会加大数据库访问压力,导致性能的下降,严重时直接导致系统宕机,例如:此时,我们可以在Tomcat同服务器上中增加本地缓存,并在外部增加分布式缓存,缓存热门数据。也就是通过缓存能把绝大多数请求在读写数据库前拦截掉,大大降低数据库压力。例如:基于这样的一种架构设计,于是类似redis的一些分布式数据库就诞生了。Redis 概述Redis是一个key-v

2022-01-10 20:31:15 69

原创 关于Spring Cloud 阿里巴巴,Docker,Redis的学习路径

Spring Cloud 阿里巴巴微服务架构

2022-01-08 16:01:44 1018

原创 09-Docker 容器互联实践

简介概述Docker中存在多个容器时,容器与容器之间经常需要进行通讯,例如nacos访问mysql,redis集群中各个节点之间的通讯。解决方案Docker 中容器与容器之间进行通讯的解决方案一般有两种:第一种:两个容器通过宿主机进行通讯(容器中的端口会映射到宿主机上)第二种:两个容器之间直接通过虚拟网络进行连接,但是需要我们在docker中创建网络。初始化网路架构设计新建网络例如:创建名字为t-net的网络docker network create -d b.

2022-01-07 09:32:32 62

原创 08-Docker 镜像安装实践(MySql数据库,Redis数据库,Nginx代理,Nacos组件)

目录安装MySql数据库安装步骤登陆mysql服务停止和启动mysql服务安装Redis数据库安装步骤访问redis服务器停止和启动redis服务安装Nginx代理安装步骤访问nginx服务停止和nginx服务安装Nacos组件安装步骤访问nacos服务Nacos 与 MySQL 通讯分析停止和启动nacos服务总结(Summary)安装MySql数据库安装步骤第一步:在hub.docker.com上搜索mysql镜像

2022-01-05 21:26:03 289 1

原创 Docker的核心知识点和常见Bug

Docker的核心知识点和常见Bug

2022-01-05 20:56:08 89

原创 07-Dockerfile及镜像制作实践

Dockerfile及镜像制作实践背景我们从基于docker pull指令可以从远程仓库下载我们需要的一些镜像(image),但是镜像仓库中的镜像是从哪里来的呢,假如镜像仓库中没有我们需要的镜像呢,所以本小结我们会讲解我们自己如何制作镜像.镜像制作分析Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。我们通常会基于此文件创建docker镜像,例如:制作JDK镜像准备工作centos:7镜像 (所有的镜像文件创建时都需要有一个空的cent

2022-01-05 20:46:18 181

原创 06-Docker数据管理实践

目录Docker数据管理实践概述数据卷数据卷操作挂载主机目录总结(Summary)Docker数据管理实践概述在容器中管理数据主要有两种方式:数据卷(Volumes) 挂载主机目录 (Bind mounts)数据卷数据卷是一个可供一个或多个容器使用的特殊目录,可以在容器之间共享和重用,默认会一直存在,即使容器被删除。数据卷操作第一步:创建数据卷,例如:docker volume create container-vol第二步:查看所有数

2022-01-05 20:18:50 50

原创 05-Docker 容器操作实践

目录Docker 容器操作实践下载镜像(Image)创建并启动容器(Container)查看Docker中的容器(Container)查看容器日志(logs)信息停止(stop)或重启(Restart)容器(Container)进入(exec)指定容器(Container)从容器(Container)中退出(exit)删除(rm)容器(Container)总结(Summary)Docker 容器操作实践本次以CentOS镜像为例,讲解容器的基本操作。下

2022-01-05 20:09:51 68

原创 04-Docker 镜像操作实践

目录Docker镜像操作实践下载镜像浏览镜像文件查看镜像详情查看镜像历史导出镜像文件删除镜像文件导入镜像操作运行镜像文件Docker镜像操作实践下载镜像语法:docker pull 镜像名案例:(下载一个名为hell-word的镜像)docker pull hello-world浏览镜像文件语法:docker images查看镜像详情语法:docker inspect 镜像名或镜像id例如:查看一个名为hello-wor

2022-01-05 19:52:30 476

原创 03-Docker服务基本操作实践

Docker服务基本操作启动docker服务 systemctl start docker查看Docker状态查看docker是否启动了,是否是运行状态.systemctl status docker例如:设置Docker开机自启systemctl enable docker禁用Docker开机自启systemctl disable docker重新启动Docker服务 systemctl restart docker查看Docker.

2022-01-05 19:39:13 49

原创 02-Docker 安装实践

目录Docker安装实践准备工作开启虚拟机系统离线安装Docker系统(重点)在线安装Docker系统(了解)总结(Summary)Docker安装实践准备工作第一步:准备CentOS(用课前资料中的CentOS7964),本次以CentOS7为例进行安装。第二步:基于vmvare打开CentOS第三步:克隆CentOS(选择链接克隆-更省空间),命名为CentOS7964-docker开启虚拟机系统第一步:启动虚拟机,.

2022-01-05 19:35:35 709

原创 01-Docker入门

Docker是一个虚拟化平台( 官网https://www.docker.com/),诞生于 2013 年初,基于 Google 公司的 Go 语言进行实现。可以通过虚拟化方式,为应用提供可运行的容器。基于这种方式,可更快地打包、测试以及部署应用程序。

2022-01-05 15:55:51 56

原创 10-SSO微服务工程中用户行为日志的记录

目录系统需求分析业务描述业务架构分析系统服务中的日志存储设计业务描述Pojo逻辑实现Dao 逻辑实现Service逻辑实现Controller 逻辑实现资源服务中行为日志操作设计业务描述Pojo逻辑对象定义切入点注解定义AOP方式获取并记录日志启动服务进行访问测试服务中AOP技术应用原理分析Feign方式将日志传递给系统服务系统需求分析业务描述用户在sso-resource工程访问我们的资源数据时,获取用户的行为日志信息,然

2022-01-02 20:45:19 291

原创 09-微服务版单点登陆系统(SSO)实践

单点登陆系统简介背景分析传统的登录系统中,每个站点都实现了自己的专用登录模块。各站点的登录状态相互不认可,各站点需要逐一手工登录。例如:

2022-01-02 19:23:02 488

原创 使用idea连接mysql数据库

1、找到idea中MySQL数据库的连接方式第一步,找到Database 第二步,点击"+" 第三步,点击Data Source 第四步,点击MySQL2、配置连接在第一次使用的时候,除了要配置连接,还要配置相应的驱动,否则连接的时候会报错!!!图中的①②③④⑤分别表示为:①、连接的名称②、连接的数据库地址和端口号(连接本地的数据库就默认为localhost,端口号为3306)③、MySQL数据库的用户名和密码④、需要连接的数据库名称URL的输入框中写入:jdbc:m.

2021-12-30 12:32:27 7639

原创 在IDEA中配置nacos/sentinel的启动项

1 在idea中配置nacos启动项1.1 Edit Configuration1.2 配置Script path:写nocos文件bin目录下的startup.sh(包含该文件名)Script options:如下-m standalone2 在idea中配置sentinel启动项新建步骤和nacos一样Script path写jdk的bin目录下的java.exe的路径Script options的路径如下-Dserver.port=8180 -Dcsp..

2021-12-30 12:14:26 1296

微服务资源.txt 下载路径

微服务初学者资源

2022-01-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除