`
文章列表
背景简介 对于大型应用后台系统来说,稳定性至关重要。目前越来越多的大型应用系统采用微服务架构,更加需要关注稳定性的技术能力建设。稳定性是服务系统基础能力的体现。 基础知识 在介绍稳定性技术策略主题之前,我们首先梳理一些基础概念和知识。 针对我们业务后台系统建设,任何大型业务后台系统绝对不是一蹴而就。它是伴随着业务不同阶段,不断进行演进的过程。如果经历过从 0 到 1 建设一个业务后台系统的同学,都会有类似的体会。 启动阶段
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
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上对阿里程立博士的一篇采访。经过程博士的这一次传道之后 ...
一.单点登录概念          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缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面。但同时,它也带来了一些问题。其中,最要害的问题,就是数据的一致性问题,从严格意义上讲,这个问题无解。如果对数据的一致性要求很高,那么就不能使用缓存。        另外的一些典型问题就是,缓存穿透、缓存雪崩和缓存击穿。目前,业界也都有比较流行的解决方案。本篇文章,并不是要更加完美的解决这三个问题,也不是要颠覆业界流行的解决方案。而是,从实际代码操作,来演示这三个问题现象。之所以要这么做,是因为,仅仅看这些问题的学术解释,脑袋里很难有一个很形象的概念,有了实际的代码演示,可以加深对这些问题的理解和认识。 ...
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是键值对的数据库,常用的五种数据类型为字符串类型(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异常码

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定义的表的 ...
Global site tag (gtag.js) - Google Analytics