- 博客(66)
- 收藏
- 关注
原创 RabbitMQ整合 SpringCloud
代码实践注意一点,在发送消息的时候对template进行配置mandatory=true保证监听有效生产端还可以配置其他属性,比如发送重试,超时时间、次数、间隔等消费端核心配置1.首先配置手工确认模式,用于ACK的手工处理,这样我们可以保证消息的可靠性送达,或者在消费端消费失败的时候可以做到重回队列、根据业务记录日志等处理2可以设置消费端的监听个数和最大个数,用于控制消费端的并发情况...
2020-03-05 16:58:19
179
原创 RabbitMQ消息模式2
消费端限流什么是消费端的限流?假设一个场景,首先,我们RabbitMQ服务器有上万条未处理的消息,我们随便打开一个消费者客户端,会出现下面情况:巨量的消息瞬间全部推送过来,但是我们单个客户端无法同时处理这么多数据!消费端限流RabbitMQ提供的解决方案RabbitMQ提供了一种qos(服务质量保证)功能,即在非自动确认消息的前提下,如果一定数目的消息(通过基于Consumer或者Ch...
2020-03-04 10:08:43
145
原创 RabbitMQ消息模式1
消息100%的投递消息如何保障100%的投递成功?什么是生产端的可靠性投递?1保障消息的成功发出2保障MQ节点的成功接收3发送端收到MQ节点(Broker)确认应答4完善的消息进行补偿机制BAT/TMD互联网大厂的解决方案:1消息落库,对消息状态进行打标流程步骤:第1步:将订单入库,创建一条MSG(状态为0) 入MSG DB库第2步:将消息发出去第3步:监听消息应答(来...
2020-02-29 11:06:59
167
原创 RabbitMQ入门
RabbitMQ简介各大主流中间件对比ActiveMQ 是 Apache 出品,最流行的,能力强劲的开源消息总线,并且它一个完全支持 J M S 规范的消息中间件。其丰富的 API 、多种集群构建模式使得他成为业界老牌消息中间件,在中小型企业中应用广泛!MQ 衡量指标:服务性能、数据存储、集群架构KafkaRocketMQ是阿里开源的消息中间件,目前也已经孵化为Apache顶...
2020-02-28 15:58:01
333
原创 自定义镜像上传阿里云
alpine制作jdk镜像alpine Linux简介1.Alpine Linux是一个轻型Linux发行版,它不同于通常的Linux发行版(centos、Ubuntu),Alpine采用了musl libc 和BusyBox以减少系统的体积和运行时的资源消耗。2.Alpine Linux提供了自己的包管理工具:apk(注意:ubuntu中是apt-get),我们可以通过https://...
2020-02-20 17:37:48
216
原创 docker-dockerfile
Dockerfile简介dockerfile 是一个文本格式的配置文件, 用户可以使用 Dockerfile 来快速创建自定义的镜像,另外,使用Dockerfile去构建镜像好比使用pom去构建maven项目一样,有异曲同工之妙dockerfile基本结构Dockerfile 由一行行命令语句组成, 并且支持以#开头的注释行,一般而言, Dockerfile 主体内容分为四部分:基础镜像信...
2020-02-19 15:23:40
122
原创 docker数据卷
Docker 数据管理在生产环境中使用 Docker ,往往需要对数据进行持久化,或者需要在多个容器之间进行数据共享,这必然涉及容器的数据管理操作容器中的管理数据主要有两种方式:数据卷 Data Volumes 容器内数据直接映射到本地主机环境数据卷容器(Data Volume Containers 使用特定容器维护数据卷当然还有最原始的copy方式,这个也是管理数据的方式,但是基本不会用...
2020-02-19 11:22:22
115
原创 docker安装及命令
Docker基本命令启动Dockersystemctl start docker停止Dockersystemctl stop docker重启Dockersystemctl restart docker开机启动Dockersystemctl enable docker查看Docker概要信息docker info查看Docker帮助文档docker --help...
2020-02-16 20:39:28
133
原创 Zuul路由网关
目录Zuul路由网关简介及基本使用简介基本使用Zuul路由映射配置Zuul请求过滤配置Zuul路由网关简介及基本使用简介请看上图,这里的API 路由网关服务 由Zuul实现,主要就是对外提供服务接口的时候,起到了请求的路由和过滤作用,也因此能够隐藏内部服务的接口细节,从来有利于保护系统的安全性。基本使用路由配置我们新建一个module microservice-zuul-3001...
2020-01-19 17:43:53
190
原创 Hystrix集群及集群监控turbine
Hystrix集群及监控turbine前面Dashboard演示的仅仅是单机服务监控,实际项目基本都是集群,所以这里集群监控用的是turbine。turbine是基于Dashboard的。演示集群服务监控新建项目microservice-student-provider-hystrix在microservice-student-provider-hystrix-1004项目的基础上再搞一...
2020-01-13 20:15:41
174
原创 熔断器Hystrix及服务监控Dashboard
服务雪崩效应当一个请求依赖多个服务的时候:正常情况下的访问 ,如下图:但是,当请求的服务中出现无法访问、异常、超时等问题时,那么用户的请求将会被阻塞,如下图:如果多个用户的请求中,都存在无法访问的服务,那么他们都将陷入阻塞的状态中,如下图:Hystrix的引入,可以通过服务熔断和服务降级来解决这个问题服务熔断服务降级简介hystrix对应的中文名字是“豪猪”,豪猪周身长满了刺...
2020-01-11 11:36:16
241
原创 Ribbon负载均衡及Feign消费者调用服务
微服务调用Ribbon前面讲了eureka服务注册与发现,但是结合eureka集群的服务调用没讲。这里的话 就要用到Ribbon,结合eureka,来实现服务的调用;简介Ribbon是Netflix发布的负载均衡器,它有助于控制HTTP和TCP的客户端的行为。为Ribbon配置服务提供者地址后,Ribbon就可基于某种负载均衡算法,自动地帮助服务消费者去请求。Ribbon默认为我们提供了很...
2020-01-09 20:13:58
154
原创 eureka集群
Eureka集群搭建高可用集群配置当注册中心扛不住高并发的时候,这时候 要用集群来扛;Eureka集群搭建有两种操作:1.普通操作2.骚操作普通操作我们再新建两个modulemicroservice-eureka-server-2002pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="...
2020-01-08 20:29:53
88
原创 springcloud简介
Springcloud简介简介Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,...
2020-01-08 16:36:41
93
原创 quartz之动态定时器实现
Spring整合Quartz创建工程需要的a、quartz调度框架是有内置表的进入quartz的官网http://www.quartz-scheduler.org/,点击Downloads,下载后在目录\docs\dbTables下有常用数据库创建quartz表的脚本,例如:“tables_mysql.sql”table_mysql.sqltable_mysql_innodb.s...
2020-01-05 20:48:20
240
原创 Quartz入门
Quartz简介及应用场景Quartz介绍任务调度框架“Quartz”是OpenSymphony开源组织在Job scheduling领域又一个开源项目,是完全由java开发的一个开源的任务日程管理系统,“任务进度管理器”就是一个在预先确定(被纳入日程)的时间到达时,负责执行(或者通知)其他软件组件的系统。简单来说就是实现“计划(或定时)任务”的系统,例如:订单下单后未付款,15分钟后自动撤...
2020-01-03 21:40:08
265
原创 springboot对JPA的支持
jpa支持优势:标准化容器级特性的支持简单方便查询能力高级特性缺陷:不便于维护JPA的pom依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-j...
2020-01-03 16:59:30
134
原创 springboot整合redis
springboot整合redis步骤springboot整合redis由于springboot只有一个配置文件,所以在application.yml中可以用配置完成前三步。application.yml注意要配置在spring:下面 redis: database: 0 host: 192.168.23.128 port: 6379 password...
2019-12-31 15:56:42
1120
2
原创 springboot整合mybatis
springboot整合mybatis跟sping整合类似,但springboot比spring更便捷。springboot配置数据库连接池druiddruid:是高性能的实时分析数据库。Druid的技术特点:数据吞吐量大支持流式数据摄入和实时查询灵活且快速新建springboot项目需要用到的功能版本:2.2.1相关pom依赖<dependency> ...
2019-12-28 22:51:13
184
原创 springboot模板引擎(thymeleaf、Freemarker)
thymeleaf模板关于Thymeleaf的优点,我只说一条:它就是html页面。下面直接上代码导入相关pom依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-t...
2019-12-27 23:07:39
167
原创 Springboot入门、配置文件介绍
Springboot入门SpringBoot是什么?Spring Boot它本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用程序。也就是说,它并不是用来替代Spring的解决方案,而是和Spring框架紧密结合用于提升Spring开发者体验的工具。同时它集成了大量常用的第三方库配置(例如Jackson, JDBC, Mongo, R...
2019-12-27 08:19:42
119
原创 java自定义注解
Java注解(Annotation)简介java注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。注解相关类都包含在java.lang.annotation包中。Java注解分类JDK基本注解不需要编写代码,jdk自带1.@Override重写2.@Deprecated已过时3.@SuppressWarnings(value = “...
2019-12-26 14:30:35
156
原创 git_集成idea
Git Gui的使用图形提交与上传上传Ssh key 介绍及使用Ssh key介绍我理解的就是每台电脑上会产生出一个ssh key,然后自己有一个远程账户,但是自己有可能有很多台电脑, 包括家里的电脑还有公司的电脑,我们可以在任意一台电脑上工作,但是如果想要每台电脑都和远程版本库时刻保持着通讯,就需要将每台电脑的ssh key添加到远程账户,添加到远程版本库之后,远程版本库就会和已...
2019-12-07 17:13:42
110
原创 shiro授权-SSM
shiro授权-SSM接上shiro认证-SSM数据库关系图shiro授权角色、权限在ShiroUserMapper.xml中新增内容<select id="getRolesByUserId" resultType="java.lang.String" parameterType="java.lang.Integer"> select r.roleid from t_s...
2019-12-04 09:58:16
81
原创 shiro认证-SSM
md5加盐加密加密目的:为了数据的安全性加密现象:将明文密码转换成密文加密——》加盐但是由于加密是一个明文对应一个密文,解密轻而易举于是有了加盐(一个明文生成多个密文)这个概念。盐加密工具类在做新增用户的时候使用,将加密后的密码、及加密时候的盐放入数据库;本篇博客中的表数据是现成的,暂时用不上这个工具类去生成数据package com.zxp.ssm.utli;import or...
2019-12-01 17:56:15
130
原创 shiro入门
Shiro简介什么是shiroshiro是apache的一个开源框架,是一个权限管理的框架,实现 用户认证、用户授权。spring中有spring security (原名Acegi),是一个权限框架,它和spring依赖过于紧密,没有shiro使用简单。shiro不依赖于spring,shiro不仅可以实现 web应用的权限管理,还可以实现c/s系统,分布式系统权限管理,shiro属于轻...
2019-11-30 17:52:21
61
原创 springmvc-文件上传和json
springmvc的文件上传导入pom依赖<commons-fileupload.version>1.3.3</commons-fileupload.version> <dependency> <groupId>commons-fileupload</groupId> ...
2019-11-25 01:14:14
194
原创 springmvc入门
Springmvc简介及配置什么是springMVC?spring Web MVC是一种基于Java的实现了MVC设计模式的、请求驱动类型的、轻量级Web框架。SpringMVC处理请求的流程SpringMVC核心开发步骤SpringMVC的组件Springmvc之helloword实现如何在项目中添加springmvc1 添加相关依赖 <dependency> ...
2019-11-24 23:32:19
170
原创 mybatis-关联关系映射
首先先用逆向生成工具生成t_hibernate_order、t_hibernate_order_item这两张表对应的model与mapper <table schema="" tableName="t_hibernate_order" domainObjectName="Order" enableCountByExample="false" enable...
2019-11-23 15:35:32
150
原创 Mybatis整合Redis实现二级缓存
Mybatis整合Redis实现二级缓存** 为什么需要缓存**== 拉高程序的性能==什么样的数据需要缓存很少被修改或根本不改的数据== 业务场景比如:耗时较高的统计分析sql、电话账单查询sql等==集成ehcache** ehcache是什么**== Ehcache 是现在最流行的纯Java开源缓存框架,配置简单、结构清晰、功能强大==.ehcache的特点1 够快...
2019-11-21 21:18:48
103
原创 mybatis与spring集成
Mybatis与spring集成1、导入pom依赖1.1 添加spring相关依赖(5.0.2.RELEASE)spring-corespring-beansspring-contextspring-ormspring-txspring-aspectsspring-web<?xml version="1.0" encoding="UTF-8"?><pro...
2019-11-17 20:29:48
123
原创 使用Java代码操作Redis
mysql和redis的过程导入pom依赖<?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="...
2019-11-17 10:24:32
526
原创 mybatis-动态sql和分页
mybatis动态sqlIf==用途:==添加条件trim==用途:==去空格foreach代码演示BookMapper返回对象 List<Book> selectBooksIn(@Param("bookIds")List bookIds);BookMapper.xmlselect标签parameterType:指定参数foreach标签:collecti...
2019-11-16 15:18:34
93
原创 mybatis入门
hibernate的不方便:对比搭建mybatis框架环境1、创建maven工程2、导入相关pom依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSche...
2019-11-15 12:11:20
76
原创 redis入门
Redis简介Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区Redis用途:数据库缓存非...
2019-11-11 18:24:29
91
原创 Svn
Svnsvn是一个版本控制器它的用处1、解决代码整合的问题2、团队项目,在不使用版本控制器的时候,代码改动很难追责,解决追责问题3、解决组员所写代码丢失问题安装VisualSVNsvn可视化工具安装VisualSVN-Server-3.9.1-x64.msi2、在repositories右键创建仓库3、在users上可以创建用户,可以访问对应的仓库4、点击“test”右...
2019-10-14 11:04:18
97
原创 Jwt
JWT是什么JSON Web Token (JWT),它是目前最流行的跨域身份验证解决方案为什么使用JWTJWT的精髓在于:“去中心化”,数据是保存在客户端的。JWT的工作原理是在服务器身份验证之后,将生成一个JSON对象并将其发送回用户,示例如下:{“UserName”: “Chongchong”,“Role”: “Admin”,“Expire”: “2018-08-08 20:1...
2019-10-12 11:27:37
791
1
原创 Vuex
本篇重点1、了解vuex中的各个js文件的用途2、利用vuex存值3、利用vuex取值4、Vuex的异步加载问题Vuex中的各个js文件的用途变量传值的演变形式图解Vuex各组件官方图解Vuex1. vue中各个组件之间传值1.父子组件父组件–>子组件,通过子组件的自定义属性:props子组件–>父组件,通过自定义事件:this.$emit(‘事件名’,参...
2019-10-10 11:39:56
62
原创 SPA项目开发之CRUD+表单验证
本篇重点1、表单验证2、增删改功能实现表单验证编辑页面<!-- 编辑界面 --> <el-dialog :title="title" :visible.sync="editFormVisible" width="30%" @before-close="closeDialog"> <el-form label-width="120px" :model...
2019-09-30 14:09:14
142
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人