- 浏览: 150458 次
- 性别:
- 来自: 南京
最新评论
-
南疆战士:
871554023 写道怎样做可以生成多页呢本来就是生成多页啊 ...
Freemarker+IText生成pdf文件 -
871554023:
怎样做可以生成多页呢
Freemarker+IText生成pdf文件 -
871554023:
就是生成的pdf文件里只有一页
Freemarker+IText生成pdf文件 -
871554023:
为什么不可以批量生成呢
Freemarker+IText生成pdf文件 -
南疆战士:
qindongliang1922 写道为啥不用的第三方的RPC ...
nio实现Socket长连接和心跳
文章列表
大型网站后台稳定性技术策略
- 博客分类:
- 架构
背景简介
对于大型应用后台系统来说,稳定性至关重要。目前越来越多的大型应用系统采用微服务架构,更加需要关注稳定性的技术能力建设。稳定性是服务系统基础能力的体现。
基础知识
在介绍稳定性技术策略主题之前,我们首先梳理一些基础概念和知识。
针对我们业务后台系统建设,任何大型业务后台系统绝对不是一蹴而就。它是伴随着业务不同阶段,不断进行演进的过程。如果经历过从 0 到 1 建设一个业务后台系统的同学,都会有类似的体会。
启动阶段
java判断中文汉字工具类
- 博客分类:
- J2SE
package com.wlkj.util;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import net.sourceforge.pinyin4j.PinyinHelper;
public class ChineseUtil {
/**
* 判断中文字符
* @param c
* @return
*/
public static boolean isChinese(char c){
Character.UnicodeBlock ub = ...
TCC方案是可能是目前最火的一种柔性事务方案了。关于TCC(Try-Confirm-Cancel)的概念,最早是由Pat Helland于2007年发表的一篇名为《Life beyond Distributed Transactions:an Apostate’s Opinion》的论文提出。在该论文中,TCC还是以Tentative-Confirmation-Cancellation命名。正式以Try-Confirm-Cancel作为名称的是Atomikos公司,其注册了TCC商标。
国内最早关于TCC的报道,应该是InfoQ上对阿里程立博士的一篇采访。经过程博士的这一次传道之后 ...
CAS单点登录登出原理
- 博客分类:
- SSO
一.单点登录概念
1.1 概念
1.2 SSO组成
1.3 技术实现思路
1.4单点登录过程
分布式消息中间件
作用:
1. 解耦(同步调用是一种强依赖,而异步调用是一种弱依赖);
2. 削峰填谷;
3. 降低响应时间;
4. 提升吞吐量(Kafka 的吞吐量是MySQL 吞吐量的30-40倍,并且Kafka的扩展性远高于MySQL);Kafka 的设计 ...
相信做大数据开发的朋友对hive和HBase一定不会陌生。
HBASE
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。HB ...
Redis缓存穿透、缓存雪崩和缓存击穿
- 博客分类:
- Redis
Redis缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面。但同时,它也带来了一些问题。其中,最要害的问题,就是数据的一致性问题,从严格意义上讲,这个问题无解。如果对数据的一致性要求很高,那么就不能使用缓存。
另外的一些典型问题就是,缓存穿透、缓存雪崩和缓存击穿。目前,业界也都有比较流行的解决方案。本篇文章,并不是要更加完美的解决这三个问题,也不是要颠覆业界流行的解决方案。而是,从实际代码操作,来演示这三个问题现象。之所以要这么做,是因为,仅仅看这些问题的学术解释,脑袋里很难有一个很形象的概念,有了实际的代码演示,可以加深对这些问题的理解和认识。
...
package com.feng;
import java.net.InetSocketAddress;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Map.Entry;
import org.elasticsearch.action.ListenableActionFuture;
import org.elasticsearch.action.get.GetRequestBuilder;
import org.elasticsearch.action.get.GetRes ...
Redis的n种妙用,不仅仅是缓存
- 博客分类:
- Redis
介绍
redis是键值对的数据库,常用的五种数据类型为字符串类型(string),散列类型(hash),列表类型(list),集合类型(set),有序集合类型(zset)
Redis用作缓存,主要两个用途:高性能,高并发,因为内存天然支持高并发
应用场景
分布式锁(string)
setnx key value,当key不存在时,将 key 的值设为 value ,返回1。若给定的 key 已经存在,则setnx不做任何动作,返回0。
redis-Sentinel配置
Sentinel介绍
Redis的主从模式下,主节点一旦发生故障不能提供服务,需要人 工干预,将从节点晋升为主节点,同时还需要修改客户端配置。 对于很多应用场景这种方式无法接受。
Redis从 2.8发布了一个稳定版本的Redis Sentinel 。当前版本的 Sentinel称为Sentinel 2。它是使用更强大和更简单的预测算法来重 写初始Sentinel实现。(Redis2.6版本提供Sentinel 1版本,但是有 一些问题)
Sentinel(哨兵)架构解决了redis主从人工干预的问题。
Redis Sentinel ...
HttpClientUtil工具类
- 博客分类:
- J2SE
package com.song.utils;
import org.apache.http.HttpEntity;
import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.config.RequestConfig;
import org.apa ...
Dubbo和Spring Cloud微服务架构对比
微服务架构是互联网很热门的话题,是互联网技术发展的必然结果。它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。
虽然微服务架 ...
DateUtil工具类
- 博客分类:
- J2SE
/*
* Copyright (C), 2002-2018, song
* FileName: DateUtil.java
* Author: feng
* Date: 2018-06-25 下午16:00:00
* Description: 日期工具类
* History: //修改记录
* <author> <time> <version> <desc>
* 修改人姓名 修改时间 版本号 描述
...
/*
* Copyright (C), 2002-2018, song
* FileName: PersonalIncomeTaxUtil.java
* Author: feng
* Date: 2018年6月19日 下午2:01:18
* Description: //模块目的、功能描述
* History: //修改记录
* <author> <time> <version> <desc>
* 修改人姓名 修改时间 ...
db2 常见错误以及解决方案[ErrorCode SQLState]
sqlcode sqlstate 说明
格式说明:ErrorCode:-302 SQLState:22001
-------------------------------------------
000 00000 SQL语句成功完成
01xxx SQL语句成功完成,但是有警告
+012 01545 未限定的列名被解释为一个有相互联系的引用
+098 01568 动态SQL语句用分号结束
+100 02000 没有找到满足SQL语句的行
+110 01561 用DATA CAPTURE定义的表的 ...