自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

福州零叶的博客

技术总结与分享

  • 博客(32)
  • 收藏
  • 关注

原创 Spring Cloud 微服务及相关技术总结

    微服务,分布式架构。    如果项目体量较大,比如大型电商项目,可以拆分出多个子模块比如处理商品、订单、报表、活动等,各个模块负责各自的业务,解耦合,对开发、维护都有意义,就可以引入微服务架构了。微服务后,各服务之间的影响有效降低。试想一个大项目完全用一个工程去做,体量过于臃肿,或者以通过维护接口连接的方式去实现,是相当冗余的事情。    还有一种情形是,有些模块、组件在多个项目中有共通性...

2017-08-13 16:12:37 2915 2

原创 时隔3年重新回归CSDN,继续写作

时隔3年重新回归CSDN,继续写作

2021-07-24 21:30:59 101

原创 RPC框架正确的使用姿势

RPC框架-Thrift 介绍 RPC(Remote Procedure Call)远程过程调用,简单的理解是一个节点请求另一个节点提供的服务;本地过程调用:如果需要将本地student对象的age+1,可以实现一个addAge()方法,将student对象传入,对年龄进行更新之后返回即可,本地方法调用的函数体通过函数指针来指定。远程过程调用:上述操作的过程中,如果addAge()这个方法在服务端,执行函数的函数体在远程机器上,如何告诉机器需要调用这个方法呢?目前主流...

2020-07-01 18:03:59 678

原创 springBoot+jsonp的实现方式

一种jsonp的实现方式后端/** * 在Controller的返回类型上使用此注解,就会以ResponseInfo包装返回对象 */@Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME)public @interface RestWrapper {}在方法前加    @RequestMapping...

2018-09-03 19:02:13 3959

原创 几种线程池异步处理逻辑的方法

Java提供的四种线程池的好处在于:a. 重用存在的线程,减少对象创建、消亡的开销,性能佳。b. 可有效控制最大并发线程数,提高系统资源的使用率,同时避免过多资源竞争,避免堵塞。c. 提供定时执行、定期执行、单线程、并发数控制等功能。Java通过Executors提供四种线程池,分别为:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲...

2018-08-26 22:06:49 1763

转载 Kafka和Mq对比

其实,作为消息队列来说,企业中选择mq的还是多数,因为像Rabbit,Rocket等mq中间件都属于很成熟的产品,性能一般但可靠性较强,而kafka原本设计的初衷是日志统计分析,现在基于大数据的背景下也可以做运营数据的分析统计,而redis的主要场景是内存数据库,作为消息队列来说可靠性太差,而且速度太依赖网络IO,在服务器本机上的速度较快,且容易出现数据堆积的问题,在比较轻量的场合下能够适用。Ra...

2018-05-06 14:36:12 1171

转载 java web的进化历程

java框架有不少,也是发展过程的一个反应。以下是某同行 对java框架发展历程的总结,相对比较清晰:java web的进化历程大致如下:开始:servlet因为标签解耦:jsp因为页面数据解耦:jsp+javabean因为控制层解耦:jsp+servlet+javabean因为控制层共用:jsp+struts因为解耦数据库:jsp+struts+hibernate因为解耦控制层和数据层:jsp+...

2018-03-30 23:31:19 875

原创 Element+Vue.js

前端框架,目前流行node 、Vue ,react 、angular 等。之前看了node 和vue的视频,还挺有意思的,也练习了下。对尤雨溪的vue挺感兴趣。最近在一个项目中用了element,element是饿了么团队的开源杰作,后台管理系统 大家可以尝试去使用。如果你没用过vue,或者没了解过vue,我觉得你用element会比较难受。通过使用element,基本上算是vue的实战了。ele...

2018-03-17 21:01:27 666

原创 Hadoop自学笔记

互联网项目的不断实施扩展壮大,数据资源肯定是越来越丰富的。大数据技术 ,我觉得在3-5年后会是一个常态技能。要实施大数据技术,数据源是一个基石。下面是自学Hadoop的一个总结:Hadoop是一个开源的大数据框架Hadoop是一个分布式计算的解决方案Hadoop=HDFS分布式文件系统+MapReduce分布式计算解决方案HDFS 分布式文件系统:存储是大数据技术的基础MapReduce编程模型:...

2018-02-25 17:02:03 229

原创 docker操作基础

推荐使用以下命令安装docker服务:sudo wget -qO- https://get.docker.com | sh如果发生错误 :No package docker availableyum没有找到docker包,更新epel第三方软件库,运行命令:sudo yum install epel-release之后运行:sudo yum install docker-io之后就可以愉快地安装了...

2018-02-21 20:43:44 217

原创 Spring Boot AOP面向切面编程实现

Spring Boot AOP面向切面编程实现AOP面向切面编程:横切关注点与它们所影响的对象之间的解耦.将通用的逻辑从业务逻辑中分离出来。AOP把软件系统分为两个部分:核心关注点和横切关注点。业务处理的主要流程是核心关注点,与之关系不大的部分是横切关注点。横切关注点的一个特点是,他们经常发生在核心关注点的多处,而各处都基本相似。比如权限认证、日志、事务处理。Aop 的作用在于分离系统中的各种关注...

2018-02-11 21:56:47 1787

原创 Spring Boot 配置文件两种配置方式对比

Spring Boot框架解决java开发中繁琐的xml配置 使我们能够快速的搭建一个基础java项目Spring Boot配置文件支持.yml 也支持.propertiesapplication.yml配置结构spring: application: name: wxxcx mvc: view: prefix: /WEB-INF/jsp/ suffix: jspapp...

2018-02-11 14:16:50 5281

原创 Redis 2种持久化方式( RDB、 AOF )配置

看了一些redis相关的博文和文档,对redis的持久化只停留在原理及理论层面,直接点 要怎么配置。Redis有2种持久化的方式对比:一种是Snapshot(RDB),就是保存某一时刻的数据在磁盘;另外一种是append-only file(AOF),就是以追加的方式记录所有写操作的命令到磁盘文件里面。1、Snapshot1.1 在redis.conf里面,配置的参数主要包括以下部分:save &...

2018-02-08 13:21:06 193

原创 不是所有数据格式都用json

不是所有数据格式都用json。作为java程序员,json作为一种数据格式随处可见。前端js 后端 java 对json有很好的支持,ajax 请求数据格式用json。构建Rest风格 的接口 喜欢定义数据格式为json。...哪里不能用json呢?举例:redis中存储一个对象,转换成json 存取将会发生异常,使用序列化的方式,即转换成字节数组存储,取时反序列化。。。...

2018-01-29 17:19:39 1745 1

原创 负载均衡总结,Nginx负载均衡的4种方式 :轮询-Round Robin 、Ip地址-ip_hash、最少连接-least_conn、加权-weight=n

这里对负载均衡概念和nginx负载均衡实现方式做一个总结:先说一下负载均衡的概念:Load Balance负载均衡是用于解决一台机器(一个进程)无法解决所有请求而产生的一种算法。我们知道单台服务器的性能是有上限的,当流量很大时,就需要使用多台服务器来共同提供服务,这就是所谓的集群。负载均衡服务器,就是用来把经过它的流量,按照某种方法,分配到集群中的各台服务器上。这样一来不仅可以承担更大的流

2018-01-29 15:19:47 3219 1

原创 升级到Tomcat 最新的版本8.5.24,图片验证码在Windows下正常,Linux环境下出不来

升级到Tomcat 最新的版本8.5.24,导致图片验证码出不来。尝试在代码中添加System.setProperty("java.awt.headless", "true");//20180117服务器字体均未改变 ,查看字体fc-list fc-match修改字体Font font = new Font("STIX", Font.PLAIN, fontHeight);/

2018-01-17 12:36:48 424

原创 使用String valueOf(Object obj)的陷阱,体现阅读源码的重要性

使用 String.valueOf() 要注意,其源码是:public static String valueOf(Object obj) { return (obj == null) ? "null" : obj.toString();}如果直接传入一个null,null==null 就报错了。而如果这样Map,Object> map = new Has

2018-01-12 14:17:43 1164

原创 AES、DES、RSA、MD5、Base64加密算法总结

AES、DES、RSA、MD5、Base64加密算法总结AES、DES加密速度快,适合大量数据,des容易破解,一般用3重des,后来又出现了更快更安全的aesRSA是公钥加密,速度慢,只能处理少量数据,优点是公钥即使在不安全的网络上公开,也能保证安全常见情况是双方用rsa协商出一个密钥后通过aes/3des给数据加密MD5和SHA1加密算法,用于计算出一段不可逆向计算的数

2018-01-12 12:48:23 974

原创 kafka-使用总结

什么是kafka?Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop的一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hado

2017-12-24 13:55:26 199

原创 网站并发处理总结

网站访问量在瞬时间大量提升,带来并发问题。这种情况普通网站是不会出现的,决定于用户基数,除非有人通过脚本或工具攻击你的网站,攻击这属于安全问题,某天你的网站遭受DOS洪水攻击时,你想到的不是高并发,而是从安全层面处理。曾经做一次抢红包的活动遭遇到类似洪水攻击,本身服务器资源就相当有限,也没有多节点资源可以部署,用黑名单过滤?只能呵呵。本人所遇到的并发场景是在抽奖、秒杀、抢红包等,即在活动期间内有大...

2017-12-20 08:49:47 409

原创 基础知识-域名与IP

在网络上,域名和IP地址都是唯一的,但是他们二者的对应关系却有所不同。一个域名只能对应一个IP地址,是一对一的关系,而一个IP却可以对应多个域名,是一对多的关系。如果你使用的是独立IP虚拟主机、vps或者云主机,并且只绑定了一个网站,那么使用IP地址和域名都能访问网站,如果使用的共享IP虚拟主机或者绑定了多个网站,则只能使用域名访问网站。端口不同明显跨域了

2017-12-16 15:57:44 458 1

原创 对Spring的总结

Spring 是一个“引擎” Spring MVC 是基于 Spring 的一个 MVC 框架 什么是MVC,推荐一个博文:http://blog.csdn.net/chun_long/article/details/52086565Spring Boot 是基于 Spring4 的条件注册的一套快速开发整合包 Spring 最初利用“工厂模式”( DI )和“代理

2017-12-15 22:04:04 146

原创 搭建nginx-logstash-kafka-elasticsearch服务

1、nginx作为web服务器,用来做服务访问入口、及静态资源服务器。对access.log日志格式化为json,这里要注意$变量的取值,否则会启动异常。 log_format access_log_json '{"user_ip":"$http_x_real_ip","lan_ip":"$remote_addr","log_time":"$time_iso8601","user_requrl

2017-12-04 08:51:08 570

原创 MQ消息中间件使用总结

使用MQ来处理大并发情况下数据库操作频繁带来 的性能问题。在业务执行时,不直接操作数据库,而是将数据通过MQ 传输,再MQ再调用自身的服务 操作数据库。MQ消息属队列,MQ包括消息发送方与消息接收方。RabbitMQ 是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成,...

2017-10-11 15:53:01 2446

原创 对提升开发效率的总结

如何提升代码生产的效率

2017-09-25 10:32:19 2094

原创 使用@Conditional 给Bean的实例化加开关

public class isOpenMemcached implements Condition { @Override public boolean matches(ConditionContext conditionContext, AnnotatedTypeMetadata annotatedTypeMetadata) { boolean flag=fals

2017-09-17 13:11:58 1046 1

原创 数据库知识点

建表要点1、tf-为普通表 td-为配置表或字典 tr-为关联表没有具体的业务信息 tl-为操作日志或字体日志 th-为历史表

2017-08-23 09:25:25 306

原创 常用js限制输入、常用js正则表达式

不允许输入空格 onkeyup="this.value=this.value.replace(/\s+/g,'')"只允许输入数字 onkeyup="this.value=this.value.replace(/\D/g,'')"不允许输入汉字 onkeyup="value=value.replace(/[^\w\.\/]/ig,'')"/**价格输入限制(数字 两位小数 不能为0)*

2017-08-19 12:55:16 354

原创 session-缓存-分布式会话session共享、多节点部署session共享解决方案

基于redis的session共享解决方案:依赖pom包 spring-seesion-data-redis,实际该包只是将spring-data-redis 、spring-session、jedis(redis-clients) 做了个集合管理,如果项目已引入spring-data-redis、jedis,则直接引入spring-session即可。可以为session共享所使用的re

2017-08-15 13:35:09 900

原创 Redis-RedisTemplate 缓存操作具体实现代码

package cn.com.doone.tx.cloud.activity.service.redis;import org.apache.commons.lang.StringUtils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.ann

2017-08-15 10:33:25 1265

原创 Jedis-缓存操作具体实现代码。

package cn.com.doone.tx.cloud.activity.service.redis;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.annotation.Value;import org.springframework.co

2017-08-15 10:31:17 259

原创 Redis - Jedis、Memcached缓存 总结

Redis作为缓存技术之一,已经被大量使用。现对Redis的代码做一次总结。1、分布式架构为什么要用缓存?以sesson处理为例,如果一个项目部署了多个节点,部署在多个服务器上。如何做session共享,很显然,大家会想到有数据库存储session会话信息,数据库存在性能瓶颈,所以引入缓存。无论是memcached也好,redis也好均能实现。在微服务架构中,各中心独立,解耦合,如果作为一个管理后...

2017-06-21 15:38:52 315

空空如也

空空如也

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

TA关注的人

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