自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(111)
  • 收藏
  • 关注

转载 商城秒杀活动备注

商城的主交易流程一般如下:1.配置商品信息,2.查询商品 ,3.创建订单,4下单后扣减库存,5,更新订单,6付款,,7卖家发货,而商城售卖活动中一般都会采用秒杀等方案。所以解决秒杀等性能实现上主要采用redis功能,以减少DB瞬间的访问压力。步骤大致如下:一,商品添加到redis,读取商品详细信息时从redis读,。1.用户点击抢购时读redis,减少redis中的库存数量,当库存数...

2019-07-25 13:59:05 1802

转载 MySQL关于分库分表及其平滑扩容方案

众所周知,数据库很容易成为应用系统的瓶颈。单机数据库的资源和处理能力有限,在高并发的分布式系统中,可采用分库分表突破单机局限。本文总结了分库分表的相关概念、全局ID的生成策略、分片策略、平滑扩容方案、以及流行的方案。1 分库分表概述在业务量不大时,单库单表即可支撑。当数据量过大存储不下、或者并发量过大负荷不起时,就要考虑分库分表。1.1 分库分表相关术语读写分离: 不同的数据库,同步相同...

2019-07-16 14:52:11 2111

转载 ThreadLocal详解

ThreadLocal翻译成中文比较准确的叫法应该是:线程局部变量。  这个玩意有什么用处,或者说为什么要有这么一个东东?先解释一下,在并发编程的时候,成员变量如果不做任何处理其实是线程不安全的,各个线程都在操作同一个变量,显然是不行的,并且我们也知道volatile这个关键字也是不能保证线程安全的。那么在有一种情况之下,我们需要满足这样一个条件:变量是同一个,但是每个线程都使用同一个初始值,...

2019-07-12 15:56:56 260

原创 Filter中获取请求体body后再次读取的问题

工作需要,要将请求和响应做一些处理,写一个filter拦截请求,拦截request中body内容后,字符流关闭,controller取到的请求体内容为空。从Request中获取输入流,InputStream只能被读取一次。解决方案:给request添加一个包装类BodyWrapper,继承HttpServletRequestWrapper,先从request中取输入流,读取流中的数据,然后...

2019-06-19 16:33:54 3819 2

原创 springcloud gateway 获取post请求体Json分段导致不全的解决方案

开发版本springboot 2.0.8.RELEASE + springcloud Finchley.SR2 + spring cloud gateway前端客户端采用post发送请求,content_type: application/json,spring cloud gateway需要从request的中取出body进行网关的鉴权处理,然后把处理之后的数据重新封装到body中转发...

2019-06-13 15:53:46 3671 2

原创 springcloud gateway 业务系统返回的响应报文内容分段传输导致不全的解决方案

1.我们在实际开发中由网关路由到业务系统处理后返回响应报文。对于返回小内容响应报文通过super.writeWith(fluxBody.map(dataBuffer -> {}))是没有问题的,但有时业务系统需要返回过大的响应报文的时候就有问题了,fluxBody返回体会存在分段传输,从而导致返回的json报文只有一半,前端无法解析而导致错误。解决方案如下:既然返回内容过大存在分段传...

2019-06-10 14:53:09 8374 11

转载 一次生产的 JVM 优化案例

背景生产环境有二台阿里云服务器,均为同一时期购买的,CPU、内存、硬盘等配置相同。具体配置如下:节点 CPU 内存 硬盘 其它 A 2CPU 4G 普通云盘 Centos6.4 64位+JDK1.8.0_121 B 2CPU 4G 普通云盘 Centos6.4 64位+JDK1.8.0_121 由于这二服务...

2019-03-21 16:06:02 233

转载 Minor GC、Major GC和Full GC之间的区别

文章要求读者熟悉 JVM 内置的通用垃圾回收原则。堆内存划分为 Eden、Survivor 和 Tenured/Old 空间,代假设和其他不同的 GC 算法超出了本文讨论的范围。Minor GC从年轻代空间(包括 Eden 和 Survivor 区域)回收内存被称为 Minor GC。这一定义既清晰又易于理解。但是,当发生Minor GC事件的时候,有一些有趣的地方需要注意到:1...

2019-03-21 15:56:09 187

原创 springcloud gateway 解决请求接口的响应报文内容不全或者错误的方案

Springcloud默认的返回内容格式为HTML,但我们微服务系统之间的调用格式通常为json格式,对于post请求,有时后响应的报文为JSON的时候就报错,接口测试的时候通常返回如下错误:<Not JSON content>但通过查看html报文时 确实有响应内容,只是内容不全,json体只显示了一部分,存在丢失问题。解决此问题的方式就是修改原始响应内容的参数设置。重新设置he...

2019-02-11 10:31:45 12891 1

原创 springcloud gateway 获取post请求的请求体和返回的响应内容

1. 获取post请求的下游微服务返回的响应内容:import java.nio.charset.Charset;import org.reactivestreams.Publisher;import org.springframework.cloud.gateway.filter.GatewayFilterChain;import org.springframework.cloud.g...

2019-01-18 16:31:56 19978 9

转载 Springcloud gateway 学习(四) filter

 GatewayFilterFactory 简介路由过滤器允许以某种方式修改传入的HTTP请求或传出的HTTP响应。 路径过滤器的范围限定为特定路径。 Spring Cloud Gateway包含许多内置的GatewayFilter工厂。网关过滤器工厂接口有多个实现类,在每个 GatewayFilterFactory 实现类的 apply( T config) 方法里,都声明了一个实现...

2019-01-18 14:45:34 3525

转载 Springcloud gateway 学习(三) filter

转载自https://www.fangzhipeng.com  filter的作用和生命周期由filter工作流程点,可以知道filter有着非常重要的作用,在“pre”类型的过滤器可以做参数校验、权限校验、流量监控、日志输出、协议转换等,在“post”类型的过滤器中可以做响应内容、响应头的修改,日志的输出,流量监控等。 生命周期与zuul不同的是,filter除了分...

2019-01-18 14:38:03 739

转载 Springcloud gateway 学习(二)

路由谓词工厂 Spring Cloud Gateway 创建 Route 对象时, 使用 RoutePredicateFactory 创建 Predicate 对象,Predicate 对象可以赋值给 Route。 Spring Cloud Gateway 包含许多内置的Route Predicate Factories。所有这些谓词都匹配HTTP请求的不同属性。多种谓词工厂可以组合,并通过逻...

2019-01-18 14:33:34 2023

转载 Springcloud gateway 学习(一)

1. Spring Cloud Gateway 特性基于 Java 8 编码; 基于Spring Framework 5,Project Reactor和Spring Boot 2.0构建 支持动态路由,能够匹配任何请求属性上的路由。 支持 内置 到 Spring Handler 映射 中的 路 由 匹配; 支持 基于 HTTP 请求 的 路 由 匹配( Path、 Method、 H...

2019-01-18 14:24:24 1510

原创 SpringCloud Zuul 由Edgware升级到最新版本Finchley改动点

Spring Boot 2.1.0 已经发布,现在 Spring Cloud 格林威治版本也发布了,现在为项目网关zuul做一次整体框架升级到最新稳定版 基于Spring Boot 2.0.x 的 Finchley 版本。升级前 => 升级后Spring Boot 1.5.14 => Spring Boot 2.0.7Spring Cloud Edgware SR4 =&g...

2019-01-17 09:49:42 2548

转载 用Redis构建分布式锁

用Redis构建分布式锁在不同进程需要互斥地访问共享资源时,分布式锁是一种非常有用的技术手段。 有很多三方库和文章描述如何用Redis实现一个分布式锁管理器,但是这些库实现的方式差别很大,而且很多简单的实现其实只需采用稍微增加一点复杂的设计就可以获得更好的可靠性。 这篇文章的目的就是尝试提出一种官方权威的用Redis实现分布式锁管理器的算法,我们把这个算法称为RedLock,我们相信这个算法会比一

2018-01-19 17:10:56 322

转载 Spring TaskExecutor

1.spring多线程任务的使用spring通过任务执行器TaskExecutor来实现多线程与并发编程。通常使用ThreadPoolTaskExecutor来实现一个基于线程池的TaskExecutor.                                            =mainExecutor.maxSize -->

2018-01-16 14:38:30 1270

转载 刷NFC手机实现公交应用实施方案

产品功能  1、 刷NFC手机乘坐公交、地铁  2、 刷NFC手机在公交一卡通合作商户消费  3、 查询余额  4、 通过手机支付给公交后台账户充值  5、 圈存  SWP SIM卡内置公交应用  将公交应用配置为非接渠道下的缺省应用。  1. 应用选择  SELECT命令用于选择一个应用。主安全域仅处理包含SELECT[by

2017-03-15 13:25:06 4778 1

转载 CPU卡片结构

CPU卡卡片结构非接触CPU卡芯片,产品支持ISO14443-A协议,CPU指令兼容通用8051指令,内置硬件DES协处理器,数据存储器为8Kbyte的EEPROM。该芯片符合中国人民银行PBOC2.0电子存折/电子钱包规范,建设事业CPU卡芯片规范。COS同时支持PBOC2.0标准(电子钱包)及建设部IC卡应用规范,具有较好的安全性。CPU卡生产流程  一张卡从制造出来到销毁

2017-03-13 14:40:57 5248

转载 ZooKeeper Watcher代码实例

ZooKeeper Watcher代码实例主要的相关类和接口Executor 实现了Wathcer接口、Runnable接口、DataMonitorListener接口。通过connectString 监视ZooKeeper的一个ZNode。当ZNode发生事件变化时,通过process(WatchedEvent event)方法调用DataMonitor的proc

2017-01-26 10:06:45 1987

转载 ZK设计原理简述

1. Zk数据模型和层级namespace:    ZK的名称空间非常类似文件系统,名称为一系列的path,例如”/root/app/task”,ZK中每个node都是通过path来标识的。和文件系统不同的是,每个node可以有关联的data,字节点也是如此,这一点可以类比为文件系统允许path为file或者目录。ZK的设计是为了存储“协调”数据:状态信息,配置,位置信息等;所以每个节点的da

2017-01-26 09:41:26 5316

转载 Zookeeper-Watcher机制与异步调用原理

atcher机制:目的是为ZK客户端操作提供一种类似于异步获得数据的操作. 1)在创建Zookeeper实例时,允许接收一个watcher参数,此参数将会赋值给watchMnanger.defaultWatcher,成为当前客户端的默认Watcher.需要注意此watcher和其他watcher不同,此wather主要是响应"与链接状态转换"有关的事件(比如,"建立链接","链接关

2017-01-26 09:11:12 2576

转载 zookeeper系列之异步通知模式-Watcher

Watcher介绍 Watcher是Zookeeper用来实现distribute lock, distribute configure, distribute queue等应用的主要手段。要监控data_tree上的任何节点的变化(节点本身的增加,删除,数据修改,以及孩子的变化)都可以在获取该数据时注册一个Watcher,这有很像Listener模式。一旦该节点数据变化,Follower

2017-01-26 09:00:55 337

转载 Java微服务框架之Undertow

Undertow 是红帽公司(RedHat)的开源产品,是 WildFly8(JBoos) 默认的 Web 服务器。      官网API给出一句话概述Undertow:      Undertow is a flexible performant web server written in java, providing both blocking and non-blockin

2017-01-25 14:13:11 36396 1

转载 高性能非阻塞Web 服务器Undertow

概述WildFly 8 包含了一个全新的Web服务器(Undertow),WildFly 8 默认的Web服务器为Undertow。一句话概括什么是Undertow - 高性能非阻塞 Web 服务器。Undertow 主要有以下几个特点: 轻量化 - Undertow 是一个Web 服务器,但它不像传统的Web 服务器有容器的概念,它由两个核心jar包组成,使用API加载一

2017-01-25 14:05:27 6350

转载 Undertow服务器基础分析 - Undertow

Undertow是一个Web服务器,那么它就需要具备的现代Web服务器的基本特性,比如Servlet,JSP,文件服务器,代理服务器,安全认证等。undertow目前已经实现了绝大多数功能,并且因为wildfly通过了JavaEE7 TCK认证,所以可以说Undertow是一个通过Servlet 3.1认证的Web服务器和容器。这篇文章只分析Undertow的主干流程上的主要功能,即underto

2017-01-25 14:04:00 9234

原创 Tomcat并发数配置

配合做压力测试的时候,有时候提高并发数的时候 莫名的出现服务器卡顿现象,服务器拒绝连接,前端出现502 Bad Gateway等错误信息,而后端服务器日志确没有错误提示。可能原因是tomcat高并发下连接数设置问题,或者没有设置,采用默认的。解决方法增加tomcat连接数 在tomcat配置文件server.xml中的配置中,和连接数相关的参数有: minProcessor

2016-12-29 15:30:30 11584 2

原创 APDU常用指令

APDU= ApplicationProtocol data unit, 是智能卡与智能卡读卡器之间传送的信息单元, (给智能卡发送的命令)指令(ISO 7816-4规范有定义)    CLA   INS  P1  P2 Lc  Data  Le其中CLA为指令类别;INS为指令码;P1、P2为参数;Lc为Data的长度;Le为希望响应时回答的数据字节数,0表最大可能长度。00A40400

2016-12-01 11:35:25 46692 4

转载 APDU命令

APDU= Application Protocol data unit, 是智能卡与智能卡读卡器之间传送的信息单元CLA    INS  P1  P2  Lc  Data  Le其中CLA为指令类别;INS为指令码;P1、P2为参数;Lc为Data的长度;Le为希望响应时回答的数据字节数,0表最大可能长度。一 命令分类:COS命令由具体应用分为4种命令报文结构如下:①

2016-11-28 15:58:38 3836

转载 CPU卡发卡总结

概述:CPU卡包含一个微处理器,其功能相当于一台微型计算机。CPU卡内集成电路中包括中央处理器(CPU)、只读存储器(ROM)、随机存储器(RAM)、电可擦除可编程只读存储器(EEPROM)等。 使用FMCOS,由传输管理、文件管理、安全体系、命令解释四个功能模块组成。传输管理:监督卡与终端之间的通信,保证数据正确地传输。文件管理:区别于其他卡按区块存储数据的方式。CPU卡

2016-11-28 15:48:35 7672

转载 常用APDU指令错误码

状态码 性质 错误解释9000 正常 成功执行6200 警告 信息未提供6281 警告 回送数据可能出错6282 警告 文件长度小于Le6283 警告 选中的文件无效6284 警告 FCI格式与P2指定的不符6300 警告 鉴别失败63Cx 警告 校验失败(x-允许重试次数)6400 出错 状态标志位没有变6581 出错 内存失败6700 出错 长度错误

2016-11-28 15:37:21 8338

转载 linux的sh脚本编程

在Linux系统中,虽然有各种各样的图形化接口工具,但是sell仍然是一个非常灵活的工具。Shell不仅仅是命令的收集,而且是一门非常棒的编程语言。您可以通过使用shell使大量的任务自动化,shell特别擅长系统管理任务,尤其适合那些易用性、可维护性和便携性比效率更重要的任务。   下面,让我们一起来看看shell是如何工作的:   建立一个脚本   Linux中有好多中

2016-10-13 11:29:15 468

转载 F5负载均衡原理

一、 负载均衡技术                                                                                                                                                    负载均衡技术在现有网络结构之上提供了一种廉价、有效、透明的方法,来

2016-10-13 09:57:18 4970

转载 互联网下hibernate和mybatis性能差异讨论

其中在关联字段查询中,hibernate在两种情况下,性能差异比较大。 都是在懒加载的情况下,如果推特对应的用户比较多时,则性能会比仅映射100个用户的情况要差很多。换而言之,如果用户数量少(关联的总用户数)时,也就是会重复查询同一个用户的情况下,则不需要对用户表做太多的查询。其中通过查询文档后,证明使用懒加载时,对象会以id为key做缓存,也就是查询了100个用户后,后续的用户信

2016-10-09 10:29:33 2778

转载 http,socket,tcp/ip 网络传输与通讯知识总结

什么是TCP和UDP,以及二者区别是什么? TCP的全称为传输控制协议。这种协议可以提供面向连接的、可靠的、点到点的通信。 UDP全称为用户数据报协议,它可以提供非连接的不可靠的点到多点的通信。 使用TCP还是UDP,那要看你的程序注重哪一个方面,可靠(tcp)还是快速(udp)。 1.TCP是面向链接的,虽然说网络的不安全不稳定特性决定了多少次握手都不能保证连接的可靠性,但T

2016-09-30 10:49:05 494

转载 HCE技术在城市一卡通中的应用探讨

城市通卡的数字化建设是未来通卡行业,乃至城市信息化建设的未来目标。HCE技术的出现,将会影响城市通卡行业的技术发展方向。本文将在“互联互通”、“互联网+”、“互联网思维”等国家级政策、思想指导下,对HCE技术在城市通卡领域的应用进行探讨。  一、简述城市通卡应用现状  随着城市信息化建设和应用的不断推进,以IC卡为存储和身份识别介质的城市智能卡系统在社会公共服务和金融服务领域得到了

2016-09-28 13:57:25 2963

转载 HCE基础知识

HCE是什么 “HOST card emulation” 简称HCE, 这个述语用来描述一种软件架构。这种架构为NFC设备与远程主机之间的通讯创造了一个安全的支付环境。利用HCE技术,用户的手机就可以替代他们的支付卡,交通卡,门禁以及通行证这些传统的卡片。安卓手机内置的NFC 控制器使得它可以与POS终端交互完成一笔交易,这个过程和传统的非接卡与POS交易是一样的,只是把你

2016-09-28 13:40:45 5034

转载 关于公交系统中运用NFC-TSM技术进行移动支付的解决案例浅析

NFC是Near Field Communication缩写,即近距离无线通讯技术。通俗来说,就是一种近场通信方式。TSM是Trusted Service Manager的简称,字面意思就是可信任服务管理。TSM平台兼具公信力和开放性,可提供应用发行管理和安全模块管理等功能。TSM平台是NFC移动支付服务的核心。依托TSM为各方提供的基于安全载体的智能卡应用发行和管理服务,使用户可

2016-09-27 17:57:38 3282 1

转载 TSM是NFC应用发展的关键环节

伴随着更多的移动巨头开始发布NFC产品,NFC终于走向成熟,开始落地。目前还不知道苹果和谷歌会我们带来何种冲击性的创新,但如果按照传统的NFC技术和应用架构,NFC如果要快速发展,还需要发展TSM对系统的支持。什么是TSMTSM是指Trusted Service Manager,是NFC应用中的关键环节。从用户角度简单的说:第一,用户若申请在手机内使用XX公司的银行

2016-09-27 17:51:28 1363

转载 TSM概念及架构

NFC作为一种近距离的无线通信技术,提供了一种更直接、更安全的现场交互解决方案。它能够允许电子设备之间进行非接触式点对点数据传输,实现数据交换、访问内容与服务。有了它,手机不再只是打电话、发短信以及上网的工具,还可以装载各种电子卡片应用(如银行卡、公交卡、会员卡、校园/企业一卡通等),用来购物支付、乘坐公交地铁、刷门禁考勤……而这一切的实现,都离不开TSM平台的管理。 那么,什么是TSM?

2016-09-27 17:45:53 10444 1

空空如也

空空如也

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

TA关注的人

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