自定义博客皮肤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)
  • 收藏
  • 关注

原创 RabbitMQ整合 SpringCloud实战

注意一点,在发送消息的时候对template进行配置mandatory=true保证监听有效生产端还可以配置其他属性,比如发送重试,超时时间、次数、间隔等消费端核心配置首先配置手工确认模式,用于ACK的手工处理,这样我们可以保证消息的可靠性送达,或者在消费端消费失败的时候可以做到重回队列、根据业务记录日志等处理 可以设置消费端的监听个数和最大个数,用于控制消费端的并发情况@Rabb...

2019-12-09 18:54:32 178

原创 rabbitmq的消息模式2

消费端限流什么是消费端的限流?假设一个场景,首先,我们RabbitMQ服务器有上万条未处理的消息,我们随便打开一个消费者客户端,会出现下面情况:巨量的消息瞬间全部推送过来,但是我们单个客户端无法同时处理这么多数据!消费端限流RabbitMQ提供的解决方案RabbitMQ提供了一种qos(服务质量保证)功能,即在非自动确认消息的前提下,如果一定数目的消息(通过基于Consu...

2019-12-07 11:57:58 148

原创 消息模式1

消息100%的投递消息如何保障100%的投递成功?什么是生产端的可靠性投递?保障消息的成功发出 保障MQ节点的成功接收 发送端收到MQ节点(Broker)确认应答 完善的消息进行补偿机制BAT/TMD互联网大厂的解决方案:消息落库,对消息状态进行打标 消息的延迟投递,做二次确认,回调检查细节消息落库步骤:写入数据库,可能涉及多个库,业务库,消息库 发送消...

2019-12-07 10:05:38 485

原创 RabbitMQ简介

各大主流中间件对比ActiveMQ 是 Apache 出品,最流行的,能力强劲的开源消息总线,并且它一个完全支持 J M S 规范的消息中间件。其丰富的 API 、多种集群构建模式使得他成为业界老牌消息中间件,在中小型企业中应用广泛!MQ 衡量指标:服务性能、数据存储、集群架构Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于z...

2019-12-06 10:42:07 278

原创 网络配置

Docker网络配置Docker网络模式介绍Docker在创建容器时有四种网络模式:bridge/host/container/none,bridge为默认不需要用--net去指定,其他三种模式需要在创建容器时使用--net去指定1.bridge模式(默认模式)docker run时使用--net=bridge,这种模式会为每个容器分配一个独立的Network...

2019-12-05 11:20:00 150

原创 自定义镜像上传阿里云

alpine制作jdk镜像alpine Linux简介1.Alpine Linux是一个轻型Linux发行版,它不同于通常的Linux发行版,Alpine采用了musl libc 和BusyBox以减少系统的体积和运行时的资源消耗。2.Alpine Linux提供了自己的包管理工具:apk(注意:ubuntu中是apt-get),我们可以通过https://p...

2019-12-04 09:01:09 329

原创 Dockerfile简介及jdk镜像制作

Dockerfile 概念Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。镜像的定制实际上就是定制每一层所添加的配置、文件。如果我们可以把每一层修改、安装、构建、操作的命令都写入一个脚本,用这个脚本来构建、定制镜像,那么之...

2019-12-01 16:33:37 371

原创 Docker数据卷

Docker 数据管理在生产环境中使用 Docker ,往往需要对数据进行持久化,或者需要在多个容器之间进0行数据共享,这必然涉及容器的数据管理操作容器中的管理数据主要有两种方式:数据卷 Data Volumes 容器内数据直接映射到本地主机环境;数据卷容器(Data Volume Containers 使用特定容器维护数据卷当然还...

2019-11-30 17:07:23 115

原创 docker 入门

Docker简介Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。Docker 从 17.0...

2019-11-28 20:19:47 110

原创 SpringCloud Config的使用

SpringCloud Config简介1.分布式系统面临的–配置问题 微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务。由于每个服务都需要必要的配置信息才能运行,所以一套集中式的动态的配置管理设施是必不可少的。SpringCloud提供了ConfigServer来解决这个问题,我们每一个微服务自己带着一个application.yml,上...

2019-11-27 20:15:00 190

原创 Zuul路由网关

一 为什么要使用微服务网关不同的微服务网关一般都会有不同的网络地址,而外部客户端(例如手机APP)可能需要调用多个服务的接口才能完成一个业务需求。例如一个电影购票的手机APP,可能会调用多个微服务的接口,才能完成一次购票的业务流程,如下图:如果让客户端直接与各个微服务通信,会有以下问题:1 客户端多次请求不同的微服务,增加了客户端的复杂性。2 存在跨域请求,在一定的场景下处理相对复杂。...

2019-11-26 18:53:49 98

原创 Hystrix集群及监控turbine

Hystrix集群这里为了演示方便,一样用我们一个项目直接代替3个项目的集群了导入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...

2019-11-25 20:03:02 100

原创 Hystrix服务熔断以及服务监控Dashboard

服务雪崩效应当请求的服务中出现无法访问、异常、超时等问题时,那么用户的请求将会被阻塞。如果多个用户的请求中,都存在无法访问的服务,那么他们都将陷入阻塞的状态中。在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign来调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身...

2019-11-22 20:37:36 165

原创 微服务调用Ribbon负载均衡、Feign的使用

微服务调用Ribbon简介前面讲了eureka服务注册与发现,但是结合eureka集群的服务调用没讲。这里的话 就要用到Ribbon,结合eureka,来实现服务的调用;Ribbon是Netflix发布的负载均衡器,它有助于控制HTTP和TCP的客户端的行为。为Ribbon配置服务提供者地址后,Ribbon就可基于某种负载均衡算法,自动地帮助服务消费者去请求。Ribbon默认为我们提供了很...

2019-11-21 19:42:49 235

原创 Eureka高可用集群配置及自我保护机制

Eureka集群搭建在启动的时候可能会报下面的错出现这种情况的原因是,我们的程序已经启动(已经出现红框中此条日志,代表程序已经启动,所以程序本身没有问题。),为什么会出现错误呢?是因为在此系统中,我们要搭建的是集群环境, 每一台服务器在自己启动之后,都要去连接集群中的其他服务器,以便于相互之间通讯传递信息。但是,我们肯定是按照次序启动服务器,我们不管先启动哪一台服务器,其他的服务器都还没...

2019-11-21 11:21:26 193

原创 springcloud简介

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

2019-11-19 18:44:04 71

原创 SpringBoot+Quartz+数据库存储

springboot整合Quartza、quartz调度框架是有内置表的进入quartz的官网http://www.quartz-scheduler.org/,点击Downloads,下载后在目录\docs\dbTables下有常用数据库创建quartz表的脚本,例如:“tables_mysql.sql”table_mysql.sqltable_mysql_innodb.sql上述两者...

2019-11-17 11:41:06 169

原创 Quartz入门

Quartz简介及应用场景Quartz介绍任务调度框架“Quartz”是OpenSymphony开源组织在Job scheduling领域又一个开源项目,是完全由java开发的一个开源的任务日程管理系统,“任务进度管理器”就是一个在预先确定(被纳入日程)的时间到达时,负责执行(或者通知)其他软件组件的系统。简单来说就是实现“计划(或定时)任务”的系统,例如:订单下单后未付款,15分钟后...

2019-11-15 16:19:38 103

原创 Springboot与jpa的使用

springboot之jpa支持导入相关pom依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> ...

2019-11-14 15:48:50 164

原创 SpringBoot整合redis及其注解式开发

SpringBoot配置类注解标签@Configuration@Configuration底层是含有@Component ,所以@Configuration 具有和 @Component 的作用。@Configuration可理解为用spring的时候xml里面的标签。注:配置类必须以类的形式提供(不能是工厂方法返回的实例),允许通过生成子类在运行时增强(cglib 动态代理)。...

2019-11-13 18:19:08 105

原创 springboot集成druid、mybatis以及pagehelper

Druid介绍概念Segment: Druid中有个重要的数据单位叫segment,其是Druid通过bitmap indexing从raw data生成的(batch or realtime)。segment保证了查询的速度。可以自己设置每个segment对应的数据粒度,这个应用中广告流量查询的最小粒度是天,所以每天的数据会被创建成一个segment。注意segment是不可修改的,如果需...

2019-11-11 09:42:29 156

原创 springboot模板(thymeleaf和freemarker)

Thymeleaf模板Thymeleaf是适用于Web和独立环境的现代服务器端Java模板引擎。Thymeleaf的主要目标是为 您的开发工作流程带来优雅的 自然模板 -HTML可以在浏览器中正确显示,也可以作为静态原型工作,从而可以在开发团队中加强协作。Thymeleaf拥有适用于Spring Framework的模块,与您喜欢的工具的大量集成以及插入您自己的功能的能力,对于现代HTML...

2019-11-08 19:33:03 161

原创 springboot入门

Springboot入门SpringBoot是什么?Spring Boot它本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用程序。也就是说,它并不是用来替代Spring的解决方案,而是和Spring框架紧密结合用于提升Spring开发者体验的工具。同时它集成了大量常用的第三方库配置(例如Jackson, JDBC, Mongo, R...

2019-11-07 18:34:23 71

原创 Java自定义注解

Java注解简介Java注解(Annotation)Java注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。注解相关类都包含在java.lang.annotation包中。Java注解分类2.1 JDK基本注解2.2 JDK元注解2.3 自定义注解JDK基本注解3.1 @Override重写3.2 @Depreca...

2019-11-06 19:24:24 85

原创 Idea配置使用并使用git

Git Gui的使用把压缩包中的msgs文件夹copy到 Git安装目录/mingw64/share/git-gui/lib下面是没有缓存的提交到暂缓区的同时提交到本地上传到github远程服务器下图为上传成功Ssh key 介绍及使用Ssh key介绍我理解的就是每台电脑上会产生出一个ssh key,然后自己有一个远程账户,但是自己有可能有很多台电脑,包括家里的电脑还...

2019-10-17 17:57:33 618

原创 git

git与github介绍Git是什么Git是一个开源的[分布式][版本控制系统],用于敏捷高效地处理任何或小或大的项目版本控制器CVS/SVN/GitSVN客户端/服务器GIT客户端/代码托管网站(例如:github)注1:类似的代码托管网站还有:github/码云/阿里云Code源码管理注2:类似的技术GitLab,但它与GitHub又有一定的区别GitLab和GitHub...

2019-10-16 20:56:12 92

原创 shiro授权角色、权限与Shiro的注解式开发

权限认证也就是访问控制,即在应用中控制谁能访问哪些资源。在权限认证中,最核心的三个要素是:1-角色role,是权限的集合,一种角色可以被很多个用户拥有,一种角色可以包含多种权限;【多对多】2-用户user,在 Shiro 中,代表访问系统的用户,被封装成 安全主体Subject对象;3-权限permission,即操作资源的权利,比如访问某个页面,以及对某个模块的数据的CRUD操作权限;...

2019-10-15 20:53:26 452

原创 shiro认证-SSM

Shiro认证首先Pom依赖<dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>1.3.2</version></dependency>...

2019-10-14 14:34:42 142

原创 shiro入门

Shiro简介什么是shiroshiro是apache的一个开源框架,是一个权限管理的框架,实现 用户认证、用户授权。spring中有spring security (原名Acegi),是一个权限框架,它和spring依赖过于紧密,没有shiro使用简单。shiro不依赖于spring,shiro不仅可以实现 web应用的权限管理,还可以实现c/s系统,分布式系统权限管理,shiro...

2019-10-13 15:46:20 75

原创 springmvc之文件上传和json处理

springmvc之文件上传SpringMVC和Struts2的区别共同点:1.都是web层框架,都是基于MVC模型编写2.底层都离不开原始ServletAPI3.处理请求的机制都是一个核心控制器区别:1.SpringMVC的入口是Servlet,而Struts2是Filter2.SpringMVC是基于方法设计的,而Struts2是基于类,Struts2每次执行都会创建一个动作类...

2019-09-29 21:36:37 872

原创 Springmvc简单入门

Springmvc简介及配置springmvc是spring框架的一个模块,springmvc和spring无需通过中间整合层进行整合。 Spring Web MVC是一种基于Java的实现了MVC设计模式的、请求驱动类型的、轻量级Web框架。框架结构(了解)springmvc是一个基于mvc的web框架。SpringMVC处理请求的流程第一步:发起请求到前端控制器(Dispatche...

2019-09-28 22:36:32 217

原创 mybatis关联关系

mybatis关联关系有一对多和多对多一对多一对多我们今天用订单和订单项来演示首先先用逆向生成工具(generatorConfig.xml)上篇博客中有生成t_hibernate_order、t_hibernate_order_item这两张表对应的model与mapper让实体类比较纯粹,我们要写一个Vo类来继承实体类OrderVopackage com.zking.model.vo...

2019-09-27 18:12:30 244 1

原创 Mybatis整合ehcache,Redis实现二级缓存

Mybatis整合ehcache,Redis实现二级缓存Mybatis集成ehcache为什么需要缓存拉高程序的性能什么样的数据需要缓存很少被修改或根本不改的数据业务场景比如:耗时较高的统计分析sql、电话账单查询sql等ehcache是什么Ehcache 是现在最流行的纯Java开源缓存框架,配置简单、结构清晰、功能强大注1:本章介绍的是2.X版本,3.x的版本和2...

2019-09-25 22:02:21 138

原创 spring整合mybatis

spring整合mybatis1.添加相关依赖注:spring 5.0.1.RELEASE有冲突1.1 添加spring相关依赖(5.0.2.RELEASE)spring-corespring-beansspring-contextspring-ormspring-txspring-aspectsspring-web1.2 添加mybatis相关依赖mybatis核心:my...

2019-09-24 16:45:42 227

原创 mybatis动态sql及结果集处理

今天我们主要讲解1、mybatis动态sql2、模糊查询3、查询返回结果集的处理4、分页查询5、特殊字符处理1、mybatis动态sql在参数前面加上@Param(“bookIds”)的作用是在Mapper.xml中可以使用,里面放的是别名。List<Book> selectByIn(@Param("bookIds") List bookIds);在Mapper接口...

2019-09-21 15:41:03 2114

原创 mybatis入门

搭建mybatis框架环境1、创建maven工程2、导入相关pom依赖3、Mybatis相关插件安装4、Mybatis.cfg.xml配置相关的pom依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http...

2019-09-19 22:17:11 52

原创 在Java中操作redis

Java访问redis2.1 添加依赖redis.clientsjedis2.9.02.2 Java连接redisJedis jedis = new Jedis(ip, port);jedis.auth(“123456”);//权限认证jedis.ping();jedis.select(0);//切换数据库2.3 Java操作redisstring(字符串)hash(哈希)...

2019-09-19 16:54:06 181

原创 Linux环境搭建以及项目部署

1.安装VMWare虚拟机3. 接受条款,下一步 选择安装目录,不建议有中文目录和空格目录。下一步 下一步2.安装CentOS(10分钟)2.1 查看并设置Linux的IP地址1)ip addr 查看ip2)cd /etc/sysconfig/network-scripts 调转目录3)ls或ll 查看目录4)vi ifcfg-en...

2019-09-12 09:34:17 129

原创 lucene和网页静态化整合

网页静态化是什么?网页静态化有很多含义,在WEB开发中,静态网页一般理解为网站中大部分超级链接所引用的页面是单独的HTML静态页面文件(如*.htm、*.html等页面文件)。在ASP.NET中(ASP、PHP或JSP也一样),页面都是通过运行库(其他语言也有相应的解释器或运行环境)动态生成HTML代码,然后发送到浏览器端的,而不是直接将页面文件发送。通过一定的技术手段,将浏览用户通过超级链接可...

2019-09-10 16:44:24 188

原创 lucene介绍

Lucene简介  Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全...

2019-09-06 14:19:44 119

空空如也

空空如也

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

TA关注的人

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