自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 基于大中台架构的电商业务中台最佳实践之三:交易中台技术要点设计之高性能

接着上篇继续讲,接下来主要介绍交易总体设计的技术要点设计,对于电商中台来说,交易系统是核心中的核心,一开始就需要围绕高性能,高可用,和高扩展三个方面来重点设计。本篇主要介绍高性能设计。 对于高性能的定义,通常可以理解为系统/服务接口响应时间低(rt)且并发量(qps,tps)高. 提高性能的主要...

2020-05-11 00:11:04 183 0

转载 并发编程之Disruptor框架介绍和高阶运用

1.Disruptor是什么 1.1技术背景 LMAX是在英国注册并受到FCA监管(监管号码为509778)的外汇黄金交易所, LMAX架构是LMAX内部研发并应用到交易系统的一种技术。它之所以引起人们的关注,是因为它是一个非常高性能系统,这个系统是建立在JVM平台上,核心是一个业务逻辑处理器,官...

2020-04-12 00:58:05 79 0

转载 手机通过Charles用线上域名访问PC本地项目

最近调试微信公众号,由于微信授权需要线上正式环境的域名,笔者想把手机公众号网页重定向到PC本地localhost调试。 该方法通过Charles代理转发,适用所有需要域名重定向的场景,例如手机通过在线域名查看pc本地项目,微信开发者工具调试公众号等。 先开启本地服务,如果是vue项目,直接运行...

2020-04-07 02:20:52 103 0

转载 Charles抓包(iOS的http/https请求)

Charles安装 HTTP抓包 HTTPS抓包 1. Charles安装 官网下载安装Charles:https://www.charlesproxy.com/download/ 2. HTTP抓包 (1)查看电脑IP地址 (2)设置手机HTTP代理 手机连上电脑,点击“设...

2020-04-07 01:55:39 216 0

转载 认识Spring 的注解 (三)之 @AliasFor 使用规则

一、该标签存在的意义 顾名思义 @AliasFor 表示别名,它可以注解到自定义注解的两个属性上,表示这两个互为别名,也就是说这两个属性其实同一个含义。该标签存在的含义,从网上查发现有个点, 若 自定义注解有一个属性,且该属性命名上为了体现其含义,所以有些复杂,这样调用方必须每次使用...

2020-02-26 01:50:13 82 0

转载 Servlet3之NIO线程池隔离

线程隔离主要是针对业务中不同业务场景,按照权重区分使用不同的线程池,以达到某一个业务出现问题,不会将故障扩散到其他的业务线程池,从而达到保证主要业务高可用。 本案例主要讲解基于servlet3的线程隔离术。 首先我们回忆一下在tomcat6,tomcat6只支持BIO,它的处理流程如下: 1).t...

2019-12-30 01:49:04 127 0

转载 Java中文分词hanlp使用

HanLP介绍:http://hanlp.linrunsoft.com/ github地址:https://github.com/hankcs/HanLP 说明:使用hanlp实现分词、智能推荐、关键字提取、摘要等,更多功能参考官网 项目结构 该项目中,.jar和data文件夹和.prop...

2019-12-29 15:38:36 53 0

转载 zookeeper分布式锁

问题 (1)zookeeper如何实现分布式锁? (2)zookeeper分布式锁有哪些优点? (3)zookeeper分布式锁有哪些缺点? 简介 zooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它可以为分布式应用提供一致性服务,它是Hadoop和Hbase的重要组件...

2019-12-14 23:18:29 40 0

原创 日志体系与SringBoot的日志应用

以后开发的时候,日志记录方法的调用,不应该来直接调用日志的实现类,而是调用日志抽象层里面的方法; 日志实现 意思为简单日志门面,它是把不同的日志系统的实现进行了具体的抽象化,只提供了统一的日志使用接口,使用时只需要按照其提供的接口方法进行调用即可,由于它只是一个接口,并不是一个具体的可...

2019-12-08 00:47:40 50 0

转载 四层、七层负载均衡的区别

一、什么是负载均衡(Load balancing) 在网站创立初期,我们一般都使用单台机器对台提供集中式服务,但是随着业务量越来越大,无论是性能上还是稳定性上都有了更大的挑战。这时候我们就会想到通过扩容的方式来提供更好的服务。 我们一般会把多台机器组成一个集群对外提供服务。然而,我们的网站对外...

2019-11-24 02:31:55 93 1

转载 使用httpclient必须知道的参数设置及代码写法、存在的风险

结论: 如果使用httpclient 3.1并发量比较大的项目,最好升级到httpclient4.2.3上,保证并发量大时能抗住。httpclient 4.3.3,目前还有一些bug;还是用4.2.x稳定版本吧。 以库存项目为例: httpclient一天并发量在1500w左右,峰值一...

2019-11-20 18:35:09 43 0

原创 获取Dao上的自定义注解(了解Mybatis与Spring整合原理)

Dao类 @Repository @Tag("user_tag") public interface UserDao { void save(User u) } 需要是:将dao放入到一个本地Map中,key是Tag注解的内容,值是UserDao的Bean对象,在上层调...

2019-11-12 23:13:26 67 0

转载 什么是列式存储数据库

列存储不同于传统的关系型数据库,其数据在表中是按行存储的,列方式所带来的重要好处之一就是,由于查询中的选择规则是通过列来定义的,因此整个数据库是自动索引化的。按列存储每个字段的数据聚集存储,在查询只需要少数几个字段的时候,能大大减少读取的数据量,一个字段的数据聚集存储,那就更容易为这种聚集存储设计...

2019-11-11 11:57:27 52 0

原创 灰度划分方法

将一堆用户按照百分比划分方式: x &(-1)=x% 比如将用户分1024个桶就是 uid & (-1) 相当于 uid%1024

2019-11-04 22:17:19 94 0

转载 互联网架构的演变过程

简介 web1.0时代 web2.0时代 互联网时代 互联网+ --》智慧城市。 2012年提出。 云计算+大数据时代 背景 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。 ...

2019-11-03 01:17:44 74 0

转载 CPU密集型、IO密集型与线程关系

CPU密集型(CPU-bound) CPU密集型也叫计算密集型,指的是系统的硬盘、内存性能相对CPU要好很多,此时,系统运作大部分的状况是CPU Loading 100%,CPU要读/写I/O(硬盘/内存),I/O在很短的时间就可以完成,而CPU还有许多运算要处理,CPU Loading很高。 ...

2019-11-03 01:16:10 53 0

转载 OmniGraffle-绘制流程图

一、介绍 OmniGraffle 都类似于 Microsoft Visio。OmniGraffle 可以利用 Visio 的 XML 导出函数以导入/导出 Visio 的 XML 文件,OmniGraffle 也可以直接打开 Visio 默认的二进制 .vsd 文件。OmniGraffle 支持输...

2019-10-12 18:34:06 524 0

转载 利用状态机处理订单状态流转

首先简述一个场景,订单的状态流转。一个订单会有很多种状态:临时单、已下单、待支付、已支付、已完成、退款中等等。每一种状态都和其扭转前的状态、在扭转前状态所执行的操作有关。 一 引子 举例一个过程:用户将商品加入购物车,在后台生成了一个所谓的“临时单”,这个订单实际上还没有正式生成,因为用户仍然...

2019-10-11 18:39:20 936 0

转载 idea中git远程版本回退

工作中遇到git远程仓库需要回退到历史版本的问题,根据网上的搜索结果结合自己的实践,整理了如下步骤: 1. 在“Show History”中找到当前版本(取名:newVersion)和想要回退到的版本(oldVersion) 2. 选择newVersion和oldVersion点击“Copy...

2019-09-01 23:48:03 149 0

转载 EL表达式各种函数使用大全

引入<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> 函数名 函数说明 使用举例 fn:contains 判断字符串是否包含另外一...

2019-08-22 22:31:41 120 0

转载 Spring EL表达式详细讲解及使用实例

一、简介 Spring3中引入了Spring表达式语言—SpringEL,SpEL是一种强大,简洁的装配Bean的方式,他可以通过运行期间执行的表达式将值装配到我们的属性或构造函数当中,更可以调用JDK中提供的静态常量,获取外部Properties文件中的的配置 二、用法 1、文本表达式 ...

2019-08-22 22:30:59 661 0

转载 Java异常体系和异常处理机制

异常简介 在程序运行过程中出现错误,导致程序出现非预期场景。异常处理可以保证出现错误后,控制接下来的程序流程,是选择定位错误信息,还是抛出异常或捕获异常、还是避免程序非正常退出,都取决于我们。 Java的异常体系结构(来自网络) Java把异常作为一种类,当做对象来处理。所有异常类的基...

2019-08-15 15:55:08 56 0

原创 EL判断语句的表达式

总结一下EL表达式的逻辑判断 1:eq相等 ne、neq不相等; 2:gt大于, lt小于; 3:ge大于等于 le 小于等于 4:not非mod求模 is [not] div by是否能被某数整除 is [not] even是否为偶数 is [not] even by $b...

2019-08-13 19:17:27 330 0

转载 Navicat Premium Mac 12 破解

https://blog.csdn.net/xhd731568849/article/details/79751188

2019-08-12 01:42:01 267 0

转载 浅析数据一致性

什么是数据一致性?   在数据有多分副本的情况下,如果网络、服务器或者软件出现故障,会导致部分副本写入成功,部分副本写入失败。这就造成各个副本之间的数据不一致,数据内容冲突。 实践中,导致数据不一致的情况有很多种,表现样式也多种多样,比如数据更新返回操作失败,事实上数据在存储服务器已经更新成功。 ...

2019-08-11 20:15:33 89 0

转载 ES写一致性原理以及quorum机制深入剖析

(1)consistency,one(primary shard),all(all shard),quorum(default) 我们在发送任何一个增删改操作的时候,比如说put /index/type/id,都可以带上一个consistency参数,指明我们想要的写一致性是什么? put /...

2019-08-11 20:08:38 88 0

转载 数据一致性设计理念

在分布式存储领域,为了增加系统的高可用性,经常将同一份数据存储多个副本,常见的做法的三备份。但是此做法也引来了数据一致性的问题。为了解决数据一致性的问题,业界常用的有CAP、ACID、BASE等理论模型。 CAP原则 CAP是对强一致性(Consistency)、可用性(Availability...

2019-08-11 19:48:12 68 0

转载 CAP原理这样理解最简单

前言 众所周知,CAP理论是架构师在设计分布式系统过程中,处理数据一致性问题时必须考虑的基石级理论(圣经级的,^V^)。大意是说,在分布式网络分区环境中,数据的一致性、可用性和分区容忍性三者之间,至多只能保证两者,无法三者同时保证。对于CAP理论,个人刚接触时感觉很容易理解,不就是讲的一个在分布式...

2019-08-11 18:55:06 300 0

转载 单机结构/集群结构/分布式结构

下面就正经解释下三种结构的区别吧~ 单机结构 我想大家最最最熟悉的就是单机结构,一个系统业务量很小的时候所有的代码都放在一个项目中就好了,然后这个项目部署在一台服务器上就好了。整个项目所有的服务都由这台服务器提供。这就是单机结构。 那么,单机结构有啥缺点呢?我想缺点是显而易见的,单机的处理能...

2019-08-11 18:52:06 150 0

转载 MongoDB 分片键

一. 概述 分片键确定集合文档在集群分片中的分布。分片键可以是集合文档中的单索引或者是混合索引。 MongoDB 使用分片键值的范围在集合中分区数据。每个范围定义一个分片键值不重叠并且关联一个块。 MongoDB 尝试在集群中的分片上均匀地分布块。分片键直接关系到块分布的有效性。 重要...

2019-08-11 00:44:19 454 0

转载 MongoDB分片(sharding)/分区(partitioning)介绍

分片简介 分片是指将数据拆分,将其分散存放在不同的机器上的过程。有时也用分区(partitioning)来表示这个概念。 几乎所有数据库软件都能进行手动分片(manual sharding)。应用需要维护与若干不同数据库服务器的连接,每个连接还是完全独立的。应用程序管理不同服务器上不同数据...

2019-08-11 00:25:28 369 0

转载 IntelliJIdea配置文件位置(win,mac),配置文件同步(Git)

window 配置文件位置 C:\Users\XXX\.IntelliJIdeaxxx\config\fileTemplates 是自定义的文件模版templates 是自定义的代码模版plugins是插件文件夹 同步的时候同步这几个就够了。keymaps是自定义的快捷键,如果有很多自定义快捷键...

2019-08-06 15:15:13 2598 0

转载 MongoDB ObjectId详解及使用

MongoDB中我们经常会接触到一个自动生成的字段:”_id”,类型为ObjectId。本文会详解ObjectId的构成和使用。 ObjectId构成 之前我们使用MySQL等关系型数据库时,主键都是设置成自增的。但在分布式环境下,这种方法就不可行了,会产生冲突。为此,MongoDB采用了一个称...

2019-07-30 14:29:07 89 0

转载 快速了解RESTEasy

什么是 RESTEasy RESTEasy 是 JBoss 的一个开源项目,提供各种框架帮助你构建 RESTful Web Services 和 RESTful Java 应用程序。它是 JAX-RS 规范的一个完整实现并通过 JCP 认证。作为一个 JBOSS 的项目,它当然能和 JBOSS ...

2019-07-29 18:02:08 47 0

转载 多终端同步方案

一、多终端同步的含义 1指用户在多个终端切换时可获得一致性体验,不丢失上下文, 2 如果用户多个终端同时在线要能做到实时同步。 案例:apple的Handoff;qq消息多终端自动同步;有道云的同步等 二、系统目标 1实时性,服务端数据变更,在<1s 时间内推送至各个端。 2实现...

2019-07-24 16:57:40 238 0

转载 @javax.ws.rs Webservice注解

https://blog.csdn.net/wabiaozia/article/details/70487306

2019-07-24 16:42:19 63 0

转载 用netstat -ano查看本机端口详解

netstat -ano回车.可以查看本机开放的全部端口.其中Port是端口类型,其中Local Address代表本机IP地址和打开的端口号,Foreign Address是远程计算机IP地址和端口号,State表明当前的连接状态,PID显示的是对应进程 的PID.在任务管理器 的进程中可以根据...

2019-07-18 18:50:42 289 0

原创 JAVA8 中的flatmap

构建对象 class User{ private String addr } 将多个User集合中的addr按照;分割合并成一个字符串list List<User> uList = Lists.newArrayList(); User u1 = ne...

2019-07-16 20:16:41 4400 0

转载 上传图片保存base64 优缺点

使用base64:URL的优缺点 个人觉得base64:URL传输图片文件的好处在于: 1.减少了HTTP请求 2.某些文件可以避免跨域的问题 3.没有图片更新要重新上传,还要清理缓存的问题 不足在于: 1.浏览器支持 使用base64编码图片作为背景图片的这种技术IE6/IE7浏览...

2019-06-30 00:48:09 4036 0

转载 nginx 之 proxy_pass详解

在nginx中配置proxy_pass代理转发时,如果在proxy_pass后面的url加/,表示绝对根路径;如果没有/,表示相对路径,把匹配的路径部分也给代理走。 假设下面四种情况分别用 http://192.168.1.1/proxy/test.html 进行访问。 第一种: locat...

2019-06-29 14:29:31 2804 1

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