自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 收藏
  • 关注

原创 阿里巴巴编码规范

文章目录命名风格常量定义代码规范OOP规范集合处理并发处理控制语句注释规范其他异常日志异常处理日志规约单元测试安全规约Mysql数据库建表规约索引规约SQL语句ORM映射工程结构应用分层二方库依赖服务器设计规约命名风格代码命名不能以下划线或者$开头或者结尾代码命名不能以中文拼音或者中文拼音与英文混合方式类名使用UpperCamCamelCase风格,但DO、PO、DTO、VO、BO等除外方法名、参数名、变量名统一使用lowerCamelCase,必须遵守驼峰命名常量名全部大写

2021-12-22 15:51:35 9715

原创 Hive以及Hive安装部署

文章目录1.Hive简介1.1什么是Hive1.2为什么使用Hive1.3Hive的特点1.4Hive架构图1.5Hive与Hadoop的关系1.6Hive与传统数据库对比2.HIVE的安装部署1.derby版hive直接使用1、解压hive2.修改目录名称3.初始化元数据库4.启动5.创建数据库6.创建表7.插入数据8.可能遇到的问题9.Hive启动报错Safe mode2.基于mysql管理元数据版hive1、解压hive2.修改目录名称3.检测服务器mysql数据库4.配置mysql允许外网访问5.退

2021-11-15 10:52:52 1991

原创 HDFS、MapReduce、Yarn学习

文章目录1.HDFS入门介绍1.1 HDFS 介绍1.2 HDFS的特性1.2.1 master/slave 架构1.2.2 分块存储1.2.3 名字空间(NameSpace)1.2.4 namenode 元数据管理1.2.5 Datanode 数据存储1.2.6 副本机制1.2.7 一次写入,多次读出2.分布式文件系统HDFS1.HDFS的来源2.HDFS的架构图之基础架构2.1 master/slave 架构2.2 名字空间(NameSpace)2.3 文件操作2.4副本机制2.5心跳机制2.6 一次写

2021-11-13 20:29:48 2903

原创 大数据+Hadoop集群学习

文章目录1.课前资料2.课程整体介绍3.大数据介绍什么是大数据?为什么要学习大数据?大数据相关技术海量数据存储海量数据清洗海量数据处理4.集群环境准备4.1准备虚拟机4.2修改为静态IP4.2.1配置文件4.2.2配置文件内容4.2.3重启网络4.2.4查看IP4.3mobaxTerm的使用4.4关闭防火墙4.5修改主机名4.6修改hosts文件4.7三台机器重启4.8设置免密登录4.8.1三台机器生成公钥与私钥4.8.2拷贝公钥到同一台机器4.8.3复制第一台机器的认证到其他机器4.8.4测试4.9三台机

2021-11-13 18:34:08 1561

原创 Kubernetes集群

文章目录Kubernetes1.集群方案2.安装搭建 Kubernetes 集群1.集群安装准备2.主控服务器3.下载离线文件,安装Docker4.工作节点二,配置集群安装环境Kubernetes容器自动管理工具、持续部署工具谷歌的开源工具,开源之前在谷歌内部使用了几年的时间,管理上千万的容器1.集群方案使用三台物理机或VMware虚拟机来搭建集群环境,一台主控服务器,两台工作节点服务器。如果资源有限也可以去掉一个工作节点,使用两台服务器。2.安装搭建 Kubernetes 集群安装过程

2021-11-05 13:20:39 1488

原创 Kibana 操作 ES+搜索

一.使用 Kibana 操作 ES下载 Kibana 镜像docker pull kibana:7.9.3启动 Kibana 容器docker run \-d \--name kibana \--net es-net \-p 5601:5601 \-e ELASTICSEARCH_HOSTS='["http://node1:9200","http://node2:9200","http://node3:9200"]' \--restart=always \kibana:7.9.3

2021-11-04 17:00:31 3060

原创 IK中文分词器

一.IK中文分词器安装 ik 分词器从 ik 分词器项目仓库中下载 ik 分词器安装包,下载的版本需要与 Elasticsearch 版本匹配:或者可以访问 gitee 镜像仓库:下载 elasticsearch-analysis-ik-7.9.3.zip 复制到 /root/ 目录下在三个节点上安装 ik 分词器cd ~/# 复制 ik 分词器到三个 es 容器docker cp elasticsearch-analysis-ik-7.9.3.zip node1:/root/doc

2021-11-04 16:31:24 491

原创 Docker案例

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

2021-11-03 11:17:43 919

原创 Docker学习

文章目录一.Docker镜像1.镜像1.准备docker服务器2.下载镜像3.镜像的名称4.导出和导入镜像二.从镜像运行启动容器1.从镜像运行启动容器2.容器启动后运行的命令3.ENTRYPOINT 和 CMD4.启动容器时覆盖 ENTRYPOINT 和 CMD5.-d 后台运行6.docker exec 进入容器,运行指定命令7.--name 和 --restart=always8.--rm 和 docker cp一.Docker镜像1.镜像Docker 镜像是一组静态磁盘文件,可以任意下载、复制、

2021-11-02 11:56:01 411

原创 Spring Cloud微服务系统基于Rocketmq可靠消息最终一致性实现分布式事务

文章目录一.订单使用事务消息,异步调用账户1.父项目添加spring Rocketmq依赖2.yml配置rocket连接和生产者组名3.添加新的数据表tx_table,用来存储事务的执行状态4.添加实体类TxInfo和TxMapper5.新建AccountMessage,用来封装发给账户的调用信息:userId,money,txId6.工具类:JsonUtil7.OrderServiceImpl发送事务消息8.实现事务监听器9.测试二.账户接收消息,扣减账户1.依赖2.yml配置name server3.A

2021-11-01 19:22:50 570

原创 RocketMQ学习

一.Rocket MQ安装1.文件下载jdk-8-212rocketmq4.7-rocketconsole1.0.12.安装安装配置 jdk81. 上传jdk压缩文件将文件jdk-8u212-linux-x64.tar.gz上传到 /root 目录2. 解压缩执行解压命令# 将jdk解压到 /usr/local/ 目录tar -xf jdk-8u212-linux-x64.tar.gz -C /usr/local/# 切换到 /usr/local/ 目录, 显示列表, 查看解压缩

2021-10-29 17:25:49 1065

原创 Seata TCC模式-TCC模式

TAC两个阶段的三个操作第一阶段- Try -预留资源 冻结数据第二阶段- Confirm项目源码: https://gitee.com/benwang6/seata-samplesTCC 基本原理TCC 与 Seata AT 事务一样都是两阶段事务,它与 AT 事务的主要区别为:TCC 对业务代码侵入严重每个阶段的数据操作都要自己进行编码来实现,事务框架无法自动处理。TCC 效率更高不必对数据加全局锁,允许多个事务同时操作数据。第一阶段 Try以账户服务为例,当下订单时要扣减

2021-10-28 13:19:19 869 2

原创 Seata AT模式--Spring Cloud+ AT 分布式事务

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

2021-10-27 20:34:42 1721

原创 Seata AT模式-Spring Cloud微服务案例

一.分布式事务搭建业务案例数据初始化工具执行多次测试后,库存和账户金额都会减少,可以执行初始化工具,把工具重置到初始状态,再重新测试1. 新建空工程2. 新建spring模块,db-init3. 添加依赖<?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-i

2021-10-26 19:31:24 348

原创 项目整合Rabbitmq

1.拼多商城整合 rabbitmq当用户下订单时,我们的业务系统直接与数据库通信,把订单保存到数据库中当系统流量突然激增,大量的订单压力,会拖慢业务系统和数据库系统我们需要应对流量峰值,让流量曲线变得平缓,如下图订单存储的解耦为了进行流量削峰,我们引入 rabbitmq 消息队列,当购物系统产生订单后,可以把订单数据发送到消息队列;而订单消费者应用从消息队列接收订单消息,并把订单保存到数据库这样,当流量激增时,大量订单会暂存在rabbitmq中,而订单消费者可以从容地从消息队列慢慢接收订单,

2021-10-26 11:56:05 824

原创 RabbitMQ学习

配置中心1.准备Git仓库把2,3,4三个项目的配置,存放到git仓库在springcloud·下创建文件夹:config把sp02,sp03,sp04三个项目的配置文件,复制到config(配置中心的优先级高于本地配置文件,回覆盖)item-service-dev.ymluser-service-dev.ymlorder-service-dev.yml添加ovverride-none-true 防止配置中心的配置,覆盖本地命令参数有仓库的不用重复创建VCS-C

2021-10-21 12:48:01 1878

原创 Spring Cloud入门学习02

文章目录一、service provider 服务提供者服务的注册和发现pom.xml 添加 eureka 客户端依赖上面的操作会在pom.xml中添加以下依赖application.yml 添加 eureka注册配置主程序启用服务注册发现客户端启动,并访问 eureka 查看注册信息二.eureka 和 “服务提供者”的高可用item-service 高可用配置启动参数启动测试访问两个端口测试eureka 高可用application-eureka1.ymlapplication-eureka2.yml配

2021-10-19 19:58:25 947

原创 Spring Cloud入门学习01

idea先装三个插件MavenHelper文章目录Spring Cloud介绍技术组成Spring Cloud 对比 Dubbo一.service - 服务二.commons 通用项目新建 maven 项目java 源文件pojoservice三、item service 商品服务新建项目新建 spring boot 起步项目选择依赖项pom.xmlapplication.yml主程序java 源文件ItemServiceImplItemControllerSpring MVC 接收参数的几个注解Sp

2021-10-18 13:10:03 641

原创 Redis在SpringBoot工程中的综合应用

业务描述从一个博客数据库中查询所有的文章标签,然后存储到缓存(Cache),后续查询时可从缓存获取。提高其查询性能。准备工作初始化数据初始化数据库中数据,SQL脚本如下:DROP DATABASE IF EXISTS `blog`;CREATE DATABASE `blog` DEFAULT character set utf8mb4;SET names utf8mb4;SET FOREIGN_KEY_CHECKS = 0;USE `blog`;CREATE TABLE `tb_tag

2021-10-13 20:55:33 140

原创 Redis面试--Rdb和AOF的区别

背景Redis是一种内存数据库,在断电时数据可能会丢失。比如你redis整个挂了,然后redis不可用了,如果没有持久化的话,redis就会丢失所有的数据,如果通过持久化将数据搞一份儿到磁盘上去,然后再定期同步到一些云存储服务上去,那么就可以保证一些数据不丢失,保证数据的可靠性。持久化方式Redis中为了保证在系统宕机(类似进程被杀死)情况下,能更快的进行故障恢复,设计了两种数据持久化方案,分别为rdb和aof方式。1.Rdb方式持久化概述Rdb方式是通过手动(save-阻塞式,bgsave-异

2021-10-12 09:04:45 754

原创 Redis实践学习

准备工作创建工程创建maven父工程,例如03-sca-redis,并在此工程下创建两个子工程,一个为sca-jedis,一个为sca-tempate,例如:添加项目依赖sca-jedis 工程依赖<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.5.2</version

2021-10-09 12:55:02 201

原创 Redis分布式学习

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

2021-10-08 13:02:29 121

原创 Docker基础学习

文章目录一.入门Docker技术简介概述版本说明Docker 核心对象镜像(Image)容器(Container)Docker 应用架构分析架构图Docker运行机制总结(Summary)二.安装Docker安装实践准备工作开启虚拟机系统卸载Docker在线安装Docker总结(Summary)三.Docker服务基本操作实践Docker服务基本操作查看Docker状态Docker镜像加速总结(Summary)四.Docker 镜像操作实践Docker镜像操作实践下载镜像浏览镜像文件查看镜像详情查看镜像历史

2021-09-29 16:03:54 3050 1

原创 微服务版的单点登陆系统设计及实现

简介背景分析传统的登录系统中,每个站点都实现了自己的专用登录模块。各站点的登录状态相互不认可,各站点需要逐一手工登录。例如:这样的系统,我们又称之为多点登陆系统。应用起来相对繁琐(每次访问资源服务都需要重新登陆认证和授权)。与此同时,系统代码的重复也比较高。由此单点登陆系统诞生。单点登陆系统单点登录,英文是 Single Sign On(缩写为 SSO)。即多个站点共用一台认证授权服务器,用户在其中任何一个站点登录后,可以免登录访问其他所有站点。而且,各站点间可以通过该登录状态直接交互。例如:

2021-09-26 11:40:03 2538 2

原创 微服务文件上传实战

项目简介业务描述基于Spring Cloud Alibaba解决方案实现文件上传,例如初始架构设计本次项目实践,整体上基于前后端分离架构,服务设计上基于spring cloud alibaba解决方案进行实现,例如:说明,为了降低学习难度,这里只做了初始架构设计,后续会逐步基于这个架构进行演进,例如我们会加上网关工程,认证工程等.工程创建及初始化工程结构参考如下工程结构,进行项目创建,例如:创建父工程创建项目父工程用来管理项目依赖.创建文件服务工程创建用于处理文件上传业务的

2021-09-23 19:36:09 1226

原创 网关Gateway应用实践

文章目录一.网关简介1.背景分析2.网关概述3.快速入门业务描述入门业务实现小节面试分析?负载均衡设计为什么负载均衡?Gateway中负载均衡实现?一.网关简介1.背景分析我们知道,一个大型系统在设计时,经常会被拆分为很多个微服务。那么作为客户端要如何去调用 这么多的微服务呢?客户端可以直接向微服务发送请求,每个微服务都有一个公开的URL,该URL可以直接映射到具体的微服务,如果没有网关的存在,我们只能在客户端记录每个微服务的地址,然后分别去调用。这样的架构,会存在着诸多的问题,例如,客户端请求不同的

2021-09-22 17:58:34 284

原创 Sentinel限流熔断应用实践

文章目录一.Sentinel1.Sentinel简介背景分析Sentinel概述安装Sentinel服务idea配置sentinel启动:访问Sentinal服务2.Sentinel限流入门概述Sentinel集成Sentinel限流快速入门3.Sentinel流控规则分析阈值类型分析设置限流模式设计限流效果(了解)小节面试分析4.Sentinel降级入门概述准备工作Sentinel降级入门Sentinel 异常处理小节面试分析一.Sentinel1.Sentinel简介背景分析在我们日常生活中,经

2021-09-18 11:49:36 324

原创 java面试--http和https的区别

先来观察这两张图,第一张访问域名http://www.12306.cn,谷歌浏览器提示不安全链接,第二张是https://kyfw.12306.cn/otn/regist/init,浏览器显示安全,为什么会这样子呢?2017年1月发布的Chrome 56浏览器开始把收集密码或信用卡数据的HTTP页面标记为“不安全”,若用户使用2017年10月推出的Chrome 62,带有输入数据的HTTP页面和所有以无痕模式浏览的HTTP页面都会被标记为“不安全”,此外,苹果公司强制所有iOS App在2017年1月1日前

2021-09-15 13:16:05 1310 5

原创 服务注册中心Nacos

一.服务注册中心Nacos最佳实践1.Nacos注册中心简介背景分析在微服务中,首先需要面对的问题就是如何查找服务(软件即服务),其次,就是如何在不同的服务之间进行通信?如何更好更方便的管理应用中的每一个服务,如何建立各个服务之间联系的纽带,由此注册中心诞生(例如淘宝网卖家提供服务,买家调用服务)。市面上常用注册中心有Zookeeper(雅虎Apache),Eureka(Netfix),Nacos(Alibaba),Consul(Google),那他们分别都有什么特点,我们如何进行选型呢?我们主要从

2021-09-14 17:55:40 626

原创 微服务架构

Maven官网:maven.apache.orgSpring官网:spring.ioMybatis官网:mybatis.orgJava官网:oracle.comruoyi.vipinfoq.cn微服务简介1.背景分析讲微服务之前,我们先分析以下单体应用。所谓单体应用一般是基于idea/eclipse,maven等建一个工程,然后基于SpringBoot,spring,mybatis框架进行整合,接下来再写一堆dao、mapper、service、controller,再加上一些的配置文件,有

2021-09-14 16:30:11 153

原创 京淘项目--Linux后台部署

文章目录京淘后台项目发布流程一.安装Mariadb数据库1.下载MariaDB数据库2.确认下载3.安装完成提示4.数据库启动5. 数据库初始化操作6. 测试数据库用户名和密码是否有效7.Mysql数据库远程访问配置1.关于链接数据库的说明2. 配置数据库权限配置说明3.配置Linux数据库权限4.修改数据库表8.配置Linux防火墙策略1.检查防火墙状态2.防火墙配置3.手动关闭防火墙4. 数据库远程测试5.手动开放防火墙端口6.导入京淘数据库1.备份数据库2.选择导出的位置3.导入数据库二.完成单台to

2021-09-13 13:17:46 254

原创 java面试--控制反转、依赖注入

一.IOC1.什么是IOC?Ioc—Inversion of Control,就是控制反转,不是技术,是一种思想,在java开发中,Ioc意味着将 设计好的对象交给容器控制,而不是直接的在对象内部直接控制。理解IOC关键:“”谁控制谁?控制什么,为何是反转(有反转也会有正转),那些方面反转了“”谁控制谁,控制什么:传统JavaSE程序设计,直接在对象内部通过new进行创建对象,是程序主动地去创建依赖对象;而IOC专门有一个容器来创建这些对象,即IOC容器来控制对象的创建;谁控制谁?,当然是IO

2021-09-12 17:14:56 517

原创 java面试--java基础

一、System.out.println()中的System,out,println 分别是什么?System是类,out是System类下的PrintStream类型的静态常量;println是PrintStream的方法。System是类:out、in是System类下的PrintStream类型的静态常量println是个方法,里面调用的方法就是借用字符输出流打印二.java中抽象的(abstract)方法是否可同时是静态的(static),是否可同时是本地方法(native),是否可

2021-09-09 20:47:40 110

原创 Java面试--SpringBoot有关学习

一.SpringBoot有哪些特点1.独立运行Spring Boot而且内嵌了各种servlet容器,Tomcat、Jetty 等,现在不再需要打成war 包部署到容器中,Spring Boot 只要打成一个可执行的 jar 包就能独立运行,所有的依赖包都在一个 jar 包内。2.简化配置:spring-boot-starter-web 启动器自动依赖其他组件,简少了 maven 的配置。3.自动配置Spring Boot 能根据当前类路径下的类、jar 包来自动配置 bean,如添加一个 sp

2021-09-06 20:38:16 639

原创 Java面试--Session、Cookie学习

背景介绍通过例子简单引入星巴克开始优惠活动,每消费10杯咖啡,会免费赠送1杯。考虑到一个人一次性消费10杯咖啡几乎不可能,所以需要采取某种方式来记录顾客的消费数量。解决方案1)店员很厉害,每个顾客的消费记录都记得一清二楚;2)分给顾客一张卡片,每消费一次记录一次;3)发给顾客一张卡片,上面有卡号,顾客每消费一次,由店员在操作机上记录一次。分析:方案一的可执行性几乎为0。方案二和方案三我们都见过。 而方案二和三正是对应的客户端记录和服务端记录。与之相对应的正是cookie和session由于H

2021-09-05 16:58:33 127

原创 Java面试--同源、跨域学习

同源策略规定: 浏览器要求在解析Ajax请求时,要求浏览器的路径与Ajax的请求的路径必须满足三个要求.则满足同源策略.可以访问服务器.三个要求:请求协议://域名:端口号都必须相同!!!要素:1.浏览器的请求路径.2.Ajax请求的网址同源策略案例案例1:1.浏览器地址 http://localhost:8090/findAll2.Ajax请求地址 http://localhost:8090/aaaa满足同源策略.服务器可以正常访问.案例2:1.浏览器地址 http://loca

2021-08-31 20:23:37 3303

原创 项目--京淘项目

文章目录一.构建后台项目1.创建项目2.编辑pom.xml文件3.导入src文件4.修改YML文件5.编辑启动项二.前端项目搭建1.关于前端路径说明2.操作步骤1.码云下载前端资料2.项目解压之后复制到IDEA维护的目录中3.导入项目4.运行前端项目一.构建后台项目1.创建项目2.编辑pom.xml文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0"

2021-08-31 15:05:04 4845

原创 VUE-Axios案例

1. Vue-Axios案例1.需求说明:当展现页面时,用户发起请求 http://localhost:8090/vue/findAll,获取所有的user数据.通过Vue.js 要求在页面中展现数据, 以表格的形式展现.为每行数据添加 修改/删除的按钮在一个新的DIV中 编辑3个文本框 name/age/sex 通过提交按钮实现新增.如果用户点击修改按钮,则在全新的DIV中 回显数据.用户修改完成数据之后,通过提交按钮 实现数据的修改.当用户点击删除按钮时,要求实现数据的删除操作...

2021-08-27 20:46:24 1141

原创 VUE--入门学习

一.VUE学习1.VUE入门案例<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>入门案例</title> </head> <body> <!-- 基本语法 1.导入JS类库. 2.指定VUE渲染区域 标签体 3.实例化VUE对象 4.数据取值 --> <div id="

2021-08-25 18:59:29 349

原创 SSM--前后端交互

一.脚手架安装1.1安装vue安装1.2导入项目说明: 前端的完整项目在码云资源文件中. 用户将资源下载到本地 通过vue-cli客户端导入即可.路径说明挑选路径 点击导入即可运行项目效果如图二. MybatisPlus 学习2.1 MP入门案例 package com.jt;import com.baomidou.mybatisplus.annotation.TableName;import com.baomidou.mybatisplus.core.conditions

2021-08-24 19:43:24 5956

空空如也

空空如也

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

TA关注的人

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