后端
吾行远方
没有理想何必远方
展开
-
分布式ID生成算法--雪花算法(SNOWFLAKE)
Github源码https://github.com/souyunku/SnowFlake分布式ID生成算法的有很多种,Twitter的SnowFlake就是其中经典的一种。注:1B就是1个字节。Byte、KB、B、MB、GB之间的关系是:Bit——比特 ; B ——字节;KB——千字节;MB——兆字节;GB——吉字节;TB——太字节1bit=0.125b ;1B=8 Bit ;...原创 2020-01-09 09:31:27 · 1097 阅读 · 0 评论 -
SpringBoot多环境配置
1、为什么要有多环境配置?不同环境使用不同配置,例如数据库配置,在开发的时候,我们一般用开发数据库,而在生产环境的时候,我们是用正式的数据2、配置文件规则存放路径spring boot允许通过命名约定按照一定的格式(application-{profile}.properties)来定义多个配置文件配置文件存放路径classpath根目录的“/config”包下classpat...原创 2019-09-11 20:51:58 · 177 阅读 · 0 评论 -
RocketMQ4服务端在Windows环境下的安装
有两种安装的策略,一种是基于源码包的,另一种则是基于二进制包的。接下来主要介绍基于二进制包的安装。1、下载RocketMQ的二进制包http://rocketmq.apache.org/release_notes/将下载好的文件进行解压缩。2、配置环境变量主要配置两种环境变量:名称服务器的ip地址,RocketMQ的安装目录。注:变量值是下载包的解压位置。F:\softs\roc...原创 2019-09-11 00:13:29 · 390 阅读 · 0 评论 -
SpringBoot整合ActiveMQ(整理四 发布订阅模式(pub/sub),及同时支持点对点和发布订阅模型)
1、配置文件#整合jms测试,安装在别的机器,防火墙和端口号记得开放spring.activemq.broker-url=tcp://127.0.0.1:61616#集群配置#spring.activemq.broker-url=failover:(tcp://localhost:61616,tcp://localhost:61617)spring.activemq.user=admin...原创 2019-09-11 00:12:18 · 3098 阅读 · 0 评论 -
SpringBoot整合ActiveMQ(整理三点对点消息)
1、官网文档https://docs.spring.io/spring-boot/docs/2.1.0.BUILD-SNAPSHOT/reference/htmlsingle/#boot-features-activemq2、加入依赖 <!-- 整合消息队列ActiveMQ --> <dependency> <groupId>o...原创 2019-09-11 00:11:52 · 326 阅读 · 0 评论 -
SpringBoot整合消息队列RockketMQ、ActiveMQ(整理二ActiveMQ消息队列安装和基础介绍)
ActiveMQ特点 1)支持来自Java,C,C ++,C#,Ruby,Perl,Python,PHP的各种跨语言客户端和协议 2)支持许多高级功能,如消息组,虚拟目标,通配符和复合目标 3) 完全支持JMS 1.1和J2EE 1.4,支持瞬态,持久,事务和XA消息 4) Spring支持,ActiveMQ可以轻松嵌入到Spring应用程序中,并使用Spring的XML配置机制进行配置...原创 2019-09-11 00:11:17 · 206 阅读 · 0 评论 -
SpringBoot整合消息队列RockketMQ、ActiveMQ(整理一JMS介绍和使用场景及基础编程模型)
为什么使用JMS?等待时间无法衡量,占用太多的连接数支付网关将资源包装成对象,写到消息队列(订阅,发布)中,大大提高并发1、什么是JMS?Java消息服务(Java Message Service),Java平台中关于面向消息中间件的接口JMS是一种与厂商无关的 API,用来访问消息收发系统消息,它类似于JDBC(Java Database Connectivity)。这里,JDBC...原创 2019-09-09 14:54:13 · 368 阅读 · 0 评论 -
springboot整合搜索框架ElasticSearch实例(整理二)
1、Spring Data Elasticsearch官方文档地址https://docs.spring.io/spring-data/elasticsearch/docs/3.0.6.RELEASE/reference/htmlSpringBoot整合elasticsearch版本说明:https://github.com/spring-projects/spring-data-elast...原创 2019-09-05 23:06:15 · 293 阅读 · 0 评论 -
springboot整合搜索框架ElasticSearch(整理一)
1、搜索框架elasticsearch简介如果不使用搜索框架,那么我们常用的就是 mysql:like,但是大量数据会导致性能问题常用的搜索框架:solr:针对企业,GB级别,基于Lucene(apache开源搜索框架)。elasticsearch:(1)针对数据量特别大,PB,TB级别的数据,也是基于Lucene(2)纯java开发,springboot使用,本文环境是es5.6.8...原创 2019-09-05 16:46:02 · 696 阅读 · 0 评论 -
springboot整合Logback开源日志组件(整理二)
1、SpringBoot启动日志解析默认情况下,Spring Boot将日志输出到控制台,INFO级别2、自定义Logback案例2.1 创建 日志文件logback-spring.xml,官方推荐 -spring.xml结尾springboot默认加载配置顺序 logback-spring.xml, logback-spring.groovy, logback.xml, o...原创 2019-09-05 13:58:57 · 248 阅读 · 0 评论 -
SpringBoot整合RocketMQ实例(整理二 生产者)
1、启动mqnameser和mqbroker2、加入相关依赖 <!-- 整合RocketMq --> <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-client</artifactId> <versio...原创 2019-09-11 20:51:24 · 2230 阅读 · 4 评论 -
SpringBoot整合RocketMQ实例(整理三 消费者)
MsgConsumer .javaimport javax.annotation.PostConstruct;import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer;import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus...原创 2019-09-11 20:51:44 · 10255 阅读 · 2 评论 -
SpringCloud微服务网关zuul开发实例(整理三)
1、微服务网关作用和使用场景1.1、什么是网关? API Gateway,是系统的唯一对外的入口,介于客户端和服务器端之间的中间层,处理非业务功能 提供路由请求、鉴权、监控、缓存、限流等功能 统一接入 智能路由 AB测试、灰度测试 负载均衡、容灾处理 日志埋点(类似Nignx日志) 流量监控 限流处理 服务降级 安全防护 鉴权处理...原创 2019-09-21 22:20:45 · 483 阅读 · 0 评论 -
SpringCloud(整理二)
1、分布式之熔断、降级简介:系统负载过高,突发流量或者网络等各种异常情况介绍,常用的解决方案1.1、熔断: 保险丝,熔断服务,为了防止整个系统故障,包含子和下游服务 下单服务 -》商品服务 -》用户服务 (出现异常-》熔断)1.2、降级: 抛弃一些非核心的接口和数据 旅行箱的例子:只带核心的物品,抛弃非核心的,等有条件的时候再去携带这些物品 电商的例子:高流量时期,抛弃...原创 2019-09-19 21:04:48 · 86 阅读 · 0 评论 -
SpringCloud(整理一)
1、 什么是微服务的注册中心?1.1注册中心服务管理,核心是有个服务注册表,心跳机制动态维护1.2服务提供者provider启动的时候向注册中心上报自己的网络信息1.3服务消费者consumer启动的时候向注册中心上报自己的网络信息,拉取provider的相关网络信息1.4为什么要用注册中心?微服务应用和机器越来越多,调用方需要知道接口的网络地址,如果靠配置文件的方式去控制网络地...原创 2019-09-18 22:24:27 · 309 阅读 · 0 评论 -
SpringBoot使用actuator监控配置和使用
1、什么是actuator?官方文档:https://docs.spring.io/spring-boot/docs/2.1.0.BUILD-SNAPSHOT/reference/htmlsingle/#production-readySpring Boot包含许多附加功能,可帮助您在将应用程序投入生产时监视和管理应用程序。 可以选择使用HTTP端点或JMX来管理和监控您的应用程序,自动应用...原创 2019-09-12 22:15:34 · 3402 阅读 · 0 评论 -
SpringBoot服务器端主动推送SSE(Sever-Send-Events)案例
服务端主动推送:SSE (Server Send Event)(1)需要把response的类型 改为 text/event-stream,才是sse的类型(2)html5新标准,用来从服务端实时推送数据到浏览器端,直接建立在当前http连接上,本质上是保持一个http长连接,轻量协议。资料:http://www.w3school.com.cn/html5/html_5_serverse...原创 2019-09-12 22:15:20 · 3311 阅读 · 0 评论 -
SpringBoot webflux响应式编程(整理二 实例)
1、WebFlux中,请求和响应不再是WebMVC中的ServletRequest和ServletResponse,而是ServerRequest和ServerResponse2、加入依赖如果同时存在spring-boot-starter-web,则会优先用spring-boot-starter-web <dependency> <groupId>org....原创 2019-09-12 08:58:21 · 949 阅读 · 0 评论 -
SpringBoot响应式编程(整理一)
1、SprinBoot响应式编程简介基础理解:依赖于事件,事件驱动(Event-driven)一系列事件称为“流”异步非阻塞观察者模式(1)Spring WebFlux是Spring Framework 5.0中引入的新的反应式Web框架。与Spring MVC不同,它不需要Servlet API,完全异步和非阻塞,并 通过Reactor项目实现Reactive Streams...原创 2019-09-12 08:58:02 · 5013 阅读 · 1 评论 -
springboot整合Logback开源日志组件(整理一)
1、常用处理java的日志组件:slf4j,log4j,logback,common-logging2、logback介绍:基于Log4j基础上大量改良,不能单独使用,推荐配合日志框架SLF4J来使用logback当前分成三个模块:logback-core,logback-classic和logback-access;logback-core是核心模块,其它两个模块的基础模块3、...原创 2019-09-05 10:45:23 · 253 阅读 · 0 评论 -
SpringBoot定时任务schedule 异步任务实例(整理二)
1、定时器异步任务使用场景使用场景:适用于处理log、发送邮件、短信……等下单接口->查库存 100余额校验 150风控用户100…2、 @EnableAsync 开启异步任务@SpringBootApplication //一个注解顶下面3个@EnableScheduling //开启定时任务@EnableAsync //开启异步任务public class ...原创 2019-09-04 23:38:50 · 1139 阅读 · 0 评论 -
SpringBoot定时任务schedule(整理一)
1、定时任务使用场景客户生日发邮件,定时统计报表等。2、定时任务实现的集中方式 1、常见定时任务 Java自带的java.util.Timer类 timer:配置比较麻烦,时间延后问题 timertask:不推荐 2、Quartz框架 配置更简单 xml或者注解 3、SpringBoot使用注解方式开启定时任务 1)启动类里面 @EnableSc...原创 2019-09-04 22:47:50 · 3317 阅读 · 0 评论 -
springboot加载外部的配置文件及使用案例
1、文件结构2、启动类 @PropertySource("classpath:yh.properties") public class WmsApplication { public static void main(String[] args) { SpringApplication.run(WmsApplication.class, args); } }3、配置文...原创 2019-05-17 15:28:03 · 808 阅读 · 0 评论 -
springboot加载mybatis配置文件
1、maven <properties> <snakeyaml.version>1.23</snakeyaml.version> </properties> <dependency> <groupId>org.yaml</groupId> <artifactId>snakeyaml...原创 2019-05-17 15:20:40 · 2716 阅读 · 0 评论 -
springboot 日志存入指定文件
1、文件结构2、application.yml <properties> <snakeyaml.version>1.23</snakeyaml.version> </properties> <dependency> <groupId>org.yaml</groupId> <artif...原创 2019-05-17 10:54:15 · 3783 阅读 · 0 评论 -
springboot上传文件过大org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException
1.使用Spring Boot 上传文件报超出自带tomacat限制大小(默认1M)异常:org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException: The field head_name exceeds its maximum permitted size of 1048576 by...原创 2019-08-29 09:38:40 · 9613 阅读 · 3 评论 -
上传文件,解析读取excel表格 (前后端完整案例)
1、jar <dependency> <groupId>net.sourceforge.jexcelapi</groupId> <artifactId>jxl</artifactId> <version>2.6.12</version> </dependency>2、前端案例 &l...原创 2019-08-20 15:30:29 · 2801 阅读 · 1 评论 -
Long.ValueOf("String")与Long.parseLong("String")的区别
Long.ValueOf(“String”)返回Long包装类型Long.parseLong(“String”)返回long基本数据类型原创 2019-08-19 18:01:08 · 805 阅读 · 0 评论 -
springboot 利用druid配置mysql
1、maven <properties> <mysql.version>5.1.47</mysql.version> <druid.version>1.1.9</druid.version> <snakeyaml.version>1.23</snakeyaml.version> </prope...原创 2019-05-17 15:57:20 · 2982 阅读 · 0 评论 -
springboot 静态成员变量使用@Value赋值
使用@Value的类必须使用@Component(或者其他springboot相关注解)----归容器管理import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Component;import sun.misc.BASE64Decoder;import...原创 2019-05-27 17:15:39 · 1930 阅读 · 0 评论 -
Tomcat 8 文件上传到Linux服务器后无访问权限
领导分配了一个需求,后台上传聊天附件,小程序端浏览。但小程序无法访问上传到linux服务器中的,提示如下:1、案例如下:https://auto.***.com/ **/chatdocs/b07d0c20-0a46-4f20-8c23-488290a412ee.html后来经过定位,原因如下:文件权限的问题,但是后续上传的文件权限均是红框中的,无访问权限。后来修改当前文件夹权限也不行。...原创 2019-09-04 14:55:41 · 1351 阅读 · 0 评论 -
springboot整合redis--linux安装redis(一)
1、为什么要用缓存2、redis1、redis官网 https://redis.io/download2、新手入门redis在线测试工具:http://try.redis.io/3、linux服务器安装redis-4.0.9快速安装 https://redis.io/download#installationwget http://download.redis.io/relea...原创 2019-09-03 23:08:58 · 580 阅读 · 0 评论 -
SpringBoot整合Mybatis事务处理实例(整理四)
1、无事务 @Override public int addUser() { User user = new User(); user.setAge(25); user.setCreateTime(new Date()); user.setName("fb事务测试,无事务"); user.setPhon...原创 2019-09-02 23:55:33 · 933 阅读 · 0 评论 -
SpringBoot整合Mybatis事务介绍和常见的隔离级别,传播行为(整理三)
1、介绍什么是事务,单机事务,分布式事务处理(消息队列) 画一个简图,不懂自己百度去2、隔离级别 Serializable: 最严格,串行处理,消耗资源大 Repeatable Read:保证了一个事务不会修改已经由另一个事务读取但未提交(回滚)的数据 Read Committed:大多数主流数据库的默认事务等级 Read Uncommitted:保证了读取过程中不会读取到非法数据。...原创 2019-09-02 23:22:59 · 903 阅读 · 0 评论 -
SpringBoot整合Mybatis增删改查(整理二)
222原创 2019-09-02 23:07:53 · 239 阅读 · 0 评论 -
springboot整合mybaitis(整理一)
1、使用starter, maven仓库地址:http://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter2、加入依赖(可以用 http://start.spring.io/ 下载)<properties> <java.version>1.8</jav...原创 2019-09-02 17:30:32 · 234 阅读 · 0 评论 -
Feign使用案例
1、maven <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> <version>2.1.1.RELEASE</version&...原创 2019-05-17 15:09:33 · 1454 阅读 · 0 评论 -
java图片转base64转图片
在线图片转换Base64import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;import java.io.*;public class ImageToBase64ToImage { public static void main(String[] args) { String strImg = I...原创 2019-05-24 10:36:25 · 4387 阅读 · 0 评论 -
idea+springboot热部署两种方式
springboot结合dev-tool工具,快速加载启动应用dev-tool官方文档(注意版本):https://docs.spring.io/spring-boot/docs/2.1.0.BUILD-SNAPSHOT/reference/htmlsingle/#using-boot-devtools-restart-exclude一、两种方式共同点1、pom添加依赖 <depe...原创 2019-08-08 16:28:40 · 771 阅读 · 0 评论 -
idea + springboot 打war包另一种快捷方式
前一阶段有人离职,接手负责他的项目,我原来只需要写好我自己的代码,提交到仓库就好了。但现在 “ 项目打包、部署服务器、后台、后端、移动端 自己全部要负责 ”瞬间感觉压力好大,但现在挺过来好多了,记得第一次使用idea打war包,网上看了很多博客,打包很麻,步骤也很容易忘。后来自己找到了一种快速打包方法,下面记录一下。1、在pom.xml中将打包形式 jar 修改为war<packagi...原创 2019-08-08 17:15:12 · 181 阅读 · 0 评论